diff --git a/Plugin/BlenderBridge/.gitignore b/Plugin/BlenderBridge/.gitignore new file mode 100644 index 0000000..a6ebc1e --- /dev/null +++ b/Plugin/BlenderBridge/.gitignore @@ -0,0 +1,30 @@ +# 本地配置,含端口与路径等机器相关设置 +config.env + +# 模型接入配置。这是使用者的私有选择,不该进版本库。 +# 模板见 gmr/model_config.example.json +gmr/model_config.json + +# GMR 运行时数据:checkpoint、训练日志、任务状态、数据集 +# 首次调用命令时自动创建,不必入库 +gmr_data/ + +# Add-on 打包产物。用 build_addon.py 现场生成即可。 +*.zip + +# Python 字节码 +__pycache__/ +*.pyc +*.pyo +*.pyd + +# Node +node_modules/ + +# 编辑器与系统 +.DS_Store +Thumbs.db +*.swp +*.swo +.idea/ +.vscode/ \ No newline at end of file diff --git a/Plugin/BlenderBridge/BlenderBridge.js b/Plugin/BlenderBridge/BlenderBridge.js new file mode 100644 index 0000000..b14fb61 --- /dev/null +++ b/Plugin/BlenderBridge/BlenderBridge.js @@ -0,0 +1,427 @@ +#!/usr/bin/env node +'use strict'; +/* + * BlenderBridge - VCP 插件 + * 打通 VCP <-> Blender 官方 MCP Server <-> Blender Add-on 的三端桥接。 + * + * 架构(双跳): + * VCP (stdio) <-> BlenderBridge <-> blender-mcp (Streamable HTTP :6090) + * <-> Blender Add-on (TCP :9876, null 分帧 JSON) + * + * 设计参照: + * - GodotBridge 的渐进式发现(Blender MCP 有 40+ 工具,不可一次性塞给模型)。 + * - PenpotBridge 验证过的 MCP over Streamable HTTP 内核(SSE/JSON 双兼容 + session)。 + * + * 依赖: 仅 Node.js 内置模块 (http/https)。 + */ +const http = require('http'); +const https = require('https'); +const { URL } = require('url'); + +// 换行/回车常量。不写字面转义序列,避免本文件在经过会处理转义的写入工具时被破坏。 +const NL = String.fromCharCode(10); +const CR = String.fromCharCode(13); + +// ---------- GMR ex 模块(可选)---------- +// 生成式动作绑定的模型仓库/训练/推理能力放在 gmr/ 子目录,与桥接本体解耦。 +// 删除整个 gmr/ 目录不影响下方 6 个原生子命令,桥接照常工作。 +// 快回路(Blender 拖拽推理)不经过本插件,由 Add-on 直连 sidecar:6091—— +// 上游单并发(BLENDER_BUSY) + 双跳延迟,交互推理走这里必然请求堆积锁死。 +let GMR = null; +let GMR_LOAD_ERROR = null; +try { + GMR = require('./gmr'); +} catch (e) { + // MODULE_NOT_FOUND 属正常(模块未安装);其它错误留痕便于诊断 + if (e && e.code !== 'MODULE_NOT_FOUND') GMR_LOAD_ERROR = e.message; +} + +// ---------- 配置读取 ---------- +const CONFIG = { + url: process.env.BLENDER_MCP_URL || 'http://127.0.0.1:6090/', + timeout: parseInt(process.env.REQUEST_TIMEOUT_MS || '60000', 10), + protocolVersion: process.env.MCP_PROTOCOL_VERSION || '2025-06-18', + debug: String(process.env.DebugMode) === 'true', +}; + +// ---------- MCP over Streamable HTTP 客户端 ---------- +let _requestId = 0; +function nextId() { return ++_requestId; } +let _sessionId = null; + +function postJsonRpc(method, params) { + return new Promise((resolve, reject) => { + let target; + try { + target = new URL(CONFIG.url); + } catch (e) { + return reject(new Error(`无效的 BLENDER_MCP_URL: ${CONFIG.url}`)); + } + const payload = JSON.stringify({ + jsonrpc: '2.0', + id: nextId(), + method, + params: params || {}, + }); + const headers = { + 'Content-Type': 'application/json', + 'Accept': 'application/json, text/event-stream', + 'Content-Length': Buffer.byteLength(payload), + }; + if (_sessionId) headers['Mcp-Session-Id'] = _sessionId; + const isHttps = target.protocol === 'https:'; + const lib = isHttps ? https : http; + const options = { + hostname: target.hostname, + port: target.port || (isHttps ? 443 : 80), + path: target.pathname + target.search, + method: 'POST', + headers, + timeout: CONFIG.timeout, + }; + const req = lib.request(options, (res) => { + const sid = res.headers['mcp-session-id']; + if (sid) _sessionId = sid; + let raw = ''; + res.setEncoding('utf8'); + res.on('data', (chunk) => { raw += chunk; }); + res.on('end', () => { + if (res.statusCode >= 400) { + return reject(new Error(`HTTP ${res.statusCode}: ${raw.slice(0, 500)}`)); + } + const parsed = parseMcpResponse(raw, res.headers['content-type'] || ''); + if (parsed == null) { + return reject(new Error(`无法解析 MCP 响应: ${raw.slice(0, 500)}`)); + } + if (parsed.error) { + return reject(new Error(`MCP 错误 ${parsed.error.code}: ${parsed.error.message}`)); + } + resolve(parsed.result); + }); + }); + req.on('timeout', () => { req.destroy(new Error(`请求超时 (${CONFIG.timeout}ms)`)); }); + req.on('error', (err) => { + if (err.code === 'ECONNREFUSED') { + return reject(new Error(`无法连接 blender-mcp (${CONFIG.url})。请确认:1) blender-mcp 已启动 (uv run blender-mcp --transport http --port 6090);2) Blender 正在运行且 MCP 插件已启用、面板显示 Server is running;3) 系统偏好已开启 Allow Online Access。`)); + } + reject(err); + }); + req.write(payload); + req.end(); + }); +} + +// Streamable HTTP 可能返回 application/json 或 text/event-stream(SSE) +function parseMcpResponse(raw, contentType) { + const text = String(raw || '').trim(); + if (!text) return null; + const looksLikeSse = contentType.includes('text/event-stream') + || text.startsWith('event:') + || text.startsWith('data:') + || text.indexOf(NL + 'data:') >= 0; + if (looksLikeSse) { + // 先剥掉 CR 再按 LF 切分,兼容 CRLF 与 LF 两种行尾 + const lines = text.split(CR).join('').split(NL).filter((l) => l.startsWith('data:')); + for (let i = lines.length - 1; i >= 0; i--) { + const jsonStr = lines[i].slice(5).trim(); + try { + const obj = JSON.parse(jsonStr); + if (obj && (obj.result !== undefined || obj.error !== undefined)) return obj; + } catch (e) { /* 跳过非 JSON 行 */ } + } + return null; + } + try { + return JSON.parse(text); + } catch (e) { + return null; + } +} + +let _initialized = false; +async function ensureInitialized() { + if (_initialized) return; + await postJsonRpc('initialize', { + protocolVersion: CONFIG.protocolVersion, + capabilities: {}, + clientInfo: { name: 'VCP-BlenderBridge', version: '1.1.0' }, + }); + try { + await postJsonRpc('notifications/initialized', {}); + } catch (e) { /* 忽略 */ } + _initialized = true; +} + +async function listTools() { + await ensureInitialized(); + const result = await postJsonRpc('tools/list', {}); + return (result && Array.isArray(result.tools)) ? result.tools : []; +} + +async function callMcpTool(name, args) { + await ensureInitialized(); + return await postJsonRpc('tools/call', { name, arguments: args || {} }); +} + +// ---------- 领域归类(按工具名前缀,不硬编码工具清单)---------- +function classifyDomain(toolName) { + const n = toolName || ''; + if (n.startsWith('get_blendfile_summary')) return 'blendfile'; + if (n.startsWith('geonodes')) return 'geonodes'; + if (n.startsWith('gp_')) return 'greasepencil'; + if (n.startsWith('render')) return 'render'; + if (n.startsWith('get_screenshot')) return 'screenshot'; + if (n.startsWith('jump_to')) return 'navigation'; + if (n.startsWith('object_') || n === 'get_object_detail_summary' || n === 'get_objects_summary') return 'object'; + if (n.includes('material')) return 'material'; + if (n.startsWith('mesh_')) return 'mesh'; + if (n.startsWith('armature') || n.startsWith('action') || n === 'camera_target_track') return 'animation'; + if (n.startsWith('asset') || n.startsWith('blend_library')) return 'asset'; + if (n.includes('api_docs') || n.includes('manual_docs') || n === 'get_python_api_docs') return 'docs'; + if (n === 'get_scene_state') return 'scene'; + if (n.startsWith('execute_blender_code')) return 'exec'; + return 'other'; +} + +// ---------- 结果适配 ---------- +// 图像不在本插件内解码或落盘,而是原样交给 VCP 的多模态通道, +// 由 VCP 统一处理图像文件——这样 Agent 能真正看见截图与渲染结果, +// 且不必在此重复实现一套路径管理与清理策略。 +// +// 上游另有 render_thumbnail_to_path / render_viewport_to_path 两个自带落盘语义的工具, +// 它们直接返回路径而不产生 image 内容项。需要规避大图占用上下文时优先用那两个。 +function adaptResult(toolName, result) { + if (!result) return { tool: toolName, text: '(空响应)' }; + const out = { tool: toolName }; + if (result.isError) out.isError = true; + if (result.structuredContent !== undefined) out.structured = result.structuredContent; + if (Array.isArray(result.content)) { + const texts = []; + const images = []; + for (const item of result.content) { + if (!item || typeof item !== 'object') continue; + if (item.type === 'text') { + texts.push(item.text); + } else if (item.type === 'image') { + const mime = item.mimeType || 'image/png'; + if (item.data) { + images.push({ mimeType: mime, base64: String(item.data) }); + } else { + texts.push(`(上游返回了 ${mime} 图像项,但缺少 data 字段)`); + } + } else { + texts.push(JSON.stringify(item).slice(0, 400)); + } + } + if (texts.length) out.text = texts.join(NL); + if (images.length) out.images = images; + } + if (out.text === undefined && out.images === undefined && out.structured === undefined) out.raw = result; + return out; +} + +// 把含图像的结果转成 VCP 多模态 content 数组。 +// 纯文本结果不走这里,仍按原有的字符串通路返回,避免改变既有行为。 +function toMultimodalContent(adapted) { + const parts = []; + const textLines = []; + if (adapted.tool) textLines.push(`工具: ${adapted.tool}`); + if (adapted.isError) textLines.push('(上游标记为错误)'); + if (adapted.text) textLines.push(adapted.text); + if (adapted.structured !== undefined) { + textLines.push('structured: ' + JSON.stringify(adapted.structured, null, 2)); + } + const imgs = adapted.images || []; + let totalBytes = 0; + for (const im of imgs) totalBytes += im.base64.length; + if (imgs.length) { + textLines.push(`附带 ${imgs.length} 张图像(base64 合计约 ${Math.round(totalBytes / 1024)} KB)。`); + if (totalBytes > 2 * 1024 * 1024) { + textLines.push('提示:本次图像较大。若只需确认构图,改用 render_thumbnail_to_path 或 render_viewport_to_path,它们返回文件路径而非内联图像。'); + } + } + parts.push({ type: 'text', text: textLines.join(NL) }); + for (const im of imgs) { + parts.push({ + type: 'image_url', + image_url: { url: `data:${im.mimeType};base64,${im.base64}` }, + }); + } + return parts; +} + +// ---------- 子命令处理 ---------- +async function handleStatus() { + const tools = await listTools(); + const domains = {}; + for (const t of tools) { + const d = classifyDomain(t.name); + domains[d] = (domains[d] || 0) + 1; + } + return { + connected: true, + endpoint: CONFIG.url, + protocolVersion: CONFIG.protocolVersion, + totalTools: tools.length, + domains, + hint: '渐进式发现: list_domains -> discover_tools -> get_tool_schema -> call_tool。程序化建模用 create_model。', + }; +} + +async function handleListDomains() { + const tools = await listTools(); + const domains = {}; + for (const t of tools) { + const d = classifyDomain(t.name); + domains[d] = (domains[d] || 0) + 1; + } + return { totalTools: tools.length, domains }; +} + +async function handleDiscoverTools(input) { + const domain = (input.domain || '').trim(); + if (!domain) throw new Error('discover_tools 需要参数 domain。先用 list_domains 查看可用领域。'); + const tools = await listTools(); + const matched = tools + .filter((t) => classifyDomain(t.name) === domain) + .map((t) => ({ name: t.name, description: (t.description || '').split(NL)[0].slice(0, 160) })); + if (!matched.length) throw new Error(`领域 "${domain}" 下无工具,或领域名有误。用 list_domains 核对。`); + return { domain, count: matched.length, tools: matched }; +} + +async function handleGetToolSchema(input) { + const tool = (input.tool || '').trim(); + if (!tool) throw new Error('get_tool_schema 需要参数 tool(工具名)。'); + const tools = await listTools(); + const found = tools.find((t) => t.name === tool); + if (!found) throw new Error(`未找到工具 "${tool}"。用 discover_tools 查看某领域的工具名。`); + return { + name: found.name, + description: found.description || '', + inputSchema: found.inputSchema || {}, + }; +} + +async function handleCallTool(input) { + const tool = (input.tool || '').trim(); + if (!tool) throw new Error('call_tool 需要参数 tool(工具名)。'); + let args = input.arguments; + if (typeof args === 'string') { + try { args = JSON.parse(args); } catch (e) { throw new Error(`arguments 不是合法 JSON: ${e.message}`); } + } + const result = await callMcpTool(tool, args || {}); + return adaptResult(tool, result); +} + +// 模型自制逃生舱:execute_blender_code 的语义别名。 +// 通过 bpy 在 Blender 内程序化建模;也是未来接入文生 3D / 生成式建模插件的注入点。 +// 详见同目录「模型自制说明.md」。 +async function handleCreateModel(input) { + const code = input.code; + if (!code || !String(code).trim()) { + throw new Error('create_model 需要参数 code(在 Blender 内执行的 Python,通过 bpy 程序化建模;代码中 result 变量须为 dict 且 JSON 可序列化)。详见「模型自制说明.md」。'); + } + const result = await callMcpTool('execute_blender_code', { code: String(code) }); + return adaptResult('execute_blender_code(create_model)', result); +} + +// ---------- 输入读取与分发 ---------- +function readStdin() { + return new Promise((resolve) => { + let data = ''; + let settled = false; + const finish = (val) => { + if (settled) return; + settled = true; + clearTimeout(guard); + resolve(val); + }; + process.stdin.setEncoding('utf8'); + process.stdin.on('data', (c) => { data += c; }); + process.stdin.on('end', () => finish(data)); + // 兜底:stdin 迟迟不关闭时的保护。unref() 确保它不会阻止进程正常退出, + // 避免正常 EOF 后仍有幽灵计时器挂在 event loop 里(曾导致 PTY 环境误判超时)。 + const guard = setTimeout(() => finish(data), CONFIG.timeout + 5000); + if (guard.unref) guard.unref(); + }); +} + +function parseInput(raw) { + const text = String(raw || '').trim(); + if (!text) return {}; + try { return JSON.parse(text); } catch (e) { return {}; } +} + +async function main() { + const raw = await readStdin(); + const input = parseInput(raw); + const command = (input.command || 'status').trim(); + try { + let data; + switch (command) { + case 'status': + data = await handleStatus(); + break; + case 'list_domains': + data = await handleListDomains(); + break; + case 'discover_tools': + data = await handleDiscoverTools(input); + break; + case 'get_tool_schema': + data = await handleGetToolSchema(input); + break; + case 'call_tool': + data = await handleCallTool(input); + break; + case 'create_model': + data = await handleCreateModel(input); + break; + default: + // 未命中原生子命令时,尝试交给 GMR ex 模块处理 + if (GMR && GMR.has(command)) { + data = await GMR.handle(command, input); + break; + } + { + const native = 'status | list_domains | discover_tools | get_tool_schema | call_tool | create_model'; + let msg = `未知 command "${command}"。`; + if (GMR) { + msg += NL + `桥接本体: ${native}`; + msg += NL + `GMR 扩展: ${GMR.commands.join(' | ')}`; + msg += NL + '用 gmr_help 查看 GMR 各命令的完整参数说明。'; + } else { + msg += `可用: ${native}`; + msg += NL + (GMR_LOAD_ERROR + ? `(GMR ex 模块加载失败,故其命令不可用: ${GMR_LOAD_ERROR})` + : '(GMR ex 模块未安装。若需模型训练/导入与推理管理,请补全 gmr/ 目录。)'); + } + throw new Error(msg); + } + } + + // 含图像时返回多模态 content 数组,交由 VCP 处理图像; + // 其余情况保持原有的字符串结果,行为不变。 + let payload; + if (data && typeof data === 'object' && Array.isArray(data.images) && data.images.length) { + payload = toMultimodalContent(data); + } else if (typeof data === 'string') { + payload = data; + } else { + payload = JSON.stringify(data, null, 2); + } + + process.stdout.write(JSON.stringify({ + status: 'success', + result: payload, + })); + } catch (err) { + process.stdout.write(JSON.stringify({ + status: 'error', + error: err && err.message ? err.message : String(err), + })); + process.exitCode = 1; + } +} + +main(); \ No newline at end of file diff --git a/Plugin/BlenderBridge/BlenderBridge.zip b/Plugin/BlenderBridge/BlenderBridge.zip new file mode 100644 index 0000000..0fe37a4 Binary files /dev/null and b/Plugin/BlenderBridge/BlenderBridge.zip differ diff --git a/Plugin/BlenderBridge/README.md b/Plugin/BlenderBridge/README.md new file mode 100644 index 0000000..e2bd182 --- /dev/null +++ b/Plugin/BlenderBridge/README.md @@ -0,0 +1,195 @@ +# BlenderBridge + +VCP 与 Blender 的三端桥接插件。让 Agent 能直接读写正在运行的 Blender 场景。 + +## 架构(双跳) + +``` +VCP (stdio) + ⇕ +BlenderBridge.js ← 本插件,MCP Client 适配层 + ⇕ Streamable HTTP :6090 +blender-mcp ← Blender 官方 MCP Server(独立 Python 进程) + ⇕ TCP socket :9876(null 分帧 JSON) +Blender Add-on ← 运行在 Blender 进程内 +``` + +两跳都必须活着。任一跳断开,工具调用即失败。 + +## 端口说明 + +| 跳 | 端口 | 默认值 | 如何修改 | +|---|---|---|---| +| ① VCP ⇄ blender-mcp | HTTP | **6090** | 本插件 `config.env` 的 `BLENDER_MCP_URL`,同时 blender-mcp 启动时 `--port` 要一致 | +| ② blender-mcp ⇄ Add-on | TCP | **9876** | Blender 插件偏好面板的 Port 字段;blender-mcp 侧读环境变量 `BLENDER_MCP_PORT` | + +**注意上游的端口配置特性:** + +- 第二跳(TCP 9876):`blender-mcp` 运行时直读环境变量 `BLENDER_MCP_HOST` / `BLENDER_MCP_PORT`,原生可配。 +- 第一跳(HTTP 6090):**不读环境变量**,只认命令行 `--port` 参数。上游源码 `blmcp/__init__.py` 里 argparse 的 default 是 8000,没有 `os.environ` 兜底。 +- 上游 `.gitignore` 虽预留了 `src/.env`,但那个文件只被 `Makefile` 的 `-include .env` 加载。直接 spawn `blender-mcp` 时不走 make,`.env` 不生效。 + +因此本插件的做法是:**HTTP 端口走 CLI 参数,TCP 端口走环境变量注入**,上游仓库不需要打任何补丁,`git pull` 永不冲突。 + +默认使用 6090 而非上游的 8000,因为 8000 是极易被抢占的公共默认端口。6090 紧邻 VCP 自家的 6005/6006,语义归拢便于运维识别。 + +## 安装与启动 + +上游 `blender_mcp` 本体已随插件放在 `blander-mcp/` 目录下,**不需要 git clone**。 + +整个准备过程就是三条命令: + +```bash +cd /path/to/VCPToolBox/Plugin/BlenderBridge + +# ① 打包 Blender Add-on(纯标准库,无需装 Blender) +python3 build_addon.py + +# ② 安装 Python 环境(自动按 .python-version 拉 3.13.x) +cd blander-mcp && uv sync && cd .. + +# ③ 启动 MCP 服务器 +cd blander-mcp/src && BLENDER_MCP_HOST=localhost BLENDER_MCP_PORT=9876 \ + ../.venv/bin/blender-mcp --transport http --host 127.0.0.1 --port 6090 +``` + +需要先装 `uv`(Arch: `sudo pacman -S uv`)。依赖 `mcp[cli]` / `docutils` / `pyyaml` 全由 uv 管理,不污染系统 Python。 + +下面是每步的细节与注意事项。 + +### 1. 打包 Blender Add-on + +```bash +python3 build_addon.py +``` + +产出 `mcp-1.0.1.zip`(按扩展规范命名为 `-.zip`)。加 `--legacy-name` 可固定输出 `blender_mcp_addon.zip`。 + +**为什么不用 `blender --command extension build`**:那条命令要求本机已装 Blender 且在 PATH 里。而打包本身只是「按规则压缩文件」,不需要 Blender 参与。改用标准库实现后,任何有 Python 3 的机器都能打包,CI 环境也不必装一个几百 MB 的 Blender。 + +脚本会做打包前校验(`blender_manifest.toml` 必须在 zip 根目录、必需文件齐全),并自动排除 `__pycache__` 与 `.pyc`。其它可用参数: + +```bash +python3 build_addon.py --check # 只校验不打包 +python3 build_addon.py --output /tmp # 指定输出目录 +``` + +### 2. 在 Blender 里安装 Add-on + +`Preferences → Add-ons → ▾ → Install from Disk` → 选上一步产出的 zip → 勾选启用。 + +Add-on 是**零 pip 依赖**的(只用 `bpy` + 标准库),装上即可用。 + +也可以走官方扩展仓库(添加 `https://lab.blender.org/` 后搜 MCP),但那样装的是线上版而非本地这份。 + +### 3. 开启 Allow Online Access(最易踩的坑) + +`Preferences → System → Allow Online Access` **必须勾上**。 + +Add-on 启动时强制检查 `bpy.app.online_access`,未开启会直接拒启并报 +`Online access must be enabled in the system preferences`。即使只连 localhost 也照拦。 + +### 4. 确认 Add-on 服务已启动 + +Add-on 偏好面板里应显示 `Server is running`。默认 `use_autostart` 为 true,Blender 启动 1 秒后自动起。若显示 stopped,手动点 Start。 + +端口保持 9876 即可;若要改,面板改完记得同步下一步的环境变量。 + +### 5. 启动 blender-mcp + +```bash +cd blander-mcp/src +BLENDER_MCP_HOST=localhost BLENDER_MCP_PORT=9876 \ + ../.venv/bin/blender-mcp --transport http --host 127.0.0.1 --port 6090 +``` + +默认传输是 stdio,**必须显式指定 `--transport http`**。 + +### 6. 配置本插件 + +`config.env`: + +``` +BLENDER_MCP_URL=http://127.0.0.1:6090/ +REQUEST_TIMEOUT_MS=60000 +MCP_PROTOCOL_VERSION=2025-06-18 +DebugMode=false +``` + +## 子命令 + +采用渐进式发现,避免 59 个工具的 Schema 一次性冲垮上下文。 + +| 子命令 | 参数 | 说明 | +|---|---|---| +| `status` | — | 连接状态、工具总数、领域分布 | +| `list_domains` | — | 所有领域及工具数 | +| `discover_tools` | `domain` | 列出该领域的工具名与简介 | +| `get_tool_schema` | `tool` | 单个工具的完整参数 Schema | +| `call_tool` | `tool`, `arguments` | 调用任意 Blender MCP 工具 | +| `create_model` | `code` | 程序化建模逃生舱,详见「模型自制说明.md」 | + +**推荐流程**:`list_domains` → `discover_tools` → `get_tool_schema` → `call_tool`。 + +不要凭记忆猜参数名。实测教训:`mesh_primitive_add` 的参数是 `primitive_type` 而非 `primitive`,只有查 Schema 才知道。 + +### 领域划分(共 59 工具) + +按工具名前缀自动归类,不硬编码清单,上游新增工具会自动落位: + +| 领域 | 数量 | 内容 | +|---|---|---| +| `scene` | 1 | 场景状态总览 | +| `object` | 10 | 物体详情、修改器、材质、驱动器、F 曲线、关键帧 | +| `mesh` | 1 | 图元创建 | +| `material` | 1 | 材质列表 | +| `geonodes` | 4 | 几何节点查询、赋值、预设、关键帧 | +| `greasepencil` | 10 | 蜡笔图层、材质、笔画、形状 | +| `animation` | 3 | 骨骼动作、动作列表、相机追踪 | +| `asset` | 2 | 资产导入、库链接 | +| `blendfile` | 10 | 数据块统计、缺失文件、链接库、路径信息、用途推测 | +| `render` | 4 | 帧渲染、动画渲染、缩略图、视口输出 | +| `screenshot` | 3 | 窗口/区域截图、窗口布局 JSON | +| `navigation` | 4 | 切换工作区标签、聚焦物体 | +| `docs` | 3 | Python API 文档、用户手册检索 | +| `exec` | 2 | 任意 Python 执行(含 CLI 后台版) | + +## 安全须知 + +Add-on 侧的 `weak_sandbox.py` **不是真沙箱**。上游注释原话: + +> this isn't really a sandbox, more guidance that some things should not be done +> ... This is more of a slap on the wrist not to try some things. + +它只拦: + +- `sys.exit()` +- 4 个毁灭级算子:`wm.quit_blender`、`wm.read_factory_settings`、`wm.read_factory_userpref`、`wm.read_userpref` + +**这意味着 `execute_blender_code` / `create_model` 在 Blender 进程内近乎全权限执行 Python**——可读写文件系统、可调用完整 `bpy` API。 + +建议: + +1. 优先使用 59 个结构化工具,`create_model` 仅作覆盖不到时的逃生舱。 +2. 破坏性操作(删除物体、批量改数据块)前向用户确权。 +3. 不要在不受信任的 .blend 文件或不受信任的提示词下开放本插件。 + +## 故障排查 + +| 现象 | 原因与处理 | +|---|---| +| `ECONNREFUSED` | blender-mcp 未启动,或端口与 `BLENDER_MCP_URL` 不一致 | +| `Cannot connect to Blender at localhost:9876` | Blender 未运行 / Add-on 未启用 / 面板显示 stopped | +| `Online access must be enabled` | 去 Preferences → System 勾选 Allow Online Access | +| `BLENDER_BUSY` | 上游只支持单并发。等当前调用结束再重试,顺序调用完全正常 | +| 工具报参数错误 | 先 `get_tool_schema` 查真实参数名,勿凭记忆 | +| `result` 不是 dict | `create_model` 的代码里 `result` 必须是 JSON 可序列化的 dict | + +## 已验证环境 + +- Blender 5.2.0 LTS(Add-on 要求 ≥ 5.1.0) +- blender-mcp 1.28.0 +- MCP 协议 2025-06-18 +- Python 3.13.13(由 uv 管理) + +上游原生开启 `stateless_http=True`,重复 `initialize` 不会报 500——这与 PenpotBridge 早期踩过的单例 transport 坑不同,无需额外改造。 \ No newline at end of file diff --git a/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/SKILL.md b/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/SKILL.md new file mode 100644 index 0000000..1ce5d21 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/SKILL.md @@ -0,0 +1,108 @@ +--- +name: tdd +description: Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests. +--- + +# Test-Driven Development + +## Philosophy + +**Core principle**: Tests should verify behavior through public interfaces, not implementation details. Code can change entirely; tests shouldn't. + +**Good tests** are integration-style: they exercise real code paths through public APIs. They describe _what_ the system does, not _how_ it does it. A good test reads like a specification - "user can checkout with valid cart" tells you exactly what capability exists. These tests survive refactors because they don't care about internal structure. + +**Bad tests** are coupled to implementation. They mock internal collaborators, test private methods, or verify through external means (like querying a database directly instead of using the interface). The warning sign: your test breaks when you refactor, but behavior hasn't changed. If you rename an internal function and tests fail, those tests were testing implementation, not behavior. + +See [tests.md](tests.md) for examples and [mocking.md](mocking.md) for mocking guidelines. + +## Anti-Pattern: Horizontal Slices + +**DO NOT write all tests first, then all implementation.** This is "horizontal slicing" - treating RED as "write all tests" and GREEN as "write all code." + +This produces **crap tests**: + +- Tests written in bulk test _imagined_ behavior, not _actual_ behavior +- You end up testing the _shape_ of things (data structures, function signatures) rather than user-facing behavior +- Tests become insensitive to real changes - they pass when behavior breaks, fail when behavior is fine +- You outrun your headlights, committing to test structure before understanding the implementation + +**Correct approach**: Vertical slices via tracer bullets. One test → one implementation → repeat. Each test responds to what you learned from the previous cycle. Because you just wrote the code, you know exactly what behavior matters and how to verify it. + +``` +WRONG (horizontal): + RED: test1, test2, test3, test4, test5 + GREEN: impl1, impl2, impl3, impl4, impl5 + +RIGHT (vertical): + RED→GREEN: test1→impl1 + RED→GREEN: test2→impl2 + RED→GREEN: test3→impl3 + ... +``` + +## Workflow + +### 1. Planning + +When exploring the codebase, read `CONTEXT.md` (if it exists) so that test names and interface vocabulary match the project's domain language, and respect ADRs in the area you're touching. + +Before writing any code: + +- [ ] Confirm with user what interface changes are needed +- [ ] Confirm with user which behaviors to test (prioritize) +- [ ] Identify opportunities for deep modules (small interface, deep implementation) — run the `/codebase-design` skill for the vocabulary and the testability checks +- [ ] List the behaviors to test (not implementation steps) +- [ ] Get user approval on the plan + +Ask: "What should the public interface look like? Which behaviors are most important to test?" + +**You can't test everything.** Confirm with the user exactly which behaviors matter most. Focus testing effort on critical paths and complex logic, not every possible edge case. + +### 2. Tracer Bullet + +Write ONE test that confirms ONE thing about the system: + +``` +RED: Write test for first behavior → test fails +GREEN: Write minimal code to pass → test passes +``` + +This is your tracer bullet - proves the path works end-to-end. + +### 3. Incremental Loop + +For each remaining behavior: + +``` +RED: Write next test → fails +GREEN: Minimal code to pass → passes +``` + +Rules: + +- One test at a time +- Only enough code to pass current test +- Don't anticipate future tests +- Keep tests focused on observable behavior + +### 4. Refactor + +After all tests pass, look for [refactor candidates](refactoring.md): + +- [ ] Extract duplication +- [ ] Deepen modules (move complexity behind simple interfaces) +- [ ] Apply SOLID principles where natural +- [ ] Consider what new code reveals about existing code +- [ ] Run tests after each refactor step + +**Never refactor while RED.** Get to GREEN first. + +## Checklist Per Cycle + +``` +[ ] Test describes behavior, not implementation +[ ] Test uses public interface only +[ ] Test would survive internal refactor +[ ] Code is minimal for this test +[ ] No speculative features added +``` diff --git a/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/mocking.md b/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/mocking.md new file mode 100644 index 0000000..71cbfee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/mocking.md @@ -0,0 +1,59 @@ +# When to Mock + +Mock at **system boundaries** only: + +- External APIs (payment, email, etc.) +- Databases (sometimes - prefer test DB) +- Time/randomness +- File system (sometimes) + +Don't mock: + +- Your own classes/modules +- Internal collaborators +- Anything you control + +## Designing for Mockability + +At system boundaries, design interfaces that are easy to mock: + +**1. Use dependency injection** + +Pass external dependencies in rather than creating them internally: + +```typescript +// Easy to mock +function processPayment(order, paymentClient) { + return paymentClient.charge(order.total); +} + +// Hard to mock +function processPayment(order) { + const client = new StripeClient(process.env.STRIPE_KEY); + return client.charge(order.total); +} +``` + +**2. Prefer SDK-style interfaces over generic fetchers** + +Create specific functions for each external operation instead of one generic function with conditional logic: + +```typescript +// GOOD: Each function is independently mockable +const api = { + getUser: (id) => fetch(`/users/${id}`), + getOrders: (userId) => fetch(`/users/${userId}/orders`), + createOrder: (data) => fetch('/orders', { method: 'POST', body: data }), +}; + +// BAD: Mocking requires conditional logic inside the mock +const api = { + fetch: (endpoint, options) => fetch(endpoint, options), +}; +``` + +The SDK approach means: +- Each mock returns one specific shape +- No conditional logic in test setup +- Easier to see which endpoints a test exercises +- Type safety per endpoint diff --git a/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/refactoring.md b/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/refactoring.md new file mode 100644 index 0000000..8a44439 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/refactoring.md @@ -0,0 +1,10 @@ +# Refactor Candidates + +After TDD cycle, look for: + +- **Duplication** → Extract function/class +- **Long methods** → Break into private helpers (keep tests on public interface) +- **Shallow modules** → Combine or deepen +- **Feature envy** → Move logic to where data lives +- **Primitive obsession** → Introduce value objects +- **Existing code** the new code reveals as problematic diff --git a/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/tests.md b/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/tests.md new file mode 100644 index 0000000..ff22f80 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.agents/skills/tdd/tests.md @@ -0,0 +1,61 @@ +# Good and Bad Tests + +## Good Tests + +**Integration-style**: Test through real interfaces, not mocks of internal parts. + +```typescript +// GOOD: Tests observable behavior +test("user can checkout with valid cart", async () => { + const cart = createCart(); + cart.add(product); + const result = await checkout(cart, paymentMethod); + expect(result.status).toBe("confirmed"); +}); +``` + +Characteristics: + +- Tests behavior users/callers care about +- Uses public API only +- Survives internal refactors +- Describes WHAT, not HOW +- One logical assertion per test + +## Bad Tests + +**Implementation-detail tests**: Coupled to internal structure. + +```typescript +// BAD: Tests implementation details +test("checkout calls paymentService.process", async () => { + const mockPayment = jest.mock(paymentService); + await checkout(cart, payment); + expect(mockPayment.process).toHaveBeenCalledWith(cart.total); +}); +``` + +Red flags: + +- Mocking internal collaborators +- Testing private methods +- Asserting on call counts/order +- Test breaks when refactoring without behavior change +- Test name describes HOW not WHAT +- Verifying through external means instead of interface + +```typescript +// BAD: Bypasses interface to verify +test("createUser saves to database", async () => { + await createUser({ name: "Alice" }); + const row = await db.query("SELECT * FROM users WHERE name = ?", ["Alice"]); + expect(row).toBeDefined(); +}); + +// GOOD: Verifies through interface +test("createUser makes user retrievable", async () => { + const user = await createUser({ name: "Alice" }); + const retrieved = await getUser(user.id); + expect(retrieved.name).toBe("Alice"); +}); +``` diff --git a/Plugin/BlenderBridge/blander-mcp/.claude/pydantic_claude_code_rule.md b/Plugin/BlenderBridge/blander-mcp/.claude/pydantic_claude_code_rule.md new file mode 100644 index 0000000..680f847 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.claude/pydantic_claude_code_rule.md @@ -0,0 +1,114 @@ +# Pydantic 数据类型规范(Claude Code Rule) + +## 目标 + +统一 MCP Server、Blender 桥接层、JSON 数据处理的类型标准。 + +核心原则:**Schema is the source of truth. `dict` is forbidden at boundaries.** + +--- + +## 1. 数据分层 + +``` +[External Input] ← Blender socket / MCP 调用方 +→ DTO Layer ← Pydantic Models(唯一入口) +→ Domain Layer +→ Service Layer +``` + +规则: +- DTO 必须存在于所有外部边界 +- 外部数据禁止直接进入业务层 +- `dict` 不可跨层传递 + +--- + +## 2. MCP Tool 规范 + +MCP tool 的参数和返回值必须有明确类型,返回结构用 Pydantic 模型描述: + +```python +# 正确 +class SceneCreateResult(BaseModel): + success: bool + scene_state_delta: SceneStateDelta + +async def scene_create(name: str = "Scene", fps: int = 24) -> SceneCreateResult: ... + +# 禁止 +async def scene_create(data: dict) -> dict: ... +``` + +--- + +## 3. JSON / Dict 规范 + +```python +# 推荐:强类型 +class SceneObject(BaseModel): + name: str + type: str + location: list[float] + +# 嵌套必须建模 +class SceneState(BaseModel): + objects: list[SceneObject] + frame_start: int + frame_end: int + frame_current: int +``` + +--- + +## 4. List 规范 + +```python +# 禁止 +items: list[dict] + +# 正确 +items: list[SceneObject] +``` + +--- + +## 5. Validator 规范 + +`@field_validator` 只在 DTO 层使用,用于外部数据清洗: + +```python +class SceneObject(BaseModel): + location: list[float] + + @field_validator("location") + @classmethod + def check_location(cls, v: list[float]) -> list[float]: + if len(v) != 3: + raise ValueError("location must have exactly 3 elements") + return v +``` + +--- + +## 6. 动态数据边界 + +以下场景允许使用 `dict[str, Any]`,但必须隔离,不得流入业务层: + +- Blender socket 原始响应(在 `BlenderClient` 内部解析后立即转为模型) +- 第三方 webhook 原始 payload + +```python +# BlenderClient 内部隔离 +raw: dict[str, Any] = json.loads(data.decode()) +return BlenderResponse.model_validate(raw) # 出口必须是模型 +``` + +--- + +## 7. 禁止行为 + +- `dict` 作为函数参数或返回值(外部边界) +- `list[dict]` +- `Any` 未隔离使用 +- `json.loads` 后直接传入业务逻辑 diff --git a/Plugin/BlenderBridge/blander-mcp/.claude/python-style.md b/Plugin/BlenderBridge/blander-mcp/.claude/python-style.md new file mode 100644 index 0000000..76aa865 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.claude/python-style.md @@ -0,0 +1,60 @@ +# Python 编程风格规范(基于 PEP 8) + +### 缩进 +- 每级缩进使用 **4 个空格**,不使用 Tab +- 续行与其他元素对齐,或使用 4 空格悬挂缩进 +- 闭合括号可与内容最后一行对齐,或与开头关键字对齐 + +### 行长度 +- 每行最多 **79 个字符** +- 文档字符串和注释最多 **72 个字符** +- 用反斜杠或括号包裹换行,优先使用括号 + +### 空行 +- 顶层函数和类之间空 **2 行** +- 类中的方法之间空 **1 行** +- 函数内部用空行隔开逻辑块(谨慎使用) + +### 导入 +- 每条 `import` 只导入一个模块 +- 导入顺序:标准库 → 第三方库 → 本地模块,组间空一行 +- 避免通配符导入(`from module import *`) +- 使用绝对导入,仅在必要时使用显式相对导入 + +### 空格 +- 括号内侧不加空格:`foo(1)` 而非 `foo( 1 )` +- 逗号、分号、冒号前不加空格,后加一个空格 +- 赋值/比较/逻辑运算符两侧各一个空格 +- 关键字参数和默认值的 `=` 两侧**不加空格**:`def f(x=1)` +- 切片中的 `:` 两侧保持对称空格 + +### 注释 +- 注释与代码同步更新,过时注释比没有注释更糟 +- 行内注释与代码至少相隔 **2 个空格**,以 `# ` 开头 +- 文档字符串(docstring)对所有公共模块、函数、类、方法都必须写 +- 多行 docstring 的结束 `"""` 单独占一行 + +### 命名约定 +| 类型 | 风格 | 示例 | +|------|------|------| +| 模块/包 | `snake_case`(短名) | `scene_utils` | +| 函数/方法 | `snake_case` | `get_object()` | +| 变量 | `snake_case` | `mesh_data` | +| 常量 | `UPPER_SNAKE_CASE` | `MAX_RETRY` | +| 类 | `PascalCase` | `BlenderScene` | +| 私有 | 单下划线前缀 | `_internal` | +| 名称冲突 | 单下划线后缀 | `class_` | +| 魔法方法 | 双下划线前后缀 | `__init__` | + +### 表达式与语句 +- 不使用分号将多条语句写在同一行 +- `if`/`for`/`while` 的语句体不与条件写在同一行 +- 使用 `is` / `is not` 比较单例(`None`、`True`、`False`),不用 `==` +- 用 `if x is not None` 而非 `if not x is None` +- 不用 `==` 比较布尔值:用 `if flag:` 而非 `if flag == True:` +- 捕获异常时明确异常类型,不用裸 `except:` + +### 类型注解 +- 公共 API 函数和方法应添加类型注解(PEP 484) +- 注解风格:`def foo(x: int) -> str:` +- 变量注解:`count: int = 0` diff --git a/Plugin/BlenderBridge/blander-mcp/.claude/python_generic_rule_claude.md b/Plugin/BlenderBridge/blander-mcp/.claude/python_generic_rule_claude.md new file mode 100644 index 0000000..d88c4c2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.claude/python_generic_rule_claude.md @@ -0,0 +1,118 @@ +# Python 泛型 & 类型安全规范(Claude Code Rule) + +核心目标:用 `Generic` + `TypeVar` 替代 `Any`,保证 IDE 和 AI 可推导所有类型。 + +--- + +## 1. Any 使用边界 + +业务层(DTO / Domain / Service)完全禁止 `Any`。 + +```python +# 禁止 +data: Any + +# 正确:用具体类型或 TypeVar +data: SceneObject +data: T +``` + +`dict[str, Any]` 仅允许在边界层使用,且必须立即转为模型,不得流入业务层: + +```python +# 允许:第三方 API / Blender socket 原始响应 +raw: dict[str, Any] = json.loads(data.decode()) +return BlenderResponse.model_validate(raw) # 出口必须是模型 +``` + +--- + +## 2. TypeVar 与 Generic 基础 + +```python +from typing import Generic, TypeVar + +T = TypeVar("T") + +class Repository(Generic[T]): + def find(self, id: str) -> T: ... + def save(self, entity: T) -> None: ... +``` + +`TypeVar` 命名约定:单字母大写(`T`、`K`、`V`),或描述性名称加 `_T` 后缀(`Item_T`)。 + +--- + +## 3. 泛型 Result / Response 包装器 + +统一返回结构,用泛型约束 `data` 字段,避免 `data: Any` 或 `data: dict`: + +```python +from pydantic import BaseModel +from typing import Generic, TypeVar + +T = TypeVar("T") + +class Result(BaseModel, Generic[T]): + success: bool + data: T | None = None + error: str | None = None + +# 使用:data 字段类型完全可推导 +def get_scene() -> Result[SceneGetStateResult]: ... +def ping() -> Result[PingResult]: ... +``` + +禁止退化为非泛型版本: + +```python +# 禁止 +class Result(BaseModel): + success: bool + data: dict # 丢失类型信息 + error: str | None +``` + +--- + +## 4. List / Dict 规范 + +```python +# 正确 +objects: list[SceneObject] +headers: dict[str, str] + +# 禁止 +objects: list[dict] +objects: list[Any] +headers: dict[Any, Any] +``` + +已知结构的 `dict` 必须建模;仅键或值类型未知时才用 `dict[str, Any]`, +且只能出现在边界层。 + +--- + +## 5. 泛型 DTO / Event + +当同一容器结构承载多种 payload 类型时,用 `Generic` 建模,而非退化为 `dict`: + +```python +class BlenderEvent(BaseModel, Generic[T]): + tool: str + payload: T + +# 具体化 +SceneEvent = BlenderEvent[SceneCreateResult] +PingEvent = BlenderEvent[PingResult] +``` + +--- + +## 6. 禁止行为 + +- `Any` 出现在 DTO / Domain / Service 任一层 +- `list[dict]` 或 `list[Any]` +- `data: dict` 作为已知结构的字段类型 +- `json.loads` 结果直接传入业务逻辑(不经 `model_validate`) +- 泛型包装器退化:`Result` 的 `data` 字段声明为 `Any` 或 `dict` diff --git a/Plugin/BlenderBridge/blander-mcp/.claude/settings.local.json b/Plugin/BlenderBridge/blander-mcp/.claude/settings.local.json new file mode 100644 index 0000000..f24ebea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.claude/settings.local.json @@ -0,0 +1,74 @@ +{ + "permissions": { + "allow": [ + "Bash(python test_ping.py:*)", + "Bash(uv run *)", + "Bash(git rm *)", + "WebFetch(domain:google.github.io)", + "WebFetch(domain:docs.pytest.org)", + "WebFetch(domain:www.attrs.org)", + "WebFetch(domain:www.skills.sh)", + "Bash(npx skillsadd *)", + "Bash(npx skills *)", + "Bash(uv add *)", + "Bash(.venv/Scripts/python.exe -m pytest tests/ -v)", + "Bash(xargs -I{} basename {})", + "Bash(cp /Users/Admin/projects/blander-mcp/references/blender_mcp/addon/blender_mcp_addon/__init__.py /Users/Admin/projects/blander-mcp/blender_addon/__init__.py)", + "Bash(cp /Users/Admin/projects/blander-mcp/references/blender_mcp/addon/blender_mcp_addon/mcp_to_blender_server.py /Users/Admin/projects/blander-mcp/blender_addon/mcp_to_blender_server.py)", + "Bash(cp /Users/Admin/projects/blander-mcp/references/blender_mcp/addon/blender_mcp_addon/execute_interactive.py /Users/Admin/projects/blander-mcp/blender_addon/execute_interactive.py)", + "Bash(cp /Users/Admin/projects/blander-mcp/references/blender_mcp/addon/blender_mcp_addon/execute_blocking.py /Users/Admin/projects/blander-mcp/blender_addon/execute_blocking.py)", + "Bash(cp /Users/Admin/projects/blander-mcp/references/blender_mcp/addon/blender_mcp_addon/deferred_tool.py /Users/Admin/projects/blander-mcp/blender_addon/deferred_tool.py)", + "Bash(uv sync *)", + "Bash(python *)", + "Bash(cp -r /Users/Admin/projects/blander-mcp/references/blender_mcp/mcp/blmcp/data/api /Users/Admin/projects/blander-mcp/mcp_server/data/api)", + "Bash(cp -r /Users/Admin/projects/blander-mcp/references/blender_mcp/mcp/blmcp/data/manual /Users/Admin/projects/blander-mcp/mcp_server/data/manual)", + "Bash(xargs sed -i '' 's/from blmcp\\\\./from mcp_server./g')", + "WebFetch(domain:testing.googleblog.com)", + "WebFetch(domain:abseil.io)", + "Bash(/Applications/Blender.app/Contents/MacOS/Blender --version)", + "Bash(python3 *)", + "PowerShell(Get-ChildItem *)", + "PowerShell(\\([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent\\(\\)\\).IsInRole\\([Security.Principal.WindowsBuiltInRole]\"Administrator\"\\))", + "Bash(git remote *)", + "Bash(git fetch *)", + "Bash(git clone *)", + "Bash(git -C upstream_tmp pull)", + "Bash(git -C upstream_tmp log --oneline -15)", + "Bash(git *)", + "PowerShell(Remove-Item *)", + "Bash(where blender *)", + "PowerShell($env:BLENDER_BIN = 'C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe'; $env:BLENDER_MCP = 'D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE'; cd D:\\\\data\\\\projects\\\\blander-mcp; python -m pytest src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_render_frame_basic -v --tb=long -s 2>&1 | Select-Object -Last 40)", + "PowerShell($env:BLENDER_BIN = 'C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe'; $env:BLENDER_MCP = 'D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE'; cd D:\\\\data\\\\projects\\\\blander-mcp; python -m pytest src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_render_frame_basic -v --tb=long -s 2>&1 | Select-Object -First 50)", + "PowerShell($env:BLENDER_BIN = 'C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe'; $env:BLENDER_MCP = 'D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE'; cd D:\\\\data\\\\projects\\\\blander-mcp; python -m pytest src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_render_frame_basic -v --tb=short -s 2>&1 | Select-String -Pattern \"DEBUG|FAILED|PASSED|KeyError|status|width|filepath\" | Select-Object -First 20)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; python -m pytest tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_render_frame_basic tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_render_frame_with_frame_override tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_render_animation_basic tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_gp_layer_keyframes_list_after_set tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_gp_layer_keyframes_list_empty -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; python -m pytest src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_render_frame_basic src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_render_frame_with_frame_override src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_render_animation_basic src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_gp_layer_keyframes_list_after_set src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_gp_layer_keyframes_list_empty -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; python -m pytest src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_render_frame_basic src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_render_animation_basic src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_gp_layer_keyframes_list_after_set src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer::test_gp_layer_keyframes_list_empty -v 2>&1)", + "PowerShell(echo \"BLENDER_BIN=$env:BLENDER_BIN\"; echo \"BLENDER_MCP=$env:BLENDER_MCP\")", + "PowerShell($env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; cd D:\\\\data\\\\projects\\\\blander-mcp; python -m pytest \"src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer\" -k \"gp_layer_keyframes\" -v --tb=short 2>&1 | Select-Object -Last 40)", + "PowerShell(Get-Content *)", + "PowerShell($env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; cd D:\\\\data\\\\projects\\\\blander-mcp; python -m pytest \"src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer\" -k \"gp_layer_keyframes\" -v --tb=short 2>&1 | Select-Object -First 30)", + "PowerShell($env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; cd D:\\\\data\\\\projects\\\\blander-mcp; python -m pytest \"src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer\" -v --tb=short 2>&1 | Select-Object -First 100)", + "PowerShell($env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; cd D:\\\\data\\\\projects\\\\blander-mcp; python -m pytest \"src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer\" -v --tb=short 2>&1 | Select-String \"FAILED|PASSED|ERROR\" | Select-Object -First 80)", + "PowerShell(& \"D:\\\\data\\\\projects\\\\blander-mcp\\\\.venv\\\\Scripts\\\\pip.exe\" show mcp)", + "Bash(.venv/Scripts/pip show *)", + "PowerShell($env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; cd D:\\\\data\\\\projects\\\\blander-mcp; python -m pytest \"src/tests/test_blender_mcp_with_blender.py::TestBackgroundServer\" -k \"blocking_mode_error or for_cli or jump_to_tab_by_name or get_screenshot_of_window_as_json\" --tb=short -v 2>&1 | Select-Object -Last 70)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; python -m pytest tests/test_blender_mcp_with_blender.py -k \"test_render_frame_basic or test_render_animation_basic or test_gp_layer_keyframes_list_after_set\" -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; python -m pytest -k \"test_render_frame_basic or test_render_animation_basic or test_gp_layer_keyframes_list_after_set\" -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; python tests/test_blender_mcp_with_blender.py TestBackgroundServer.test_render_frame_basic TestBackgroundServer.test_render_animation_basic TestBackgroundServer.test_gp_layer_keyframes_list_after_set -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; python src/tests/test_blender_mcp_with_blender.py TestBackgroundServer.test_render_frame_basic TestBackgroundServer.test_render_animation_basic TestBackgroundServer.test_gp_layer_keyframes_list_after_set -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; python -c \"import sys; print\\('sys.path[0]:', sys.path[0] if sys.path else 'empty'\\)\")", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; $env:PYTHONPATH = \"D:\\\\data\\\\projects\\\\blander-mcp\"; python -m pytest tests/test_blender_mcp_with_blender.py -k \"test_render_frame_basic or test_render_animation_basic or test_gp_layer_keyframes_list_after_set\" -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; $env:PYTHONPATH = \"D:\\\\data\\\\projects\\\\blander-mcp\"; $env:BLENDER_MCP_REUSE = \"1\"; python -m pytest tests/test_blender_mcp_with_blender.py -k \"TestReuseServer and test_ping\" -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; $env:PYTHONPATH = \"D:\\\\data\\\\projects\\\\blander-mcp\"; $env:BLENDER_MCP_REUSE = \"1\"; python -m pytest tests/test_blender_mcp_with_blender.py::TestReuseServer::test_ping -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:PYTHONPATH = \"D:\\\\data\\\\projects\\\\blander-mcp\"; python -m pytest tests/test_blender_mcp_with_blender.py -k TestReuseServer --collect-only -q 2>&1 | Select-Object -First 20)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; $env:PYTHONPATH = \"D:\\\\data\\\\projects\\\\blander-mcp\"; $env:BLENDER_MCP_REUSE = \"1\"; python -m pytest \"tests/test_blender_mcp_with_blender.py::TestReuseServer::test_execute_blender_code\" -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; $env:PYTHONPATH = \"D:\\\\data\\\\projects\\\\blander-mcp\"; $env:BLENDER_MCP_REUSE = \"1\"; python -m pytest tests/test_blender_mcp_with_blender.py -k \"TestReuseServer and mesh_primitive_add\" -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; $env:PYTHONPATH = \"D:\\\\data\\\\projects\\\\blander-mcp\"; $env:BLENDER_MCP_REUSE = \"1\"; python -m pytest tests/test_blender_mcp_with_blender.py -k \"TestReuseServer and \\(object_modifier or object_modifiers\\)\" -v 2>&1)", + "PowerShell(cd D:\\\\data\\\\projects\\\\blander-mcp\\\\src; $env:BLENDER_BIN = \"C:\\\\Program Files\\\\Blender Foundation\\\\Blender 5.1\\\\blender.exe\"; $env:BLENDER_MCP = \"D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE\"; $env:PYTHONPATH = \"D:\\\\data\\\\projects\\\\blander-mcp\"; $env:BLENDER_MCP_REUSE = \"1\"; python -m pytest tests/test_blender_mcp_with_blender.py -k \"TestReuseServer and object_driver\" -v 2>&1)", + "Bash(xargs grep -l \"import_scene\\\\|obj_import\\\\|library.*load\")", + "Bash(xargs grep -l \"libraries\")", + "PowerShell(python -c $py)", + "PowerShell(python \"C:\\\\Users\\\\Lizj\\\\AppData\\\\Local\\\\Temp\\\\claude\\\\D--data-projects-blander-mcp\\\\b98fea5b-126f-4fe9-ac01-d9a78d1d9fb1\\\\scratchpad\\\\test_cli.py\")" + ] + } +} diff --git a/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/SKILL.md b/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/SKILL.md new file mode 100644 index 0000000..1ce5d21 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/SKILL.md @@ -0,0 +1,108 @@ +--- +name: tdd +description: Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests. +--- + +# Test-Driven Development + +## Philosophy + +**Core principle**: Tests should verify behavior through public interfaces, not implementation details. Code can change entirely; tests shouldn't. + +**Good tests** are integration-style: they exercise real code paths through public APIs. They describe _what_ the system does, not _how_ it does it. A good test reads like a specification - "user can checkout with valid cart" tells you exactly what capability exists. These tests survive refactors because they don't care about internal structure. + +**Bad tests** are coupled to implementation. They mock internal collaborators, test private methods, or verify through external means (like querying a database directly instead of using the interface). The warning sign: your test breaks when you refactor, but behavior hasn't changed. If you rename an internal function and tests fail, those tests were testing implementation, not behavior. + +See [tests.md](tests.md) for examples and [mocking.md](mocking.md) for mocking guidelines. + +## Anti-Pattern: Horizontal Slices + +**DO NOT write all tests first, then all implementation.** This is "horizontal slicing" - treating RED as "write all tests" and GREEN as "write all code." + +This produces **crap tests**: + +- Tests written in bulk test _imagined_ behavior, not _actual_ behavior +- You end up testing the _shape_ of things (data structures, function signatures) rather than user-facing behavior +- Tests become insensitive to real changes - they pass when behavior breaks, fail when behavior is fine +- You outrun your headlights, committing to test structure before understanding the implementation + +**Correct approach**: Vertical slices via tracer bullets. One test → one implementation → repeat. Each test responds to what you learned from the previous cycle. Because you just wrote the code, you know exactly what behavior matters and how to verify it. + +``` +WRONG (horizontal): + RED: test1, test2, test3, test4, test5 + GREEN: impl1, impl2, impl3, impl4, impl5 + +RIGHT (vertical): + RED→GREEN: test1→impl1 + RED→GREEN: test2→impl2 + RED→GREEN: test3→impl3 + ... +``` + +## Workflow + +### 1. Planning + +When exploring the codebase, read `CONTEXT.md` (if it exists) so that test names and interface vocabulary match the project's domain language, and respect ADRs in the area you're touching. + +Before writing any code: + +- [ ] Confirm with user what interface changes are needed +- [ ] Confirm with user which behaviors to test (prioritize) +- [ ] Identify opportunities for deep modules (small interface, deep implementation) — run the `/codebase-design` skill for the vocabulary and the testability checks +- [ ] List the behaviors to test (not implementation steps) +- [ ] Get user approval on the plan + +Ask: "What should the public interface look like? Which behaviors are most important to test?" + +**You can't test everything.** Confirm with the user exactly which behaviors matter most. Focus testing effort on critical paths and complex logic, not every possible edge case. + +### 2. Tracer Bullet + +Write ONE test that confirms ONE thing about the system: + +``` +RED: Write test for first behavior → test fails +GREEN: Write minimal code to pass → test passes +``` + +This is your tracer bullet - proves the path works end-to-end. + +### 3. Incremental Loop + +For each remaining behavior: + +``` +RED: Write next test → fails +GREEN: Minimal code to pass → passes +``` + +Rules: + +- One test at a time +- Only enough code to pass current test +- Don't anticipate future tests +- Keep tests focused on observable behavior + +### 4. Refactor + +After all tests pass, look for [refactor candidates](refactoring.md): + +- [ ] Extract duplication +- [ ] Deepen modules (move complexity behind simple interfaces) +- [ ] Apply SOLID principles where natural +- [ ] Consider what new code reveals about existing code +- [ ] Run tests after each refactor step + +**Never refactor while RED.** Get to GREEN first. + +## Checklist Per Cycle + +``` +[ ] Test describes behavior, not implementation +[ ] Test uses public interface only +[ ] Test would survive internal refactor +[ ] Code is minimal for this test +[ ] No speculative features added +``` diff --git a/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/mocking.md b/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/mocking.md new file mode 100644 index 0000000..71cbfee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/mocking.md @@ -0,0 +1,59 @@ +# When to Mock + +Mock at **system boundaries** only: + +- External APIs (payment, email, etc.) +- Databases (sometimes - prefer test DB) +- Time/randomness +- File system (sometimes) + +Don't mock: + +- Your own classes/modules +- Internal collaborators +- Anything you control + +## Designing for Mockability + +At system boundaries, design interfaces that are easy to mock: + +**1. Use dependency injection** + +Pass external dependencies in rather than creating them internally: + +```typescript +// Easy to mock +function processPayment(order, paymentClient) { + return paymentClient.charge(order.total); +} + +// Hard to mock +function processPayment(order) { + const client = new StripeClient(process.env.STRIPE_KEY); + return client.charge(order.total); +} +``` + +**2. Prefer SDK-style interfaces over generic fetchers** + +Create specific functions for each external operation instead of one generic function with conditional logic: + +```typescript +// GOOD: Each function is independently mockable +const api = { + getUser: (id) => fetch(`/users/${id}`), + getOrders: (userId) => fetch(`/users/${userId}/orders`), + createOrder: (data) => fetch('/orders', { method: 'POST', body: data }), +}; + +// BAD: Mocking requires conditional logic inside the mock +const api = { + fetch: (endpoint, options) => fetch(endpoint, options), +}; +``` + +The SDK approach means: +- Each mock returns one specific shape +- No conditional logic in test setup +- Easier to see which endpoints a test exercises +- Type safety per endpoint diff --git a/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/refactoring.md b/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/refactoring.md new file mode 100644 index 0000000..8a44439 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/refactoring.md @@ -0,0 +1,10 @@ +# Refactor Candidates + +After TDD cycle, look for: + +- **Duplication** → Extract function/class +- **Long methods** → Break into private helpers (keep tests on public interface) +- **Shallow modules** → Combine or deepen +- **Feature envy** → Move logic to where data lives +- **Primitive obsession** → Introduce value objects +- **Existing code** the new code reveals as problematic diff --git a/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/tests.md b/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/tests.md new file mode 100644 index 0000000..ff22f80 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.claude/skills/tdd/tests.md @@ -0,0 +1,61 @@ +# Good and Bad Tests + +## Good Tests + +**Integration-style**: Test through real interfaces, not mocks of internal parts. + +```typescript +// GOOD: Tests observable behavior +test("user can checkout with valid cart", async () => { + const cart = createCart(); + cart.add(product); + const result = await checkout(cart, paymentMethod); + expect(result.status).toBe("confirmed"); +}); +``` + +Characteristics: + +- Tests behavior users/callers care about +- Uses public API only +- Survives internal refactors +- Describes WHAT, not HOW +- One logical assertion per test + +## Bad Tests + +**Implementation-detail tests**: Coupled to internal structure. + +```typescript +// BAD: Tests implementation details +test("checkout calls paymentService.process", async () => { + const mockPayment = jest.mock(paymentService); + await checkout(cart, payment); + expect(mockPayment.process).toHaveBeenCalledWith(cart.total); +}); +``` + +Red flags: + +- Mocking internal collaborators +- Testing private methods +- Asserting on call counts/order +- Test breaks when refactoring without behavior change +- Test name describes HOW not WHAT +- Verifying through external means instead of interface + +```typescript +// BAD: Bypasses interface to verify +test("createUser saves to database", async () => { + await createUser({ name: "Alice" }); + const row = await db.query("SELECT * FROM users WHERE name = ?", ["Alice"]); + expect(row).toBeDefined(); +}); + +// GOOD: Verifies through interface +test("createUser makes user retrievable", async () => { + const user = await createUser({ name: "Alice" }); + const retrieved = await getUser(user.id); + expect(retrieved.name).toBe("Alice"); +}); +``` diff --git a/Plugin/BlenderBridge/blander-mcp/.claude/skills/test-full/SKILL.md b/Plugin/BlenderBridge/blander-mcp/.claude/skills/test-full/SKILL.md new file mode 100644 index 0000000..9bf1518 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.claude/skills/test-full/SKILL.md @@ -0,0 +1,48 @@ +--- +name: test-full +description: 完整集成测试(TestBackgroundServer 模式)。自动构建插件、安装到隔离环境、启动 Blender 后台进程再测试。适合 CI 验证或需要完全隔离环境时使用。 +--- + +# 完整集成测试(隔离 Blender 环境) + +自动完成:构建插件 zip → 安装到临时 HOME → 启动后台 Blender → 运行测试 → 清理。 +每次测试都使用最新插件代码,环境完全隔离,不影响用户本地的 Blender 配置。 + +## 执行步骤 + +1. 设置环境变量并运行 pytest: + +```powershell +cd D:\data\projects\blander-mcp\src +$env:BLENDER_BIN = "C:\Program Files\Blender Foundation\Blender 5.1\blender.exe" +$env:BLENDER_MCP = "D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE" +$env:PYTHONPATH = "D:\data\projects\blander-mcp" +Remove-Item Env:BLENDER_MCP_REUSE -ErrorAction SilentlyContinue +``` + +2. 根据用户的意图选择运行范围: + +- **运行所有后台模式测试**(无参数时): + ```powershell + python -m pytest tests/test_blender_mcp_with_blender.py -k TestBackgroundServer -v + ``` + +- **运行指定测试**(用户提供了测试名或关键词时): + ```powershell + python -m pytest "tests/test_blender_mcp_with_blender.py::TestBackgroundServer::<测试名>" -v + ``` + 或用关键词过滤: + ```powershell + python -m pytest tests/test_blender_mcp_with_blender.py -k "TestBackgroundServer and <关键词>" -v + ``` + +## 耗时说明 + +每次 `setUpClass` 要启动 Blender 三次(构建、安装、服务器),约需 30–60 秒的初始化时间。 +类内所有测试共用同一个 Blender 进程,单个用例执行很快。 + +## 结果处理 + +- 测试失败时,显示错误详情,根据需要修复代码后重新运行失败用例。 +- 若只想验证某几个用例,用 `-k "TestBackgroundServer and <关键词>"` 过滤,避免每次都等全套初始化。 +- `TestForegroundServer` 和 `TestInteractiveServer` 在 Windows 上会失败(需要 Linux Wayland),忽略即可。 diff --git a/Plugin/BlenderBridge/blander-mcp/.claude/skills/test-reuse/SKILL.md b/Plugin/BlenderBridge/blander-mcp/.claude/skills/test-reuse/SKILL.md new file mode 100644 index 0000000..e2530f7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.claude/skills/test-reuse/SKILL.md @@ -0,0 +1,46 @@ +--- +name: test-reuse +description: 连接到已开启的 Blender 运行集成测试(TestReuseServer 模式)。适合日常开发调试,跳过构建/安装/启动 Blender 的开销,秒级反馈。 +--- + +# 快速测试(复用已运行的 Blender) + +连接到用户**正在开着的** Blender MCP 插件,直接运行测试,无需重新构建或启动 Blender。 + +## 前提 + +Blender 必须已开启,且 MCP 插件已启动(默认监听 9876 端口)。 + +## 执行步骤 + +1. 设置环境变量并运行 pytest: + +```powershell +cd D:\data\projects\blander-mcp\src +$env:BLENDER_BIN = "C:\Program Files\Blender Foundation\Blender 5.1\blender.exe" +$env:BLENDER_MCP = "D:/data/projects/blander-mcp/.venv/Scripts/blender-mcp.EXE" +$env:PYTHONPATH = "D:\data\projects\blander-mcp" +$env:BLENDER_MCP_REUSE = "1" +``` + +2. 根据用户的意图选择运行范围: + +- **运行所有 Reuse 测试**(无参数时): + ```powershell + python -m pytest tests/test_blender_mcp_with_blender.py -k TestReuseServer -v + ``` + +- **运行指定测试**(用户提供了测试名或关键词时): + ```powershell + python -m pytest "tests/test_blender_mcp_with_blender.py::TestReuseServer::<测试名>" -v + ``` + 或用关键词过滤: + ```powershell + python -m pytest tests/test_blender_mcp_with_blender.py -k "TestReuseServer and <关键词>" -v + ``` + +## 结果处理 + +- 若端口不可达(Blender 未开或插件未启动),会看到 `RuntimeError: BLENDER_MCP_REUSE=1 but port 9876 is not reachable`,提示用户先启动 Blender 并开启 MCP 插件。 +- 测试失败时,显示错误详情,根据需要修复代码后重新运行单个失败用例。 +- 不要在每次修复后重跑全套,先用 `-k` 精确复现失败用例,确认修复后再跑更大范围。 diff --git a/Plugin/BlenderBridge/blander-mcp/.claude/testability.md b/Plugin/BlenderBridge/blander-mcp/.claude/testability.md new file mode 100644 index 0000000..b063120 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.claude/testability.md @@ -0,0 +1,200 @@ +# 可测试性与封装规范 + +参考来源:Google Python Style Guide、Google Testing Blog(Misko Hevery 系列)、 +Google SWE Book Ch.12、pytest 官方文档、attrs/Pydantic 社区指南。 + +--- + +## 1. 依赖注入(Dependency Injection)⭐ 首要原则 + +**构造函数注入优先**:所有依赖在 `__init__` 完成注入,构造后对象立即处于可用状态, +不需要再调用任何 `.set_xxx()` 或 `.init_xxx()`。 +来源:Google Testing Blog(Misko Hevery);Google Style Guide §2.5。 + +```python +# 正确:构造函数注入,对象构造即可用 +class SceneService: + def __init__(self, client: BlenderClient) -> None: + self._client = client + + async def create(self, name: str = "Scene", fps: int = 24) -> SceneCreateResult: + ... + +# 禁止:内部实例化,测试无法替换 +class SceneService: + async def create(self, name: str = "Scene", fps: int = 24) -> SceneCreateResult: + client = BlenderClient() # 测试必须有真实 Blender 连接 + ... + +# 禁止:setter 注入,构造后对象处于不完整状态 +class SceneService: + def set_client(self, client: BlenderClient) -> None: # 调用方必须记得调用 + self._client = client +``` + +**Wiring 集中化**:组装层(`main()` 或工厂函数)统一负责依赖的实例化和注入, +业务类不持有「如何创建依赖」的知识。 +来源:Google Testing Blog,*"Concentrate wiring information in one place if possible."* + +```python +# 正确:wiring 集中在入口 +def main() -> None: + transport = SocketTransport(host="127.0.0.1", port=6789) + client = BlenderClient(transport=transport) + service = SceneService(client=client) + server = MCPServer(service=service) + server.run() + +# 禁止:依赖散落在业务代码各处 +class SceneService: + def __init__(self) -> None: + self._client = BlenderClient( # 业务类知道如何构造依赖 + transport=SocketTransport(host="127.0.0.1", port=6789) + ) +``` + +--- + +## 2. 纯函数与副作用隔离 + +业务逻辑必须是纯函数(输出只依赖输入,无隐式 I/O);副作用隔离在边界层。 + +```python +# 正确:业务逻辑纯函数,I/O 在调用方 +def build_scene_state(raw_objects: list[dict]) -> list[SceneObject]: + return [SceneObject.model_validate(o) for o in raw_objects] + +# 禁止:业务逻辑内部直接发起网络请求 +async def get_objects() -> list[SceneObject]: + client = BlenderClient() # 副作用藏在业务里 + response = await client.send(...) # 无法在不连接 Blender 的情况下测试 +``` + +--- + +## 3. 组合大于继承 + +用协议(`Protocol`)描述接口,用组合拼装行为;不用多层继承。 +来源:Google Style Guide;attrs/Pydantic 社区。 + +```python +# 正确:Protocol 描述接口,组合实现 +from typing import Protocol + +class BlenderTransport(Protocol): + async def send(self, command: BlenderCommand) -> BlenderResponse: ... + +class BlenderClient: + def __init__(self, transport: BlenderTransport) -> None: + self._transport = transport + +# 禁止:继承具体类,测试与实现耦合 +class MockClient(BlenderClient): + ... +``` + +--- + +## 4. 模块级函数优于嵌套函数 + +嵌套函数无法被单元测试直接调用。提取为带 `_` 前缀的模块级函数。 +来源:Google Style Guide §2.6,*"nested functions cannot be directly tested."* + +```python +# 正确:可独立测试 +def _build_delta(deleted: list[str]) -> SceneStateDelta: + return SceneStateDelta(removed=deleted) + +async def clear(client: BlenderClient) -> SceneClearResult: + response = await client.send(...) + return SceneClearResult( + success=True, + scene_state_delta=_build_delta(response.deleted_objects), + ) + +# 禁止:逻辑藏在嵌套函数里 +async def clear(client: BlenderClient) -> SceneClearResult: + def build_delta(deleted): # 无法单独测试 + return SceneStateDelta(removed=deleted) + ... +``` + +--- + +## 5. 全局状态 + +不可避免的全局单例必须:使用 `_` 前缀、提供 `reset()` 函数、不在模块顶层执行副作用。 +来源:Google Style Guide §2.5、§3.17;Google Testing Blog,*"Global State is隐式耦合, +阻止隔离测试。"* + +```python +# 正确:可重置的单例 +_state = SceneState() + +def get_state() -> SceneState: + return _state + +def reset() -> None: # 测试用,每个 test 前调用 + global _state + _state = SceneState() + +# 禁止:导入时执行副作用 +client = BlenderClient() # 模块导入就建立连接,测试无法控制 +client.connect() +``` + +--- + +## 6. 导入时无副作用 + +模块顶层只允许:常量定义、类型定义、函数/类声明。 +来源:Google Style Guide §3.17。 + +```python +# 禁止 +_server = TCPServer() # 导入即启动 +_server.start() + +# 正确:延迟到显式调用 +def start() -> None: + _server = TCPServer() + _server.start() +``` + +--- + +## 7. pytest 测试结构 + +来源:Google SWE Book Ch.12;pytest 官方文档。 + +**测试写法原则:** +- 验证状态,不验证交互:断言返回值或副作用结果,避免 `mock.assert_called_with()` +- 测试内禁止逻辑:测试函数里禁用 `if`/`for`,所有分支用独立 test case 覆盖 +- Given / When / Then 三段式结构 +- 每个 fixture 只做一件事,用 `yield` 配对清理,默认 `function` 作用域 +- 需要多实例时用 factory fixture + +```python +import pytest + +@pytest.fixture +def scene_state(): + reset() # Given:确保干净起点 + yield get_state() + reset() # 测试后清理 + +@pytest.fixture +def fake_client(): # Null Object,比 Mock 更稳定 + class FakeClient: + async def send(self, cmd: BlenderCommand) -> BlenderResponse: + return BlenderResponse(success=True, result={"name": "Scene", "fps": 24}) + return FakeClient() + +async def test_create_scene(fake_client): + # When + result = await create(client=fake_client, name="TestScene", fps=30) + + # Then:验证状态,不验证 fake_client 被调用几次 + assert result.success + assert result.name == "TestScene" +``` diff --git a/Plugin/BlenderBridge/blander-mcp/.gitignore b/Plugin/BlenderBridge/blander-mcp/.gitignore new file mode 100644 index 0000000..e3f653f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.gitignore @@ -0,0 +1,30 @@ +# Python +__pycache__/ +*.py[cod] +*.pyo +*.pyd +.Python +*.egg-info/ +dist/ +build/ +.eggs/ +*.mcpb + +# Virtual environments +.venv/ +venv/ +env/ + +# IDE +.idea/ +.vscode/ +*.swp +*.swo + +# macOS +.DS_Store + +blender_addon.zip + +# Local dev environment overrides (machine-specific paths). +src/.env \ No newline at end of file diff --git a/Plugin/BlenderBridge/blander-mcp/.python-version b/Plugin/BlenderBridge/blander-mcp/.python-version new file mode 100644 index 0000000..655354d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/.python-version @@ -0,0 +1 @@ +3.13.13 diff --git a/Plugin/BlenderBridge/blander-mcp/CLAUDE.md b/Plugin/BlenderBridge/blander-mcp/CLAUDE.md new file mode 100644 index 0000000..7b88b42 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/CLAUDE.md @@ -0,0 +1,6 @@ +# blander-mcp + +@.claude/python-style.md +@.claude/pydantic_claude_code_rule.md +@.claude/testability.md +@.claude/python_generic_rule_claude.md diff --git a/Plugin/BlenderBridge/blander-mcp/plan/architecture.md b/Plugin/BlenderBridge/blander-mcp/plan/architecture.md new file mode 100644 index 0000000..06eab86 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/plan/architecture.md @@ -0,0 +1,139 @@ +# blender-animation-mcp — 架构设计 + +> 本文档描述系统架构和技术选型,不规定工具命名或调用风格。 + +--- + +## 一、架构概览 + +``` +自然语言输入 + ↓ +AI Agent(Claude) + ↓ MCP Protocol (stdio) +MCP Server(blmcp 包,src/mcp/) + ↓ JSON over TCP (localhost) +Blender Addon(src/addon/) + ↓ bpy Python API +Blender Engine + ↓ +动画输出(视频 / 图片) +``` + +--- + +## 二、技术选型 + +### MCP Server + +| 技术 | 选择 | 理由 | +|------|------|------| +| 语言 | Python 3.10+ | 与 Blender 生态一致,MCP SDK 原生支持 | +| MCP 框架 | FastMCP(mcp[cli]) | 官方 SDK,工具自动注册 | +| 传输方式 | stdio(主)/ HTTP(备) | 本地开发用 stdio;HTTP 支持 llama.cpp 等本地 LLM | +| 包管理 | uv | 速度快,lockfile 可靠 | +| 包名 | blmcp | 对应 `src/mcp/blmcp/` | + +### Blender Addon + +| 技术 | 选择 | 理由 | +|------|------|------| +| 通信 | JSON over TCP Socket(null byte 分隔) | 进程间通信,双向可靠 | +| 执行调度 | `bpy.app.timers` | 保证所有 bpy 调用在 Blender 主线程 | +| Blender 版本 | 4.0+ | Geometry Nodes 和 Grease Pencil 3 趋于稳定 | + +--- + +## 三、项目目录结构 + +``` +blander-mcp/ +├── src/ +│ ├── mcp/ # MCP Server +│ │ └── blmcp/ +│ │ ├── __init__.py # 入口,工具自动注册 +│ │ ├── __main__.py +│ │ ├── data/ +│ │ │ ├── prompts.yml # System Prompt +│ │ │ ├── api/ # Blender API RST 文档 +│ │ │ └── manual/ # Blender 用户手册 RST 文档 +│ │ ├── tools/ # 每个能力一对文件 +│ │ │ ├── xxx.py # 工具注册(@mcp.tool) +│ │ │ └── xxx_toolcode.py # 发送给 Blender 执行的 Python 代码 +│ │ └── tools_helpers/ # 通信、文档搜索等共享工具 +│ ├── addon/ # Blender Addon +│ │ └── blender_mcp_addon/ +│ │ ├── __init__.py # Addon 注册入口 +│ │ ├── mcp_to_blender_server.py # TCP Server + 主线程调度 +│ │ └── execute_*.py # 代码执行机制 +│ └── tests/ # 测试套件 +├── plan/ # 计划文档 +├── pyproject.toml # 项目配置 +└── uv.lock +``` + +--- + +## 四、工具组织原则 + +MCP Server 中每个工具对应 `tools/` 下的一对文件: + +- `capability_name.py` — 注册 `@mcp.tool()`,校验参数,调用 `send_code` +- `capability_name_toolcode.py` — 纯 Python/bpy 代码模板,在 Blender 侧执行 + +工具按能力命名,不按命名空间分组。文件通过 `pkgutil.iter_modules` 自动发现和注册, +无需手动维护列表。 + +--- + +## 五、错误信息规范 + +所有工具调用返回统一结构: + +```json +// 成功 +{ + "status": "ok", + "result": { ... } +} + +// 失败 +{ + "status": "error", + "message": "对象 'robot' 不存在", + "hint": "可用对象:['Camera', 'Light', 'Cube']" +} +``` + +错误信息必须对 AI 友好:告知当前可用状态,让 AI 能自我纠正。 + +--- + +## 六、连接配置 + +MCP Server 通过环境变量配置 Blender 连接: + +| 环境变量 | 默认值 | 说明 | +|----------|--------|------| +| `BLENDER_MCP_HOST` | `127.0.0.1` | Blender Addon 地址 | +| `BLENDER_MCP_PORT` | `6789` | Blender Addon 端口 | + +--- + +## 七、Claude Desktop 配置 + +```json +{ + "mcpServers": { + "blender-mcp": { + "command": "uv", + "args": [ + "run", + "--directory", + "D:/data/projects/blander-mcp", + "blender-mcp" + ] + } + } +} +``` diff --git a/Plugin/BlenderBridge/blander-mcp/plan/dev-step.md b/Plugin/BlenderBridge/blander-mcp/plan/dev-step.md new file mode 100644 index 0000000..d7a855b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/plan/dev-step.md @@ -0,0 +1,256 @@ +# 详细开发步骤 + +> 以 requirements.md 为准,按里程碑逐项列出待实现任务与验收标准。 +> 每个任务对应 `src/mcp/blmcp/tools/` 下一对文件: +> `.py` + `_toolcode.py`。 + +--- + +## M0:基础设施(贯穿全程) + +### REQ-00:连通性验证 + +- [x] 提供 `ping` 类工具,AI 可主动验证 Blender 是否在线 +- [x] 返回 Blender 版本号(`bpy.app.version_string`) + +**验收**:AI 调用后获得版本字符串;Blender 未启动时得到明确的连接失败错误。 + +--- + +### REQ-01:结构化错误信息 + +- [x] 所有工具的错误返回统一包含四个字段: + - `error_code`:机器可读错误代码(字符串常量) + - `message`:人类可读描述 + - `current_state`:当前可用状态快照(如现有对象列表) + - `hint`:下一步建议,供 AI 自我纠正 + +**验收**:调用任一工具传入无效参数,返回结构完整的四字段错误对象, +AI 无需人工介入即可根据 `hint` 重试。 + +--- + +### REQ-02:场景状态查询 + +- [x] 查询场景中所有对象(名称、类型、位置) +- [x] 查询帧范围(`frame_start`、`frame_end`)和当前帧(`frame_current`) + +**验收**:空场景和有对象的场景均能返回正确结构;帧信息与 Blender UI 一致。 + +--- + +## M1:Grease Pencil 矢量动画 + +### REQ-03:GP 对象与图层管理 + +- [x] 创建 GP 对象(返回实际名称,处理 `.001` 后缀) +- [x] 在指定 GP 对象上创建图层(指定图层名) +- [x] 删除指定图层 +- [x] 查询指定 GP 对象的图层列表 + +**验收**: +- 创建同名对象两次,第二个名称自动带后缀且不报错 +- 查询图层列表返回创建顺序与名称 + +--- + +### REQ-04:笔触绘制 + +- [x] 在指定 GP 对象、指定图层、指定帧上绘制坐标序列笔触(`list[tuple[float, float, float]]`) +- [x] 支持**替换**模式:清空该帧已有笔触后写入 +- [x] 支持**追加**模式:在该帧追加新笔触 +- [x] 预制形状快速生成: + - [x] 直线(起点、终点、点数)— `gp_shape_draw shape="line"` + - [x] 矩形(中心、宽、高)— `gp_shape_draw shape="rect"` + - [x] 圆(中心、半径、点数)— `gp_shape_draw shape="circle"` + +**验收**: +- 替换后该帧只有一条笔触 +- 追加后笔触数量叠加 +- 预制圆形首尾坐标吻合(闭合) + +--- + +### REQ-05:GP 材质与颜色 + +- [x] 创建 GP 专用材质,设置描边颜色(RGBA)和填充色(RGBA) +- [x] 将已有材质分配给指定 GP 对象 + +**验收**:材质颜色在 Blender 材质面板中可见;分配后对象材质槽更新。 + +--- + +### REQ-06:图层动画 + +- [x] 对指定 GP 对象的指定图层透明度(`opacity`)在指定帧插入关键帧 +- [x] 读取指定图层已有的透明度关键帧列表(帧号 + 值) + +**验收**: +- 插入两个关键帧后,播放区间内透明度渐变 +- 读取返回的帧号与插入时一致 + +--- + +### REQ-07:渲染输出(M1 范围) + +- [x] 渲染**当前帧**为图片,输出到指定路径 +- [x] 渲染**帧序列**并合成为视频文件,输出到指定路径 +- [x] 支持设置:输出路径、分辨率(宽 × 高)、帧率 + +**验收**: +- 单帧渲染后文件存在且可打开 +- 帧序列渲染后视频文件存在,时长与帧数/帧率吻合 +- 分辨率与设置值一致 + +**M1 整体验收**:AI 能完成「创建 GP 对象 → 绘制形状 → 设置颜色 → 插入动画关键帧 → +渲染为视频」全流程,全程不调用 `execute_blender_code`。 + +--- + +## M2:关键帧动画 + +### REQ-08:基础 3D 对象创建 + +- [x] 创建常见几何体:立方体、球体、平面、圆柱 +- [x] 创建时可指定对象名称和初始位置(`location: tuple[float, float, float]`) + +**验收**:创建后对象出现在场景中,名称和位置与参数一致。 + +--- + +### REQ-09:变换关键帧 + +- [x] 对指定对象的位置 / 旋转 / 缩放在指定帧插入关键帧 +- [x] 读取指定对象指定属性的 F-Curve 数据(帧号 + 值列表) +- [x] 插入关键帧时可指定插值模式:`BEZIER` / `LINEAR` / `CONSTANT` + +**验收**: +- 插入两个 LINEAR 关键帧后,F-Curve 读取返回对应帧号和值 +- 插值模式在 Blender Graph Editor 中与设置值一致 + +--- + +### REQ-10:摄像机动画 + +- [x] 对摄像机位置插入关键帧(指定帧、位置坐标) +- [x] 对摄像机目标点插入关键帧(通过 Track-To 约束或 Empty 对象) + +**验收**:插入关键帧后播放,摄像机在指定帧运动到正确位置。 + +**M2 整体验收**:AI 能完成「创建几何体 → 设置位置关键帧 → 设置摄像机关键帧 → +渲染为视频」全流程。 + +--- + +## M3:程序动画 & 材质 + +### REQ-11:修改器应用 + +- [x] 对指定对象添加修改器(波浪 `WAVE`、细分 `SUBSURF` 等),可设置参数 +- [x] 读取指定对象的修改器列表及各修改器参数 + +**验收**: +- 添加细分修改器后,`get_object_detail_summary` 能看到修改器条目 +- 参数读取值与添加时传入值一致 + +--- + +### REQ-12:Driver 绑定 + +- [x] 为指定对象的指定属性绑定 Driver,表达式为数学公式字符串 +- [x] 绑定后可读取 Driver 表达式(验证写入成功) + +**验收**:绑定 `sin(frame/10)` 到 Z 位置后,播放时对象随帧上下运动。 + +--- + +### REQ-13:Geometry Nodes 操作 + +- [x] 查询指定对象的 Geometry Nodes 节点图结构(节点名称、类型、参数) +- [x] 向指定对象应用预制节点图(波浪变形、噪声置换等) +- [x] 修改指定节点的指定参数值 +- [x] 为指定节点参数在指定帧插入关键帧 + +**验收**: +- 应用预制节点图后查询返回正确节点列表 +- 修改参数后读取新值与设置值一致 +- 节点参数关键帧在 Graph Editor 中可见 + +--- + +### REQ-14:材质摘要查询 + +- [x] 查询场景中所有材质的名称及基础属性(颜色、类型) +- [x] 查询指定对象当前使用的材质列表 + +**验收**:新建材质后查询结果中包含该材质;对象更换材质后查询结果更新。 + +--- + +### REQ-15:材质赋予 + +- [x] 将场景中已有材质分配给指定对象(指定材质槽索引) + +**验收**:赋予后对象材质槽显示正确材质名称;可覆盖已有槽也可追加新槽。 + +**M3 整体验收**:AI 能完成「添加修改器 → 绑定 Driver → 应用 Geometry Nodes → +查询并修改材质」全流程,无需 `execute_blender_code`。 + +--- + +## M4:资产导入 & 角色动画 + +### REQ-16:资产导入 + +- [x] 从外部文件导入对象:FBX、GLTF/GLB、OBJ +- [x] 从另一个 `.blend` 文件通过 Library Link 引入资产(对象、集合) + +**验收**: +- 导入后对象出现在场景中,名称与源文件一致 +- Library Link 对象在 Outliner 中显示为外部链接状态 + +--- + +### REQ-17:Armature 动画 + +- [x] 将预制 Action 应用到指定 Armature 对象 +- [x] 对 IK 目标(Empty 对象)在指定帧插入位置关键帧 + +**验收**: +- 应用 Action 后播放,骨骼按 Action 运动 +- IK 目标关键帧插入后,播放时末端骨骼跟随目标移动 + +**M4 整体验收**:AI 能完成「导入角色资产 → 应用 Action → 设置 IK 关键帧 → +渲染为视频」全流程。 + +--- + +## 非功能需求(贯穿全程验收) + +### NFR-01:工具可靠性 + +- [x] `gp_stroke_draw` REPLACE × 10:每次返回 `stroke_count=1`,无残留 +- [x] `gp_stroke_draw` APPEND × 10:笔触数正确累加 1→10,无静默失败 +- [x] `gp_shape_draw` circle REPLACE × 10:`point_count` 每次一致,无漂移 +- [x] `object_keyframe_insert` 同帧 × 10:无重复关键帧,无静默失败 +- [x] `object_keyframe_insert` 不同帧 × 10:F-Curve 累积恰好 10 个关键帧 + +### NFR-02:错误自愈 + +- [x] 所有工具错误响应包含四字段(`error_code` / `message` / `current_state` / `hint`) +- [x] `current_state` 非空,包含 AI 自我纠正所需的可用选项列表 +- [x] `hint` 为有意义的非空字符串(长度 > 5) +- [x] 修复 6 处 toolcode bug:`asset_import` / `blend_library_link` / `gp_shape_draw` / + `object_modifier_add` / `object_driver_add` / `object_keyframe_insert` + 的部分 error 路径 `current_state={}` 改为提供有用信息 +- [x] `blend_library_link` 参数验证顺序优化:`INVALID_ASSET_TYPE` 先于 `FILE_NOT_FOUND` +- [x] 覆盖所有里程碑工具的代表性错误路径(GP / 动画 / 修改器 / GeoNodes / 资产导入 / 骨架) + +### NFR-03:单 Blender 实例 + +- [x] `connection.py` 新增 `_blender_lock = threading.Lock()`,序列化所有 `send_code` 调用 +- [x] 锁忙时立即返回四字段 `BLENDER_BUSY` 错误(不阻塞) +- [x] `finally` 块确保锁在连接异常时也能正确释放 +- [x] `mcp_client.py` 升级为 per-request queue 路由,支持并发请求 ID 匹配 +- [x] 单元测试(`TestNFR03Unit`):持锁时返回 BUSY、REQ-01 合规、两线程并发场景、 + ConnectionError 后锁释放、顺序调用时锁可用 diff --git a/Plugin/BlenderBridge/blander-mcp/plan/reference.md b/Plugin/BlenderBridge/blander-mcp/plan/reference.md new file mode 100644 index 0000000..3e36f76 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/plan/reference.md @@ -0,0 +1,474 @@ +# Blender Animation MCP — 开发参考手册 + +> 给 Blender 新手看的关键概念、常见陷阱、调试方法。 + +--- + +## 一、Addon 安装与开发 + +### 开发阶段用 symlink,不要每次打 zip + +Blender 5.1+ 使用 Extensions 系统,extension id 为 `mcp`,链接名必须与之一致。 + +**macOS** + +```bash +ln -s /path/to/blander-mcp/src/addon/blender_mcp_addon \ + ~/Library/Application\ Support/Blender/5.1/extensions/user_default/mcp +``` + +**Windows**(管理员 PowerShell) + +```powershell +New-Item -ItemType SymbolicLink ` + -Path "$env:APPDATA\Blender Foundation\Blender\5.1\extensions\user_default\mcp" ` + -Target "C:\path\to\blander-mcp\src\addon\blender_mcp_addon" +``` + +创建链接后重启 Blender,在 **Edit > Preferences > Add-ons** 中搜索并启用 **MCP**。 + +### Blender Python Console 快速测试 + +在 Blender → Scripting 标签页 → 底部 Console 中直接运行 bpy 代码: + +```python +[o.name for o in bpy.data.objects] # 场景对象列表 +[l.name for l in bpy.data.objects["MyGP"].data.layers] # GP 图层列表 +``` + +### Addon 日志查看 + +从命令行启动 Blender,`print()` 输出到该终端: + +```bash +# macOS +/Applications/Blender.app/Contents/MacOS/Blender + +# Windows +"C:\Program Files\Blender Foundation\Blender 5.1\blender.exe" +``` + +--- + +## 二、进程通信关键知识 + +### 为什么必须用 bpy.app.timers? + +bpy API 不是线程安全的。在 TCP 子线程里直接调用 bpy 会 crash。正确模式: + +``` +TCP 子线程 + │ 收到指令 + ▼ +_command_queue.put(command) ← 线程安全的 Queue + +bpy.app.timers(主线程,每 50ms 触发) + │ 轮询队列 → 执行 bpy 操作 + ▼ +将结果放回响应队列 + +TCP 子线程 + │ 读取响应 + ▼ +发送给 MCP Server +``` + +### TCP 通信数据格式 + +Addon 使用 null byte(`\x00`)作为消息分隔符: + +```python +# 发送 +payload = json.dumps({"code": "..."}).encode() + b"\x00" +socket.sendall(payload) + +# 接收(读取直到 null byte) +data = b"" +while True: + chunk = socket.recv(4096) + data += chunk + if b"\x00" in data: + break +result = json.loads(data.rstrip(b"\x00")) +``` + +### 超时处理 + +每次 MCP Server 调用 Blender 设 30 秒超时: + +```python +socket.settimeout(30) +``` + +--- + +## 三、Grease Pencil API 速查(GPv3 / Blender 5.1+) + +### 数据层级 + +```python +gp_obj = bpy.data.objects["gp_canvas"] # Object +gp_data = gp_obj.data # bpy.types.GreasePencil(GPv3) + +# 图层 +layer = gp_data.layers.new("outline") # 创建 +layer = gp_data.layers.get("outline") # 获取(不存在返回 None) +layer.opacity = 0.5 # 不透明度 +layer.hide = True # 隐藏 + +# 帧(GPv3 新 API) +frame = layer.frames.new(1) # 在第 1 帧创建新帧 +frame = layer.get_frame_at(1) # 获取已有帧 +# 注意:frames 集合没有 .get() 方法,用 get_frame_at() 替代 + +# 绘图(Drawing)—— GPv3 新概念,一帧对应一个 drawing +drawing = frame.drawing # bpy.types.GreasePencilDrawing + +# 笔触(GPv3 新 API,不再用 frame.strokes.new()) +drawing.add_strokes([3]) # 添加一个有 3 个点的笔触 +# 总点数 / 总笔触数 +n_pts = drawing.attributes.domain_size("POINT") +n_curves = drawing.attributes.domain_size("CURVE") + +# 设置点位置(attributes API) +pos_attr = drawing.attributes["position"] +pos_attr.data[0].vector = (0.0, 0.0, 0.0) # 第 0 个点 + +# 设置点粗细(radius,对象空间单位) +radius_attr = drawing.attributes["radius"] +radius_attr.data[0].value = 0.01 + +# 设置笔触材质(CURVE 域) +mat_attr = drawing.attributes["material_index"] +mat_attr.data[0].value = 0 # 第 0 条笔触,材质槽 0 + +# 删除所有笔触(replace 模式推荐做法:删帧再重建) +layer.frames.remove(frame.frame_number) +frame = layer.frames.new(frame_number) +drawing = frame.drawing +``` + +### GP 材质 + +```python +mat = bpy.data.materials.new("my_mat") +bpy.data.materials.create_gpencil_data(mat) +mat.grease_pencil.color = (0.0, 0.0, 0.0, 1.0) # 描边色(RGBA,线性) +mat.grease_pencil.fill_color = (1.0, 0.0, 0.0, 1.0) # 填充色(RGBA,线性) +# 注意:show_fill / show_stroke 在 Blender 5.1 中已废弃(将在 6.0 移除) +# 填充可见性改由 fill_color[3](alpha)控制,alpha=0 即隐藏填充 + +gp_obj.data.materials.append(mat) + +# 检查对象槽中是否已有该材质(幂等分配) +existing = [s.material for s in gp_obj.material_slots if s.material] +if mat not in existing: + gp_obj.data.materials.append(mat) +``` + +### 坐标系 + +Blender 右手坐标系:X 右、Y 前(屏幕内)、Z 上。 +Grease Pencil 2D 动画通常在 XZ 平面作画(Y=0),摄像机从 -Y 方向看。 + +### 关键帧动画 + +```python +layer.opacity = 1.0 +layer.keyframe_insert(data_path="opacity", frame=1) + +layer.opacity = 0.0 +layer.keyframe_insert(data_path="opacity", frame=60) +``` + +--- + +## 四、MCP Server 开发注意事项 + +### Tool 描述很重要 + +AI 完全依赖 `@mcp.tool()` 的 docstring 决定如何调用。 + +```python +# 好 +async def create_gp_layer(object_name: str, layer_name: str = "Layer") -> str: + """ + 在指定的 Grease Pencil 对象上创建新图层。 + + Returns the actual layer name created (may differ if name already exists). + """ + +# 差 +async def create_gp_layer(object_name: str, layer_name: str) -> str: + """创建图层""" +``` + +### 错误信息必须对 AI 友好 + +```python +# 好 +{ + "status": "error", + "message": "GP object 'canvas' not found.", + "hint": "Call create_gp_object first, or use one of: ['gp_obj1']" +} + +# 差 +{"error": "KeyError: 'canvas'"} +``` + +--- + +## 五、常见问题 + +### GP 对象创建了但看不见 + +`stroke.display_mode` 没有设置为 `'3DSPACE'`。 + +### Blender crash 而不是报错 + +在非主线程调用了 bpy。所有 bpy 调用必须在 `bpy.app.timers` 回调里。 + +### MCP Server 调用超时 + +1. 检查 Blender Addon 是否已启用(TCP Server 是否在监听) +2. 用手动 TCP 脚本绕过 Claude 直接测试 Addon +3. 检查 Blender 主线程是否卡在长时间操作(如渲染) + +### GP 颜色显示偏差 + +Blender 内部使用线性颜色空间,输入值会被当作 linear 处理。 +纯黑 `(0,0,0,1)` 和纯白 `(1,1,1,1)` 不受影响,中间色会有偏差。 + +--- + +## 六、渲染 API 速查(Blender 5.1) + +### 单帧渲染 + +```python +scene = bpy.context.scene +rd = scene.render + +# 临时覆盖分辨率 +orig_x, orig_y = rd.resolution_x, rd.resolution_y +rd.resolution_x, rd.resolution_y = 1920, 1080 +rd.resolution_percentage = 100 # 确保实际等于指定值 + +# 设置输出路径(write_still 会在渲染完成后写文件) +orig_filepath = rd.filepath +rd.filepath = "/tmp/frame.png" + +# 非交互(后台)模式 +bpy.ops.render.render(write_still=True) + +# 交互模式(异步,需用 bpy.app.timers 轮询) +bpy.ops.render.render('INVOKE_DEFAULT', write_still=True) + +# 恢复 +rd.filepath = orig_filepath +rd.resolution_x, rd.resolution_y = orig_x, orig_y +``` + +### 动画序列 → 视频(Blender 5.1 新 API) + +```python +rd = scene.render +image_settings = rd.image_settings + +# Blender 5.1+:media_type 属性 +image_settings.media_type = 'VIDEO' # 'IMAGE' / 'MULTI_LAYER_IMAGE' / 'VIDEO' + +# ffmpeg 编解码(无论新旧 API 均有效) +rd.ffmpeg.format = 'MPEG4' +rd.ffmpeg.codec = 'H264' +rd.ffmpeg.audio_codec = 'NONE' + +rd.filepath = "/tmp/output.mp4" +scene.frame_start = 1 +scene.frame_end = 60 + +bpy.ops.render.render(animation=True) # 后台模式 +# bpy.ops.render.render('INVOKE_DEFAULT', animation=True) # 交互模式 + +# 检查渲染是否完成(交互模式轮询) +bpy.app.is_job_running('RENDER') # True = 仍在渲染 +``` + +### 兼容性写法(同时支持旧版与 5.1) + +```python +if hasattr(image_settings, "media_type"): + image_settings.media_type = 'VIDEO' +else: + image_settings.file_format = 'FFMPEG' +``` + +--- + +## 八、上游代码结构与更新方法 + +`src/mcp/blmcp/` 的内容来自**三个独立来源**,更新时需要分别处理。 + +### 来源说明 + +``` +src/mcp/blmcp/ +├── __init__.py ┐ +├── tools/ ├─ 来源①:blender_mcp 上游仓库(经本项目适配) +├── tools_helpers/ ┘ +└── data/ + ├── api/ ── 来源②:Blender Python API 文档(RST) + └── manual/ ── 来源③:Blender 用户手册(RST) +``` + +`data/` 下的文件通过辅助脚本从外部同步,不属于上游仓库的代码。 + +--- + +### 本项目与上游的差异 + +更新前必须了解哪些文件是我们自己加的/改过的,避免被上游覆盖。 + +**本项目新增(上游不存在,直接保留):** + +| 文件 | 功能 | +|------|------| +| `tools/_template_tool_error.py` | REQ-01 结构化错误模板 | +| `tools/get_scene_state.py / _toolcode.py` | REQ-02 场景状态查询 | +| `tools/gp_object_create.py / _toolcode.py` | REQ-03 GP 对象创建 | +| `tools/gp_layer_create.py / _toolcode.py` | REQ-03 GP 图层创建 | +| `tools/gp_layer_delete.py / _toolcode.py` | REQ-03 GP 图层删除 | +| `tools/gp_layers_list.py / _toolcode.py` | REQ-03 GP 图层列表 | +| `tools/gp_stroke_draw.py / _toolcode.py` | REQ-04 笔触绘制(自由坐标) | +| `tools/gp_shape_draw.py / _toolcode.py` | REQ-04 预制形状(rect/circle) | +| `tools/gp_material_create.py / _toolcode.py` | REQ-05 GP 材质创建 | +| `tools/gp_material_assign.py / _toolcode.py` | REQ-05 GP 材质分配 | +| `tools/gp_layer_opacity_set.py / _toolcode.py` | REQ-06 图层透明度关键帧 | +| `tools/gp_layer_keyframes_list.py / _toolcode.py` | REQ-06 读取透明度关键帧 | +| `tools/render_frame.py / _toolcode.py` | REQ-07 单帧渲染为图片 | +| `tools/render_animation.py / _toolcode.py` | REQ-07 帧序列渲染为视频 | + +**本项目改过(需手动 diff 再合并):** + +| 文件 | 改动原因 | +|------|----------| +| `tools/get_object_detail_summary_toolcode.py` | REQ-01 统一错误结构 | +| `tools/jump_to_tab_by_name_toolcode.py` | REQ-01 统一错误结构 | +| `tools/jump_to_tab_by_space_type_toolcode.py` | REQ-01 统一错误结构 | +| `tools/jump_to_view3d_object_by_name_toolcode.py` | REQ-01 统一错误结构 | +| `tools/jump_to_view3d_object_data_by_name_toolcode.py` | REQ-01 统一错误结构 | + +--- + +### 更新来源①:核心代码 + +上游目录结构与本项目有差异(upstream: `mcp/blmcp/` → 本项目: `src/mcp/blmcp/`)。 + +```bash +# 1. 克隆上游(--depth 节省时间;已有则 git -C upstream_tmp pull) +git clone --depth=20 https://projects.blender.org/lab/blender_mcp.git upstream_tmp + +# 2. 查看上游最近变更,了解改了什么 +git -C upstream_tmp log --oneline -15 + +# 3. 同步"未改动"的文件(可直接覆盖) +cp upstream_tmp/mcp/blmcp/__init__.py src/mcp/blmcp/ +cp upstream_tmp/mcp/blmcp/tools_helpers/*.py src/mcp/blmcp/tools_helpers/ + +# 对 tools/ 下上游有、我们未改动的文件逐个覆盖: +# cp upstream_tmp/mcp/blmcp/tools/ping.py src/mcp/blmcp/tools/ +# cp upstream_tmp/mcp/blmcp/tools/ping_toolcode.py src/mcp/blmcp/tools/ +# ...(按需) + +# 4. 对"改过"的文件,先 diff 再手动合并 +diff upstream_tmp/mcp/blmcp/tools/get_object_detail_summary_toolcode.py \ + src/mcp/blmcp/tools/get_object_detail_summary_toolcode.py + +# 5. 修复 import 路径(上游使用 blmcp,本项目相同,通常无需修改) +# 如发现 from src.mcp.blmcp 前缀,批量替换: +# grep -r "src\.mcp\.blmcp" src/mcp/blmcp/ + +# 6. 清理临时目录 +rm -rf upstream_tmp +``` + +--- + +### 更新来源②:API 文档 + +需要本地 Blender 源码,构建后用脚本同步。 + +```bash +# 克隆 Blender 源码(体积大,只需一次) +git clone --depth=1 https://projects.blender.org/blender/blender.git blender_src + +# 在 Blender 源码目录构建 Python API 文档 +cd blender_src +make docs_py +# 产物默认在 doc/python_api/ + +# 同步到本项目 +python src/_misc/update_reference_api.py blender_src/doc/python_api/ +``` + +--- + +### 更新来源③:用户手册 + +```bash +git clone --depth=1 https://projects.blender.org/blender/blender-manual.git blender_manual + +python src/_misc/update_reference_manual.py blender_manual/ +``` + +--- + +### 恢复同步脚本 + +如果 `src/_misc/` 下的脚本丢失,可从 git 历史找回: + +```bash +git show 6294711:references/blender_mcp/_misc/update_reference_api.py \ + > src/_misc/update_reference_api.py + +git show 6294711:references/blender_mcp/_misc/update_reference_manual.py \ + > src/_misc/update_reference_manual.py +``` + +--- + +## 七、版本兼容性(Blender 5.1 基准) + +| 组件 | 版本 | 备注 | +|------|------|------| +| Blender | **5.1**(基准) | GPv3 API,Extensions 系统 | +| Python(Blender 内置) | 3.11 | Addon 用此版本,无法更改 | +| Python(MCP Server) | 3.10+ | blmcp 要求 | +| blmcp | 1.0.0 | 官方参考实现 | +| uv | 最新 | 包管理器 | + +**已知 Blender 5.1 API 变更:** + +| 变更项 | 旧 API(4.x) | 新 API(5.1) | +|--------|--------------|--------------| +| GP 对象类型 | `'GPENCIL'` | `'GREASEPENCIL'` | +| GP 数据创建 | `bpy.data.grease_pencils.new()` | 同上(未变) | +| GP 笔触创建 | `frame.strokes.new()` | `drawing.add_strokes([n])` | +| GP 填充可见 | `mat.grease_pencil.show_fill = True` | alpha > 0(`show_fill` 废弃) | +| 视频渲染格式 | `image_settings.file_format = 'FFMPEG'` | `image_settings.media_type = 'VIDEO'` | + +> 升级 Blender 版本时,来源①②③均需同步更新,仅更新核心代码不够。 + +--- + +## 九、参考链接 + +| 资源 | 地址 | +|------|------| +| Blender Python API 文档 | https://docs.blender.org/api/current/ | +| bpy PyPI 包 | https://pypi.org/project/bpy/ | +| Blender MCP Server 页面 | https://www.blender.org/lab/mcp-server/ | +| blender-mcp 源码仓库 | https://projects.blender.org/lab/blender_mcp | +| Blender 用户手册仓库 | https://projects.blender.org/blender/blender-manual | +| Blender 源码仓库 | https://projects.blender.org/blender/blender | \ No newline at end of file diff --git a/Plugin/BlenderBridge/blander-mcp/plan/requirements.md b/Plugin/BlenderBridge/blander-mcp/plan/requirements.md new file mode 100644 index 0000000..d237415 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/plan/requirements.md @@ -0,0 +1,174 @@ +# AI 动画工厂 — 需求文档 + +> 本文档描述「需要什么能力」,不规定具体实现方式或工具命名。 + +--- + +## 一、项目目标 + +用自然语言驱动 Blender,**批量、程序化、自动化**地生产矢量动画与帧动画内容。 +AI 负责组织、驱动和渲染,美术资源可外部导入。 + +--- + +## 二、基础设施需求(M0,贯穿全程) + +### REQ-00:连通性验证 + +系统必须提供一个可供 AI 验证 Blender 连接状态的能力,返回 Blender 版本信息。 + +### REQ-01:结构化错误信息 + +所有工具调用失败时,返回信息必须包含: +- 错误代码(机器可读) +- 错误描述(人类可读) +- 当前可用状态(如现有对象列表) +- 下一步建议(`hint` 字段) + +目的:AI 收到错误后能自我纠正,不需要人工介入。 + +### REQ-02:场景状态查询 + +AI 必须能随时查询当前 Blender 场景中存在的对象、类型、位置, +以及帧范围、当前帧等基础信息。 + +--- + +## 三、Grease Pencil 矢量动画需求(M1) + +### REQ-03:GP 对象与图层管理 + +- 创建 Grease Pencil 对象 +- 创建、删除图层 +- 查询对象内图层列表 + +### REQ-04:笔触绘制 + +- 在指定帧、指定图层上绘制坐标序列笔触 +- 支持按帧替换/追加笔触内容 +- 支持常见预制形状的快速生成(圆、矩形、直线等) + +### REQ-05:GP 材质与颜色 + +- 创建 GP 专用材质,设置描边颜色和填充色 +- 将材质分配给对象 + +### REQ-06:图层动画 + +- 对图层透明度设置关键帧 +- 读取已有关键帧数据(供 AI 验证) + +### REQ-07:渲染输出 + +- 渲染当前帧为图片 +- 渲染帧序列并合成为视频文件 +- 支持设置输出路径、分辨率、帧率 + +--- + +## 四、关键帧动画需求(M2) + +### REQ-08:基础 3D 对象创建 + +- 创建常见几何体(立方体、球体、平面、圆柱) +- 设置对象名称、位置 + +### REQ-09:变换关键帧 + +- 对任意对象的位置/旋转/缩放设置关键帧 +- 读取 F-Curve 数据(供 AI 验证写入结果) +- 支持常见插值模式(BEZIER / LINEAR / CONSTANT) + +### REQ-10:摄像机动画 + +- 设置摄像机关键帧(位置、目标点) + +--- + +## 五、程序动画需求(M3) + +### REQ-11:修改器应用 + +- 对对象添加常见修改器(波浪、细分等) +- 读取对象当前修改器列表和参数 + +### REQ-12:Driver 绑定 + +- 为对象属性绑定 Driver 表达式(数学公式驱动) + +### REQ-13:Geometry Nodes 操作 + +- 查看对象当前节点图结构 +- 应用预制节点图(波浪变形、噪声置换等) +- 修改节点参数值 +- 为节点参数设置关键帧 + +--- + +## 六、资产与材质需求(M3/M4) + +### REQ-14:材质摘要查询 + +- 查询场景中所有材质及其基础属性 +- 查询对象当前使用的材质 + +### REQ-15:材质赋予 + +- 将已有材质分配给指定对象 + +### REQ-16:资产导入 + +- 从外部文件导入对象(FBX / GLTF / OBJ) +- 从另一个 .blend 文件 Library Link 资产 + +--- + +## 七、角色动画需求(M4) + +### REQ-17:Armature 动画 + +- 应用预制 Action 到角色 +- 设置 IK 目标关键帧 + +--- + +## 八、非功能需求 + +### NFR-01:工具可靠性 + +高频工具调用(Grease Pencil 绘制、关键帧设置)在重复调用下结果必须一致, +不能出现因状态残留导致的静默失败。 + +### NFR-02:错误自愈 + +AI 调用工具失败时,错误信息中的 `hint` 字段足够引导 AI 在下一次调用中自我纠正, +不需要人工介入。 + +### NFR-03:单 Blender 实例 + +当前只支持连接一个本地 Blender 实例。 + +--- + +## 九、需求与里程碑映射 + +| 需求 | M0 | M1 | M2 | M3 | M4 | +|------|----|----|----|----|-----| +| REQ-00 连通性验证 | ✓ | | | | | +| REQ-01 结构化错误 | ✓ | | | | | +| REQ-02 场景状态查询 | ✓ | | | | | +| REQ-03 GP 对象与图层 | | ✓ | | | | +| REQ-04 笔触绘制 | | ✓ | | | | +| REQ-05 GP 材质颜色 | | ✓ | | | | +| REQ-06 图层动画 | | ✓ | | | | +| REQ-07 渲染输出 | | ✓ | ✓ | ✓ | ✓ | +| REQ-08 基础 3D 对象 | | | ✓ | | | +| REQ-09 变换关键帧 | | | ✓ | | | +| REQ-10 摄像机动画 | | | ✓ | | | +| REQ-11 修改器应用 | | | | ✓ | | +| REQ-12 Driver 绑定 | | | | ✓ | | +| REQ-13 Geometry Nodes | | | | ✓ | | +| REQ-14 材质摘要查询 | | | | ✓ | | +| REQ-15 材质赋予 | | | | ✓ | | +| REQ-16 资产导入 | | | | | ✓ | +| REQ-17 Armature 动画 | | | | | ✓ | diff --git a/Plugin/BlenderBridge/blander-mcp/pyproject.toml b/Plugin/BlenderBridge/blander-mcp/pyproject.toml new file mode 100644 index 0000000..e66f7d6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/pyproject.toml @@ -0,0 +1,69 @@ +[build-system] +requires = ["setuptools>=68.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "blender-mcp" +version = "1.0.0" +description = "MCP server for Blender" +requires-python = ">=3.10" +dependencies = [ + "docutils", + "mcp[cli]>=1.2.0", + "pyyaml", +] + +[project.scripts] +blender-mcp = "blmcp:main" + +[tool.setuptools.packages.find] +where = ["src/mcp"] + +[tool.setuptools.package-data] +"blmcp" = [ + # MCP prompt definitions. + "data/prompts.yml", + # Blender Python API reference. + "data/api/**/*.rst", + # Blender user manual. + "data/manual/**/*.rst", +] + +[tool.mypy] +mypy_path = "src/mcp/stubs" + +[[tool.mypy.overrides]] +module = [ + "blmcp", "blmcp.*", + "blender_mcp_addon", "blender_mcp_addon.*", +] +strict = true + +[[tool.mypy.overrides]] +module = [ + "bpy", "bpy.*", + "mcp", "mcp.*", +] +ignore_missing_imports = true + +[tool.ruff] +extend-exclude = ["src/mcp/blmcp/data"] + +[tool.pylint.format] +max-line-length = 120 + +[tool.autopep8] +max_line_length = 120 +ignore = [ + "E721", + "E722", + "E402", + "W690", +] +aggressive = 2 + +[dependency-groups] +dev = [ + "autopep8>=2.3.2", + "pytest>=9.1.1", +] diff --git a/Plugin/BlenderBridge/blander-mcp/readme.md b/Plugin/BlenderBridge/blander-mcp/readme.md new file mode 100644 index 0000000..9b09728 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/readme.md @@ -0,0 +1,140 @@ +# Blender MCP + +## Overview + +A lightweight MCP (Model Context Protocol) server for Blender. +It offers a natural language interface with Blender's Python API, +improving access to documentation, and allowing users to explore +and understand complex setups. + +Read the documentation at [blender.org/lab/mcp-server](https://www.blender.org/lab/mcp-server/) + +---- + +The project is deliberately small, maintainable, and does no more than +necessary. It has two components that communicate over a TCP socket: + +- A **Blender add-on** that runs inside Blender and executes requests. +- An **MCP server** that runs as a separate process, launched by the + MCP client (e.g. [Llama.cpp](https://projects.blender.org/lab/blender_mcp/wiki/Llama.cpp)). + +The data flow is: +``` +MCP Client ⇐ MCP/stdio ⇒ blender-mcp ⇐ TCP socket ⇒ Blender Add-on +``` + + +## Blender Add-on + +Located in ``addon/blender_mcp_addon/``. + +A Blender extension that allows the MCP server to communicate with a +running Blender instance. It must be installed and enabled for any of +the MCP tools to work. + +The add-on provides a preferences panel for configuring the host, port, +and an optional auto-start setting. + +### Functionality Overview + +Note that this is intended to be a fairly minimal add-on. + +Connectivity + - Auto-start (optional), is non-blocking any issues can be viewed from the preferences. + - Configurable polling intervals (active and idle rates) from preferences to avoid excessive overhead. + - Client timeout protection - stalled connections are evicted. + - Start/stop operators accessible from the preferences panel. + - Deferred responses are supported only by the interactive add-on server; + background mode requires requests to complete synchronously and rejects deferred results. + + + + +## MCP Server + +Located in ``mcp/blmcp/``, installed as a Python package with the +entry point ``blender-mcp``. + +An MCP client launches this process and communicates with it over +stdio. The server connects to the add-on's TCP socket to relay +requests to Blender. + +``mcp/blmcp/data/`` + Data files bundled with the package. + + - ``prompts.yml`` provides instructions sent to the LLM at + connection time. + - ``api/`` contains Blender Python API reference in RST format. + - ``manual/`` contains Blender user manual excerpts in RST format. + +``mcp/blmcp/tools/`` + Each tool is a single module, auto-discovered at startup. + Modules ending in ``_toolcode`` contain code that runs inside + Blender (sent to the addon for execution) and are skipped during + discovery. + +``mcp/blmcp/tools_helpers/`` + Shared utilities used by tools. Tools should not import from each + other; shared logic lives here instead. + + +### Tools +- ``execute_blender_code`` + - Execute Python code in the connected Blender instance. +- ``execute_blender_code_for_cli`` + - Execute Python code in a background Blender process. +- ``get_blendfile_summary_datablocks`` + - Return a summary of the blend file: data-block counts, active workspace, + and render engine. +- ``get_blendfile_summary_datablocks_for_cli`` + - Return a data-block summary by opening *blend_file* in background + Blender. +- ``get_blendfile_summary_missing_files`` + - Report external file references that are missing from disk (images, + libraries, fonts, sounds, movie clips, caches, sequences). +- ``get_blendfile_summary_missing_files_for_cli`` + - Report missing file references by opening *blend_file* in background + Blender. +- ``get_blendfile_summary_of_linked_libraries`` + - Return a tree of directly and indirectly linked library files. +- ``get_blendfile_summary_of_linked_libraries_for_cli`` + - Return linked-library info by opening *blend_file* in background + Blender. +- ``get_blendfile_summary_path_info`` + - Simple/fast access to the blend file's path, save status, age, and + backups. +- ``get_blendfile_summary_path_info_for_cli`` + - Return path info by opening *blend_file* in background Blender. +- ``get_blendfile_summary_usage_guess`` + - Guess the primary use-cases of the current blend file (scored 0-100 with + certainty). +- ``get_blendfile_summary_usage_guess_for_cli`` + - Guess use-cases by opening *blend_file* in background Blender. +- ``get_object_detail_summary`` + - Return a structured summary of the object identified by *name*. +- ``get_objects_summary`` + - Return the scene's collection hierarchy and their objects. +- ``get_python_api_docs`` + - Return the Blender Python API docs for *identifier*, or list modules + matching a trailing-``*`` discovery pattern. +- ``get_screenshot_of_area_as_image`` + - Take a screenshot of a single Blender area and return it as a PNG image. +- ``get_screenshot_of_window_as_image`` + - Take a screenshot of the entire Blender window and return it as a PNG + image. +- ``get_screenshot_of_window_as_json`` + - Return a JSON description of the Blender window layout, areas, active + object, and selection. +- ``jump_to_tab_by_name`` + - Switch the active workspace tab to *name*. +- ``jump_to_tab_by_space_type`` + - Switch to a workspace whose main area matches *space_type*. +- ``jump_to_view3d_object_by_name`` + - Move the 3D viewport to focus on an object by *name*. +- ``jump_to_view3d_object_data_by_name`` + - Move the 3D viewport to the object whose data block matches *name*. +- ``render_thumbnail_to_path`` + - Render a small, low-quality thumbnail to *output_path* (temporarily + overrides settings). +- ``render_viewport_to_path`` + - Render the current scene to *output_path* using current render settings. \ No newline at end of file diff --git a/Plugin/BlenderBridge/blander-mcp/skills-lock.json b/Plugin/BlenderBridge/blander-mcp/skills-lock.json new file mode 100644 index 0000000..4893abf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/skills-lock.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "skills": { + "tdd": { + "source": "mattpocock/skills", + "sourceType": "github", + "skillPath": "skills/engineering/tdd/SKILL.md", + "computedHash": "d5ca5c8ae0615f343f1cfd71591f4a586046d77b1f36e8d67b8f643bad51043e" + } + } +} diff --git a/Plugin/BlenderBridge/blander-mcp/src/Makefile b/Plugin/BlenderBridge/blander-mcp/src/Makefile new file mode 100644 index 0000000..d64d498 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/Makefile @@ -0,0 +1,150 @@ +# Optional local overrides (silently skipped when absent). +# Exported so child processes inherit them as environment variables. +-include .env +export + +PYTHON ?= python +PYTHON_SOURCE_DIRS_TO_CHECK = mcp/blmcp/ addon/blender_mcp_addon/ chat_client/ _misc/ + +define HELP_TEXT + +Targets + * test: Run unit tests. + * test_rst_parse: Run unit tests for RST manual/API doc parsing. + * test_rst_search: Run unit tests for the RST text-search layer. + * test_integration: Run integration tests (requires BLENDER_BIN). + Loads .env if present (e.g. ANTHROPIC_API_KEY). + Uses .test_venv (delete to force a rebuild). + + List all tests: make test_integration TESTS_LIST=1 + Run tests: make test_integration TESTS=TestChatClient.test_name + Multiple tests: make test_integration TESTS="test_one test_two" + * format: Auto-format Python sources with autopep8. + * readme_update: Regenerate the tools listing in readme.rst. + +Static Source Code Checking + * check_license: Verify SPDX headers in all Python files. + * check_ascii: Reject non-ASCII characters in sources. + * check_mypy: Run mypy type checking. + * check_pylint: Run pylint linting. + * check_ruff: Run ruff linting. + * check_vulture: Run vulture dead-code detection. + * check_namespace: Verify __all__ is defined in all Python modules. + * check_all: Run all checks (ruff, mypy, vulture, license, ascii, namespace). + +Reference Data + * update_reference_manual: + Copy RST and Python files from a Blender manual checkout. + + Usage: make update_reference_manual MANUAL_DIR=/path/to/manual + + * update_reference_api: + Copy RST files from a Blender API reference build. + + Usage: make update_reference_api API_DIR=/path/to/api + +Environment Variables + Variables may be set in a .env file (loaded automatically). + + PYTHON Python interpreter (default: python). + BLENDER_BIN Path to the Blender binary (default: blender). + BLENDER_MCP Path to the blender-mcp command (default: blender-mcp). + BLENDER_PATH Path to the Blender binary used by the MCP server + (default: blender). + BLENDER_MCP_HOST Host the MCP addon listens on (default: localhost). + BLENDER_MCP_PORT Port the MCP addon listens on (default: 9876). + BLENDER_MCP_TIMEOUT Startup timeout in seconds for tests (default: 10). + GLOBAL_TIMEOUT_SCALE + Multiply all test timeouts by this factor + (default: 1). Useful on slower systems or + with slower models. + BLENDER_MCP_FOREGROUND + When set, run Blender in the foreground during tests. + ANTHROPIC_API_KEY API key for Claude integration tests. + ANTHROPIC_MODEL Model name for Claude tests + (default: claude-sonnet-4-20250514). + USE_LLAMA_CXX When set, run LLM tests using llama-server. + Cannot be combined with USE_ANTHROPIC. + Requires LLAMA_SERVER_BIN and + LLAMA_SERVER_ARGS. + Note: many tests may fail depending on the + capability of the model. + LLAMA_SERVER_BIN Path to the llama-server binary. + LLAMA_SERVER_ARGS Extra arguments for llama-server + (e.g. --jinja -m model.gguf). + The port is provided by the test harness; + do not include --port. + LLAMA_SERVER_VERBOSE + When set, forward llama-server output to + the terminal. + +endef +export HELP_TEXT + +help: + @echo "$$HELP_TEXT" + +test: + $(PYTHON) tests/test_tool_listing.py + $(PYTHON) tests/test_rst_parse.py + $(PYTHON) tests/test_rst_search.py + $(PYTHON) tests/test_mcp_server.py + $(PYTHON) tests/test_blender_mcp_with_blender.py + +test_rst_parse: + $(PYTHON) tests/test_rst_parse.py + +test_rst_search: + $(PYTHON) tests/test_rst_search.py + +test_integration: +ifdef TESTS_LIST + @$(PYTHON) _misc/test_integration_tests_list.py +else + $(PYTHON) tests/integration/test_blender_mcp_with_llm.py $(TESTS) +endif + +format: + @for d in mcp addon _misc tests chat_client; do \ + autopep8 --in-place --recursive $$d || exit 1; \ + done + +check_license: + @$(PYTHON) _misc/check_license.py + +check_ascii: + @$(PYTHON) _misc/check_ascii.py + +check_mypy: + @! $(PYTHON) -m mypy --exclude 'data/api/examples/' $(PYTHON_SOURCE_DIRS_TO_CHECK) 2>&1 | grep -v '^stubs/' | grep ': error:' || \ + { echo "mypy: found errors"; exit 1; } + +check_pylint: + pylint $(PYTHON_SOURCE_DIRS_TO_CHECK) \ + --disable=C0103,C0115,C0116,C0209,C0413,C0415,R0801,R0903,R0912,R0914,R0915,W0122 + +check_ruff: + ruff check $(PYTHON_SOURCE_DIRS_TO_CHECK) + +check_vulture: + vulture $(PYTHON_SOURCE_DIRS_TO_CHECK) \ + --exclude mcp/blmcp/data/api/examples \ + --ignore-decorators '@mcp.tool,@mcp.prompt' \ + --ignore-names 'bl_*,draw,execute,exclude' \ + --min-confidence 61 + +check_namespace: + @$(PYTHON) _misc/check_namespace.py --skip mcp/blmcp/data/api/examples $(PYTHON_SOURCE_DIRS_TO_CHECK) + +check_all: check_ruff check_mypy check_vulture check_license check_ascii check_namespace + +readme_update: + $(PYTHON) _misc/readme_update_from_tools.py + +update_reference_manual: + @test -n "$(MANUAL_DIR)" || { echo "Usage: make update_reference_manual MANUAL_DIR=/path/to/blender/manual"; exit 1; } + $(PYTHON) _misc/update_reference_manual.py "$(MANUAL_DIR)" + +update_reference_api: + @test -n "$(API_DIR)" || { echo "Usage: make update_reference_api API_DIR=/path/to/api"; exit 1; } + $(PYTHON) _misc/update_reference_api.py "$(API_DIR)" diff --git a/Plugin/BlenderBridge/blander-mcp/src/_misc/check_ascii.py b/Plugin/BlenderBridge/blander-mcp/src/_misc/check_ascii.py new file mode 100644 index 0000000..782f597 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/_misc/check_ascii.py @@ -0,0 +1,66 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Verify that source files contain only ASCII characters. +""" + +__all__ = ( + "main", +) + +import os +import sys + +# Directories to scan. +_SCAN_DIRS = ( + os.path.join("mcp"), + os.path.join("addon"), + os.path.join("chat_client"), +) + +# Directories to skip (relative to the repository root). +_SKIP_DIRS = ( + os.path.join("mcp", "blmcp", "data", "api", "examples"), +) + +# File extensions to check. +_EXTENSIONS = ( + ".py", + ".toml", +) + + +def main() -> int: + repo_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + fail = 0 + for scan_dir in _SCAN_DIRS: + scan_dir_abs = os.path.join(repo_root, scan_dir) + for dirpath, _dirnames, filenames in os.walk(scan_dir_abs): + dirpath_rel = os.path.relpath(dirpath, repo_root) + if any(dirpath_rel == d or dirpath_rel.startswith(d + os.sep) for d in _SKIP_DIRS): + continue + for filename in filenames: + if not any(filename.endswith(ext) for ext in _EXTENSIONS): + continue + filepath = os.path.join(dirpath, filename) + filepath_rel = os.path.relpath(filepath, repo_root) + with open(filepath, "rb") as fh: + for line_number, line in enumerate(fh, 1): + try: + line.decode("ascii") + except UnicodeDecodeError: + print("{:s}:{:d}:{:s}".format( + filepath_rel, line_number, line.decode("utf-8", errors="replace").rstrip(), + )) + fail = 1 + + if fail: + print("ERROR: non-ASCII characters found") + return fail + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/Plugin/BlenderBridge/blander-mcp/src/_misc/check_license.py b/Plugin/BlenderBridge/blander-mcp/src/_misc/check_license.py new file mode 100644 index 0000000..fed99a4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/_misc/check_license.py @@ -0,0 +1,60 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Verify that all Python files contain an SPDX license header on the first line. +""" + +__all__ = ( + "main", +) + +import os +import sys + +# Directories to scan. +_SCAN_DIRS = ( + os.path.join("mcp"), + os.path.join("addon"), + os.path.join("chat_client"), +) + +# Directories to skip (relative to the repository root). +_SKIP_DIRS = ( + os.path.join("mcp", "blmcp", "data", "api"), +) + + +def main() -> int: + """ + Entry point for the check-license script. + """ + repo_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + fail = 0 + count = 0 + for scan_dir in _SCAN_DIRS: + scan_dir_abs = os.path.join(repo_root, scan_dir) + for dirpath, _dirnames, filenames in os.walk(scan_dir_abs): + dirpath_rel = os.path.relpath(dirpath, repo_root) + if any(dirpath_rel == d or dirpath_rel.startswith(d + os.sep) for d in _SKIP_DIRS): + continue + for filename in filenames: + if not filename.endswith(".py"): + continue + filepath = os.path.join(dirpath, filename) + with open(filepath, "r", encoding="utf-8") as fh: + first_line = fh.readline() + if "SPDX" not in first_line: + print("Missing SPDX in: {:s}".format(os.path.relpath(filepath, repo_root))) + fail = 1 + else: + count += 1 + + print("Found {:d} files with SPDX headers.".format(count)) + return fail + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/Plugin/BlenderBridge/blander-mcp/src/_misc/check_namespace.py b/Plugin/BlenderBridge/blander-mcp/src/_misc/check_namespace.py new file mode 100644 index 0000000..dc7aba8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/_misc/check_namespace.py @@ -0,0 +1,194 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Verify that every Python module defines ``__all__``. + +Usage:: + + python _misc/check_namespace.py mcp/ addon/ +""" + +__all__ = ( + "main", +) + +import argparse +import ast +import os +import sys + + +def _extract_all(tree: ast.Module) -> tuple[str, ...] | None: + """Return the value of ``__all__`` if it is a simple tuple/list of strings. + + Returns ``None`` when no ``__all__`` assignment exists or when + the value cannot be statically evaluated. + """ + for node in ast.iter_child_nodes(tree): + if isinstance(node, ast.Assign): + for target in node.targets: + if isinstance(target, ast.Name) and target.id == "__all__": + if isinstance(node.value, (ast.Tuple, ast.List)): + names: list[str] = [] + for elt in node.value.elts: + if isinstance(elt, ast.Constant) and isinstance(elt.value, str): + names.append(elt.value) + else: + return None + return tuple(names) + return None + return None + + +def _has_all_assignment(tree: ast.Module) -> bool: + """Return whether an ``__all__`` assignment exists at module level.""" + for node in ast.iter_child_nodes(tree): + if isinstance(node, ast.Assign): + for target in node.targets: + if isinstance(target, ast.Name) and target.id == "__all__": + return True + return False + + +def _extract_names(tree: ast.Module) -> tuple[list[str], set[str]]: + """Return ``(definitions, all_names)`` at module level. + + *definitions* are functions, classes, and assignments (order preserved). + *all_names* includes definitions plus imported names. + """ + defs: list[str] = [] + all_names: set[str] = set() + for node in ast.iter_child_nodes(tree): + if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef, ast.ClassDef)): + defs.append(node.name) + all_names.add(node.name) + elif isinstance(node, ast.Assign): + for target in node.targets: + if isinstance(target, ast.Name): + defs.append(target.id) + all_names.add(target.id) + elif isinstance(node, ast.AnnAssign) and isinstance(node.target, ast.Name): + defs.append(node.target.id) + all_names.add(node.target.id) + elif isinstance(node, ast.Import): + for alias in node.names: + all_names.add(alias.asname if alias.asname else alias.name.split(".")[0]) + elif isinstance(node, ast.ImportFrom): + for alias in node.names: + all_names.add(alias.asname if alias.asname else alias.name) + return defs, all_names + + +def _create_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser( + description="Verify that every Python module defines ``__all__``.", + ) + parser.add_argument( + "--skip", + action="append", + default=[], + dest="skip_dirs", + metavar="DIR", + help="Directory to skip (may be repeated).", + ) + parser.add_argument( + "--verbose", "-v", + action="store_true", + help="Print files without errors too.", + ) + parser.add_argument( + "paths", + nargs="+", + metavar="PATH", + help="Files or directories to check.", + ) + return parser + + +def main() -> int: + args = _create_parser().parse_args() + errors = 0 + count = 0 + + skip_dirs: list[str] = args.skip_dirs + verbose: bool = args.verbose + paths: list[str] = args.paths + + for path in paths: + if os.path.isfile(path): + if any(path == d or path.startswith(d + os.sep) for d in skip_dirs): + files = [] + else: + files = [path] if path.endswith(".py") else [] + else: + files = [] + for dirpath, _dirnames, filenames in os.walk(path): + if any(dirpath == d or dirpath.startswith(d + os.sep) for d in skip_dirs): + continue + for filename in sorted(filenames): + if filename.endswith(".py"): + files.append(os.path.join(dirpath, filename)) + + for filepath in files: + filename = os.path.basename(filepath) + + with open(filepath, "r", encoding="utf-8") as fh: + source = fh.read() + + try: + tree = ast.parse(source, filename=filepath) + except SyntaxError as ex: + print("Syntax error: {:s}: {:s}".format(filepath, str(ex))) + errors += 1 + count += 1 + continue + + if not _has_all_assignment(tree): + print("Missing __all__: {:s}".format(filepath)) + errors += 1 + count += 1 + continue + + all_names = _extract_all(tree) + if all_names is None: + print("{:s}: (could not parse __all__)".format(filepath)) + count += 1 + continue + + if verbose: + print("{:s}: {:s}".format(filepath, ", ".join(all_names) if all_names else "(empty)")) + + all_set = set(all_names) + defs, module_names = _extract_names(tree) + for name in defs: + if name.startswith("_"): + continue + if name in all_set: + continue + print(" Not in __all__ and missing '_' prefix: {:s}".format(name)) + errors += 1 + # For package init files, subpackage directories and sibling + # modules count as implicitly defined names. + if filename == "__init__.py": + pkg_dir = os.path.dirname(filepath) + for entry in os.scandir(pkg_dir): + if entry.is_dir() and os.path.isfile(os.path.join(entry.path, filename)): + module_names.add(entry.name) + elif entry.is_file() and entry.name.endswith(".py") and entry.name != filename: + module_names.add(entry.name[:-3]) + + for name in all_names: + if name in module_names: + continue + print(" In __all__ but not defined: {:s}".format(name)) + errors += 1 + count += 1 + + print("Checked {:d} file(s), {:d} error(s).".format(count, errors)) + return 1 if errors else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/Plugin/BlenderBridge/blander-mcp/src/_misc/readme_update_from_tools.py b/Plugin/BlenderBridge/blander-mcp/src/_misc/readme_update_from_tools.py new file mode 100644 index 0000000..fda4de4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/_misc/readme_update_from_tools.py @@ -0,0 +1,123 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Update the tools listing in ``readme.rst`` from tool module docstrings. + +Scans ``mcp/blmcp/tools/`` for ``@mcp.tool()`` decorated functions, +extracts their names and docstrings, and replaces the content between +the ``BEGIN TOOL LISTING`` / ``END TOOL LISTING`` sentinels in the readme. +""" + +__all__ = ( + "main", +) + +import ast +import os +import sys +import textwrap + + +def _extract_tools(tools_dir: str) -> list[tuple[str, str]]: + """ + Return a sorted list of ``(name, description)`` pairs for every + ``@mcp.tool()`` decorated function found in *tools_dir*. + """ + tools: list[tuple[str, str]] = [] + for filename in sorted(os.listdir(tools_dir)): + if not filename.endswith(".py"): + continue + if filename.endswith("_toolcode.py"): + continue + if filename == "__init__.py": + continue + + filepath = os.path.join(tools_dir, filename) + with open(filepath, "r", encoding="utf-8") as fh: + tree = ast.parse(fh.read(), filename=filepath) + + for node in ast.walk(tree): + if not isinstance(node, ast.FunctionDef): + continue + # Check for the `@mcp.tool()` decorator. + has_decorator = False + for dec in node.decorator_list: + if isinstance(dec, ast.Call) and isinstance(dec.func, ast.Attribute): + if dec.func.attr == "tool": + has_decorator = True + break + if not has_decorator: + continue + + docstring = ast.get_docstring(node) or "" + # Use only the first paragraph of the docstring. + first_para = docstring.split("\n\n")[0].strip() + # Collapse to a single line. + description = " ".join(first_para.split()) + tools.append((node.name, description)) + + return tools + + +def _format_tools_rst(tools: list[tuple[str, str]]) -> str: + """ + Format the tool list as RST definition list items. + """ + lines: list[str] = [] + for name, description in tools: + lines.append("``{:s}``".format(name)) + wrapped = textwrap.wrap(description, width=72) + for line in wrapped: + lines.append(" {:s}".format(line)) + lines.append("") + return "\n".join(lines) + + +def main() -> int: + """ + Entry point for the update-readme-tools script. + """ + repo_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + tools_dir = os.path.join(repo_root, "mcp", "blmcp", "tools") + readme_path = os.path.join(repo_root, "readme.rst") + + tools = _extract_tools(tools_dir) + if not tools: + print("No tools found in {:s}".format(tools_dir)) + return 1 + + tools_rst = _format_tools_rst(tools) + + begin_sentinel = ".. BEGIN TOOL LISTING" + end_sentinel = ".. END TOOL LISTING" + + with open(readme_path, "r", encoding="utf-8") as fh: + content = fh.read() + + begin_idx = content.find(begin_sentinel) + end_idx = content.find(end_sentinel) + if begin_idx == -1 or end_idx == -1: + print("Could not find {:s} / {:s} sentinels in {:s}".format( + begin_sentinel, end_sentinel, readme_path, + )) + return 1 + + new_content = ( + content[:begin_idx + len(begin_sentinel)] + + "\n\n" + + tools_rst + + "\n" + + content[end_idx:] + ) + + with open(readme_path, "w", encoding="utf-8") as fh: + fh.write(new_content) + + print("Updated {:s} with {:d} tools.".format(readme_path, len(tools))) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/Plugin/BlenderBridge/blander-mcp/src/_misc/test_integration_tests_list.py b/Plugin/BlenderBridge/blander-mcp/src/_misc/test_integration_tests_list.py new file mode 100644 index 0000000..3012dc5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/_misc/test_integration_tests_list.py @@ -0,0 +1,41 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +List all integration test names from ``TestChatClient``. + +This exists so ``make test_integration TESTS_LIST=1`` can display available +tests without running them. The ``unittest`` loader discovers test methods, and +each is printed as ``ClassName.method_name`` - the format accepted by the +``TESTS=`` argument when running tests. + +The output format strips the full module path so the user sees only the +class-qualified test name (e.g. ``TestChatClient.test_cube_creation``), +which can be copied directly into ``make test_integration TESTS=...``. +""" + +__all__ = ( + "main", +) + + +def main() -> None: + import sys + import unittest + + sys.path.insert(0, ".") + from src.tests.integration.test_blender_mcp_with_llm import TestChatClient + for test in unittest.TestLoader().loadTestsFromTestCase(TestChatClient): + assert isinstance(test, unittest.TestCase) + test_id = test.id() + # `test.id()` returns e.g. + # `tests.integration.test_blender_mcp_with_llm.TestChatClient.test_name`. + # Extract `TestChatClient.test_name` by taking the last two dot-separated parts. + class_name = test_id.rsplit(".", 2)[-2] + method_name = test_id.rsplit(".", 1)[-1] + print(class_name + "." + method_name) + + +if __name__ == "__main__": + main() diff --git a/Plugin/BlenderBridge/blander-mcp/src/_misc/update_reference_api.py b/Plugin/BlenderBridge/blander-mcp/src/_misc/update_reference_api.py new file mode 100644 index 0000000..e07a210 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/_misc/update_reference_api.py @@ -0,0 +1,103 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Copy RST files and examples from a Blender API reference build into ``data/api/``. + +Examples are copied from ``API_DIR/../examples`` into ``data/api/examples/``. +""" + +__all__ = ( + "main", +) + +import argparse +import os +import shutil +import sys + + +def _rst_transform(dst_dir: str) -> None: + """ + Post-process RST files in *dst_dir*, rewriting paths so + ``literalinclude`` directives point to the co-located examples. + """ + old = ".. literalinclude:: ../examples/" + new = ".. literalinclude:: ./examples/" + for dirpath, _dirnames, filenames in os.walk(dst_dir): + for filename in filenames: + if not filename.endswith(".rst"): + continue + filepath = os.path.join(dirpath, filename) + with open(filepath, "r", encoding="utf-8") as fh: + data = fh.read() + data_replaced = data.replace(old, new) + if data_replaced != data: + with open(filepath, "w", encoding="utf-8") as fh: + fh.write(data_replaced) + + +def main() -> int: + """ + Entry point for the update-reference-api script. + """ + parser = argparse.ArgumentParser( + description="Copy RST files from a Blender API reference build.", + ) + parser.add_argument( + "api_dir", + help="Path to the directory containing generated API RST files.", + ) + args = parser.parse_args() + + src_dir = args.api_dir + if not os.path.isfile(os.path.join(src_dir, "bpy.app.rst")): + print("Source directory does not look like an API reference build: {:s}".format(src_dir)) + return 1 + + examples_dir = os.path.join(os.path.dirname(src_dir), "examples") + if not os.path.isdir(examples_dir): + print("Examples directory not found: {:s}".format(examples_dir)) + return 1 + + # Resolve relative to the repository root (one level up from `scripts/`). + repo_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + dst_dir = os.path.join(repo_root, "mcp", "blmcp", "data", "api") + + if os.path.isdir(dst_dir): + shutil.rmtree(dst_dir) + + count = 0 + + # Copy RST files. + for dirpath, _dirnames, filenames in os.walk(src_dir): + for filename in filenames: + if not filename.endswith(".rst"): + continue + src_file = os.path.join(dirpath, filename) + rel_path = os.path.relpath(src_file, src_dir) + dst_file = os.path.join(dst_dir, rel_path) + os.makedirs(os.path.dirname(dst_file), exist_ok=True) + shutil.copy2(src_file, dst_file) + count += 1 + + # Copy examples from the sibling `examples/` directory. + dst_examples_dir = os.path.join(dst_dir, "examples") + for dirpath, _dirnames, filenames in os.walk(examples_dir): + for filename in filenames: + src_file = os.path.join(dirpath, filename) + rel_path = os.path.relpath(src_file, examples_dir) + dst_file = os.path.join(dst_examples_dir, rel_path) + os.makedirs(os.path.dirname(dst_file), exist_ok=True) + shutil.copy2(src_file, dst_file) + count += 1 + + _rst_transform(dst_dir) + + print("Copied {:d} files to {:s}".format(count, dst_dir)) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/Plugin/BlenderBridge/blander-mcp/src/_misc/update_reference_manual.py b/Plugin/BlenderBridge/blander-mcp/src/_misc/update_reference_manual.py new file mode 100644 index 0000000..ba548bb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/_misc/update_reference_manual.py @@ -0,0 +1,63 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Copy RST and Python files from a Blender manual checkout into ``data/manual/``. + +Python files are included because the manual contains linked examples and templates. +""" + +__all__ = ( + "main", +) + +import argparse +import os +import shutil +import sys + + +def main() -> int: + """ + Entry point for the update-manual script. + """ + parser = argparse.ArgumentParser( + description="Copy RST and Python files from a Blender manual source tree.", + ) + parser.add_argument( + "manual_dir", + help="Path to the Blender manual repository root.", + ) + args = parser.parse_args() + + src_dir = os.path.join(args.manual_dir, "manual") + if not os.path.isdir(src_dir): + print("Source directory not found: {:s}".format(src_dir)) + return 1 + + # Resolve relative to the repository root (one level up from `scripts/`). + repo_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + dst_dir = os.path.join(repo_root, "mcp", "blmcp", "data", "manual") + + if os.path.isdir(dst_dir): + shutil.rmtree(dst_dir) + + count = 0 + for dirpath, _dirnames, filenames in os.walk(src_dir): + for filename in filenames: + if not filename.endswith((".rst", ".py")): + continue + src_file = os.path.join(dirpath, filename) + rel_path = os.path.relpath(src_file, src_dir) + dst_file = os.path.join(dst_dir, rel_path) + os.makedirs(os.path.dirname(dst_file), exist_ok=True) + shutil.copy2(src_file, dst_file) + count += 1 + + print("Copied {:d} files to {:s}".format(count, dst_dir)) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/__init__.py b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/__init__.py new file mode 100644 index 0000000..804871c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/__init__.py @@ -0,0 +1,353 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Blender add-on that provides an MCP socket bridge-server. +""" + +__all__ = ( + "register", + "unregister", +) + +import bpy # pylint: disable=import-error +from bpy.props import ( + BoolProperty, + FloatProperty, + IntProperty, + StringProperty, +) # pylint: disable=import-error + +from . import mcp_to_blender_server + +_PORT_MIN = 1024 +_PORT_MAX = 65535 + +# Default seconds to wait after registration before auto-starting the server. +# Avoids adding work to Blender's startup sequence. +_AUTOSTART_DELAY = 1.0 + +# Store the CLI handle, only for correct register/unregister. +_cli_commands: list[object] = [] + +# This error is shown in the UI & command line when online access isn't enabled. +# +# NOTE(@ideasman42): we could consider `localhost` to be acceptable, this is a grey area +# regarding what counts as "online" or not. +_state_offline_error_message = "Online access must be enabled in the system preferences" + + +class _State: + """ + Module-level runtime state that is not persisted across sessions. + """ + + # Communicate to the user if there is a problem. + # Displayed in the preferences UI when non-empty. + autostart_error: str = "" + + @classmethod + def startup_info_set(cls, error: str) -> None: + """ + Store a startup error message to display in the preferences UI. + """ + cls.autostart_error = error + + @classmethod + def startup_info_set_from_exception(cls, ex: Exception) -> None: + """ + Store a startup exception message to display in the preferences UI + and print the full traceback to stderr for debugging. + """ + # NOTE: this is correct but reads like an unhandled exception. + # import traceback + # traceback.print_exception(ex) + cls.autostart_error = str(ex) + + @classmethod + def startup_info_clear(cls) -> None: + """ + Clear any startup error so it no longer appears in the preferences UI. + """ + cls.autostart_error = "" + + @classmethod + def startup_online_ok_or_error(cls) -> bool: + """ + Return True when online access is permitted, otherwise store an error and return False. + """ + if bpy.app.online_access: + return True + cls.startup_info_set(_state_offline_error_message) + if bpy.app.background: + print("Error: {:s}".format(_state_offline_error_message)) + print(" Use --online-mode to enable online access from the command line") + return False + + +class _BlenderMCPPreferences(bpy.types.AddonPreferences): # type: ignore[misc] + bl_idname = __package__ + + host: StringProperty( # type: ignore[valid-type] + name="Host", + default=mcp_to_blender_server.DEFAULT_HOST, + ) + port: IntProperty( # type: ignore[valid-type] + name="Port", + default=mcp_to_blender_server.DEFAULT_PORT, + min=_PORT_MIN, + max=_PORT_MAX, + ) + use_autostart: BoolProperty( # type: ignore[valid-type] + name="Auto Start", + description=( + "Automatically start the MCP bridge server when Blender starts.\n" + "Without this, you must manually start from the preferences UI.\n" + "(ignored in background mode)" + ), + default=True, + ) + autostart_delay: FloatProperty( # type: ignore[valid-type] + name="Auto Start Delay", + description=( + "Seconds to wait after Blender starts before auto-starting the server.\n" + "Avoids adding overhead to Blender's startup sequence" + ), + default=_AUTOSTART_DELAY, + min=0.0, + max=30.0, + step=10, + precision=1, + subtype="TIME_ABSOLUTE", + ) + + def _update_use_log(self, _context: bpy.types.Context) -> None: + mcp_to_blender_server.use_log = self.use_log + + use_log: BoolProperty( # type: ignore[valid-type] + name="Log", + description="Print every tool request and response status to the terminal", + default=False, + update=_update_use_log, + ) + + def _update_timer_interval_active(self, _context: bpy.types.Context) -> None: + # Cached on the server module because the timer callback may fire + # many times a second, avoid slower preferences lookups. + mcp_to_blender_server.timer_internal_vars_calc(active=self.timer_interval_active) + + timer_interval_active: FloatProperty( # type: ignore[valid-type] + name="Timer Interval", + description="Seconds between queue polling ticks in interactive mode", + default=0.25, + min=0.05, + max=5.0, + step=1, + precision=2, + subtype='TIME_ABSOLUTE', + update=_update_timer_interval_active, + ) + + def _update_timer_interval_idle(self, _context: bpy.types.Context) -> None: + # Cached on the server module because the timer callback may fire + # many times a second, avoid slower preferences lookups. + mcp_to_blender_server.timer_internal_vars_calc(idle=self.timer_interval_idle) + + timer_interval_idle: FloatProperty( # type: ignore[valid-type] + name="Timer Interval Idle", + description="Seconds between queue polling ticks while idle (no pending work)", + default=1.0, + min=0.1, + max=10.0, + step=10, + precision=2, + subtype='TIME_ABSOLUTE', + update=_update_timer_interval_idle, + ) + + def _update_timer_interval_idle_delay(self, _context: bpy.types.Context) -> None: + # Cached on the server module because the timer callback may fire + # many times a second, avoid slower preferences lookups. + mcp_to_blender_server.timer_internal_vars_calc(idle_delay=self.timer_interval_idle_delay) + + timer_interval_idle_delay: FloatProperty( # type: ignore[valid-type] + name="Idle Delay", + description="Seconds of inactivity before switching to the idle polling interval", + default=5.0, + min=1.0, + max=60.0, + step=100, + precision=1, + subtype='TIME_ABSOLUTE', + update=_update_timer_interval_idle_delay, + ) + + def draw(self, context: bpy.types.Context) -> None: + del context + layout = self.layout + layout.prop(self, "host") + layout.prop(self, "port") + layout.prop(self, "use_autostart") + layout.prop(self, "autostart_delay") + layout.prop(self, "timer_interval_active") + layout.prop(self, "timer_interval_idle") + layout.prop(self, "timer_interval_idle_delay") + layout.prop(self, "use_log") + + if mcp_to_blender_server.is_running(): + layout.operator("blmcp.server_stop", icon="CANCEL") + layout.label(text="Server is running", icon="CHECKMARK") + else: + layout.operator("blmcp.server_start", icon="PLAY") + layout.label(text="Server is stopped", icon="X") + + if _State.autostart_error: + layout.label(text=_State.autostart_error, icon="ERROR") + + +class _BLMCP_OT_server_start(bpy.types.Operator): # type: ignore[misc] + bl_idname = "blmcp.server_start" + bl_label = "Start MCP Bridge Server" + bl_description = "Start the MCP socket bridge server that the MCP server can connect to" + + def execute(self, context: bpy.types.Context) -> set[str]: + from . import execute_interactive + + # Timers do not fire in background mode. Use the CLI command instead: + # `blender --background file.blend --command blender_mcp`. + if bpy.app.background: + self.report({"ERROR"}, "Use `--command blender_mcp` to start the MCP bridge server in background mode") + return {"CANCELLED"} + if not _State.startup_online_ok_or_error(): + self.report({"ERROR"}, _state_offline_error_message) + return {"CANCELLED"} + # Clear any stale auto-start error so it does not persist in the UI. + _State.startup_info_clear() + prefs = context.preferences.addons[__package__].preferences + mcp_to_blender_server.timer_internal_vars_calc( + active=prefs.timer_interval_active, + idle=prefs.timer_interval_idle, + idle_delay=prefs.timer_interval_idle_delay, + ) + mcp_to_blender_server.use_log = prefs.use_log + try: + mcp_to_blender_server.start(prefs.host, prefs.port) + except Exception as ex: # pylint: disable=broad-exception-caught + _State.startup_info_set_from_exception(ex) + self.report({"ERROR"}, str(ex)) + return {"CANCELLED"} + bpy.app.timers.register( + execute_interactive.run, + first_interval=mcp_to_blender_server.TIMER_INTERVAL_ACTIVE, + persistent=True) + self.report({"INFO"}, "MCP server started on {:s}:{:d}".format(prefs.host, prefs.port)) + return {"FINISHED"} + + +class _BLMCP_OT_server_stop(bpy.types.Operator): # type: ignore[misc] + bl_idname = "blmcp.server_stop" + bl_label = "Stop MCP Server" + bl_description = "Stop the MCP Bridge Server" + + def execute(self, context: bpy.types.Context) -> set[str]: + del context + from . import execute_interactive + + # Clear any stale auto-start error so it does not persist in the UI. + _State.startup_info_clear() + mcp_to_blender_server.stop() + if bpy.app.timers.is_registered(execute_interactive.run): + bpy.app.timers.unregister(execute_interactive.run) + self.report({"INFO"}, "MCP bridge server stopped") + return {"FINISHED"} + + +def _autostart_timer() -> None: + """ + Deferred timer callback that starts the server when ``use_autostart`` + is enabled. Runs after a delay to avoid slowing down Blender's startup. + """ + from . import execute_interactive + + if not _State.startup_online_ok_or_error(): + return + prefs = bpy.context.preferences.addons[__package__].preferences + mcp_to_blender_server.timer_internal_vars_calc( + active=prefs.timer_interval_active, + idle=prefs.timer_interval_idle, + idle_delay=prefs.timer_interval_idle_delay, + ) + mcp_to_blender_server.use_log = prefs.use_log + + # This isn't expected: + # - Maybe the operator is explicitly called as part of an automated action. + # - The user might have set a very long delay for initial startup and + # manually enabled before the timer fires. + # Whatever the case, running multiple servers would cause confusing errors, so don't do it. + if mcp_to_blender_server.is_running(): + return + + try: + mcp_to_blender_server.start(prefs.host, prefs.port) + except Exception as ex: # pylint: disable=broad-exception-caught + _State.startup_info_set_from_exception(ex) + return + + bpy.app.timers.register( + execute_interactive.run, + first_interval=mcp_to_blender_server.TIMER_INTERVAL_ACTIVE, + persistent=True) + + +def _cli_execute_handler(argv: list[str]) -> int: + """ + Callback for the CLI: ``blender -c blender_mcp``. + """ + if not _State.startup_online_ok_or_error(): + return 1 + from .cli import cli_execute + return cli_execute(argv) + + +_classes = ( + _BlenderMCPPreferences, + _BLMCP_OT_server_start, + _BLMCP_OT_server_stop, +) + + +def register() -> None: + for cls in _classes: + bpy.utils.register_class(cls) + _cli_commands.append(bpy.utils.register_cli_command("blender_mcp", _cli_execute_handler)) + + # Defer auto-start so the server does not slow down Blender's startup. + if not bpy.app.background: + if not _State.startup_online_ok_or_error(): + return + + prefs = bpy.context.preferences.addons[__package__].preferences + if prefs.use_autostart: + bpy.app.timers.register( + _autostart_timer, + first_interval=prefs.autostart_delay, + persistent=True, + ) + + +def unregister() -> None: + from . import execute_interactive + + for cmd in _cli_commands: + bpy.utils.unregister_cli_command(cmd) + _cli_commands.clear() + + if bpy.app.timers.is_registered(_autostart_timer): + bpy.app.timers.unregister(_autostart_timer) + + mcp_to_blender_server.stop() + if bpy.app.timers.is_registered(execute_interactive.run): + bpy.app.timers.unregister(execute_interactive.run) + for cls in reversed(_classes): + bpy.utils.unregister_class(cls) diff --git a/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/blender_manifest.toml b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/blender_manifest.toml new file mode 100644 index 0000000..9f360e8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/blender_manifest.toml @@ -0,0 +1,19 @@ +schema_version = "1.0.0" + +id = "mcp" +version = "1.0.1" +name = "MCP" +tagline = "MCP server add-on for LLM interaction" +maintainer = "Blender Lab" +type = "add-on" +website = "https://www.blender.org/lab/mcp-server/" +blender_version_min = "5.1.0" + +license = [ + "SPDX:GPL-3.0-or-later", +] + +tags = ["Development"] + +[permissions] +network = "Runs a local TCP socket server for MCP client communication" diff --git a/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/capture_output.py b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/capture_output.py new file mode 100644 index 0000000..28601f5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/capture_output.py @@ -0,0 +1,82 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Context manager to capture STDOUT/STDERR while also forwarding to the real output. + +Useful so the LLM may use print(..) style debugging and receive the results as part of the response. +""" + +__all__ = ( + "CaptureOutput", +) + +import io +import sys +from typing import IO, Self + + +class _Tee(io.TextIOBase): + """Write to both a :class:`io.StringIO` buffer and the original stream.""" + __slots__ = ( + "_buffer", + "_original", + ) + + def __init__(self, original: IO[str]) -> None: + self._buffer = io.StringIO() + self._original = original + + def write(self, s: str) -> int: + self._original.write(s) + return self._buffer.write(s) + + def flush(self) -> None: + self._original.flush() + self._buffer.flush() + + def getvalue(self) -> str: + return self._buffer.getvalue() + + +class CaptureOutput: + """ + Context manager that captures STDOUT & STDERR. + + Output is forwarded to the original streams in real time + and also stored for retrieval via :meth:`stdout` and :meth:`stderr`. + """ + __slots__ = ( + "_tee_out", + "_tee_err", + "_original_out", + "_original_err", + ) + + def __enter__(self) -> Self: + self._original_out = sys.stdout + self._original_err = sys.stderr + self._tee_out = _Tee(self._original_out) + self._tee_err = _Tee(self._original_err) + sys.stdout = self._tee_out + sys.stderr = self._tee_err + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: object, + ) -> None: + del exc_type, exc_val, exc_tb + sys.stdout = self._original_out + sys.stderr = self._original_err + + @property + def stdout(self) -> str: + return self._tee_out.getvalue() + + @property + def stderr(self) -> str: + return self._tee_err.getvalue() diff --git a/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/cli.py b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/cli.py new file mode 100644 index 0000000..ba64e7d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/cli.py @@ -0,0 +1,58 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +CLI command handler for running the MCP server in background mode. + +Started via ``blender --background file.blend --command blender_mcp``. +""" + +__all__ = ( + "cli_execute", +) + +import argparse + +from . import execute_blocking +from . import mcp_to_blender_server + + +def cli_execute(argv: list[str]) -> int: + """ + Block and serve MCP requests until interrupted. + """ + parser = argparse.ArgumentParser( + prog="blender_mcp", + description=( + "Start the Blender MCP server. " + "Deferred responses are not supported in background mode; " + "each request must complete before returning." + ), + ) + parser.add_argument( + "--host", + default=mcp_to_blender_server.DEFAULT_HOST, + help="Host to bind to.", + ) + parser.add_argument( + "--port", + type=int, + default=mcp_to_blender_server.DEFAULT_PORT, + help="Port to listen on.", + ) + args = parser.parse_args(argv) + + try: + mcp_to_blender_server.start(args.host, args.port) + except Exception as ex: # pylint: disable=broad-exception-caught + print("Error: {:s}".format(str(ex))) + return 1 + + print("MCP server started on {:s}:{:d}, press Ctrl+C to exit.".format(args.host, args.port)) + + try: + execute_blocking.run() + finally: + mcp_to_blender_server.stop() + return 0 diff --git a/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/deferred_tool.py b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/deferred_tool.py new file mode 100644 index 0000000..aa4a76f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/deferred_tool.py @@ -0,0 +1,216 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Deferred response handling for Blender background jobs. + +When tool-code starts a background job (e.g. rendering with +``INVOKE_DEFAULT``), the response cannot be sent immediately. This +module holds the client connection open and polls a checker callable +until the operation completes, then sends the result. + +The checker (``check_fn``) is called on the server's standard timer +which starts at an active interval but backs off when idle. + +Checkers should be lightweight (e.g. check a flag or file existence) +so they don't block the UI, yet return promptly so the user is not left waiting after the job finishes. + +""" + +__all__ = ( + "add", + "close_all", + "has_pending", + "poll", +) + +import json +import socket +import time +import traceback +from collections.abc import Callable + +from .mcp_to_blender_server import _encode_response + +# Total wall-time in seconds allowed for a background task (e.g. rendering) to complete. +# When exceeded, an error response is sent and the connection is closed. +# The background task itself continues to run in Blender. +# One hour is long for what should typically be an interactive experience, +# but renders can take a long time and it's not desirable for them to simply give up. +_DEFERRED_TIMEOUT = (60.0 * 60.0) + + +class _DeferredClient: + """ + A client connection waiting for a background job to complete. + """ + + __slots__ = ( + "conn", + "check_fn", + "strict_json", + "stdout", + "stderr", + "deadline", + ) + + def __init__( + self, + conn: socket.socket, + check_fn: Callable[[], dict[str, object] | None], + strict_json: bool, + stdout: str, + stderr: str, + ) -> None: + self.conn: socket.socket = conn + self.check_fn: Callable[[], dict[str, object] | None] = check_fn + self.strict_json: bool = strict_json + self.stdout: str = stdout + self.stderr: str = stderr + self.deadline: float = time.monotonic() + _DEFERRED_TIMEOUT + + +# Connections waiting for a background job to finish, polled each timer tick. +_deferred_clients: list[_DeferredClient] = [] + + +def _send_and_close(dc: _DeferredClient, response: dict[str, object]) -> None: + try: + dc.conn.sendall(_encode_response(response)) + except OSError: + pass + try: + dc.conn.close() + except OSError: + pass + try: + _deferred_clients.remove(dc) + except ValueError: + pass + + +def _is_disconnected(conn: socket.socket) -> bool: + """ + Return ``True`` if the remote end has closed the connection. + """ + try: + data = conn.recv(1, socket.MSG_PEEK) + # Empty data means the peer closed the connection. + return len(data) == 0 + except BlockingIOError: + # No data available - connection is still alive. + return False + except OSError: + return True + + +def add( + conn: socket.socket, + check_fn: Callable[[], dict[str, object] | None], + strict_json: bool, + stdout: str, + stderr: str, +) -> None: + """ + Register a deferred client to be polled for completion. + """ + _deferred_clients.append(_DeferredClient(conn, check_fn, strict_json, stdout, stderr)) + + +def poll() -> bool: + """ + Check all deferred clients for completion. + + Return ``True`` if at least one client was resolved or removed. + """ + did_work = False + for dc in _deferred_clients[:]: + # Check for client disconnection. + if _is_disconnected(dc.conn): + try: + dc.conn.close() + except OSError: + pass + try: + _deferred_clients.remove(dc) + except ValueError: + pass + did_work = True + continue + + # Check for timeout. + if time.monotonic() > dc.deadline: + _send_and_close(dc, { + "status": "error", + "message": "Deferred operation timed out after {:.0f} seconds".format(_DEFERRED_TIMEOUT), + }) + did_work = True + continue + + # Call the checker. + try: + result = dc.check_fn() + except Exception: # pylint: disable=broad-exception-caught + _send_and_close(dc, { + "status": "error", + "message": traceback.format_exc(), + }) + did_work = True + continue + + if result is None: + # Still pending. + continue + + if not isinstance(result, dict): + _send_and_close(dc, { + "status": "error", + "message": "check_is_finished must return None or dict, not {:s}".format( + type(result).__name__, + ), + }) + did_work = True + continue + + # Validate JSON serializability when strict_json is set. + if dc.strict_json: + try: + json.dumps(result) + except (TypeError, ValueError) as ex: + _send_and_close(dc, { + "status": "error", + "message": "Deferred result is not JSON-serializable: {:s}".format(str(ex)), + }) + did_work = True + continue + + # Build the final response with the standard envelope. + response: dict[str, object] = {"status": "ok", "result": result} + if dc.stdout: + response["stdout"] = dc.stdout + if dc.stderr: + response["stderr"] = dc.stderr + _send_and_close(dc, response) + did_work = True + + return did_work + + +def has_pending() -> bool: + """ + Return ``True`` if there are deferred clients awaiting completion. + """ + return bool(_deferred_clients) + + +def close_all() -> None: + """ + Close all deferred client connections without sending responses. + """ + for dc in _deferred_clients: + try: + dc.conn.close() + except OSError: + pass + _deferred_clients.clear() diff --git a/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/execute_blocking.py b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/execute_blocking.py new file mode 100644 index 0000000..bad2e46 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/execute_blocking.py @@ -0,0 +1,32 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Blocking execution loop for the MCP server. + +Uses ``select`` to wait for socket activity, intended for use in +``blender --background`` mode where ``bpy.app.timers`` do not fire. + +Background mode does not support deferred responses; requests must complete +before returning. +""" + +__all__ = ( + "run", +) + +from . import mcp_to_blender_server + + +def run() -> None: + """ + Block polling client connections until the server stops. + + Catches ``KeyboardInterrupt`` so that Ctrl+C exits cleanly. + """ + try: + while mcp_to_blender_server.is_running(): + mcp_to_blender_server.poll_blocking() + except KeyboardInterrupt: + pass diff --git a/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/execute_interactive.py b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/execute_interactive.py new file mode 100644 index 0000000..d70189b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/execute_interactive.py @@ -0,0 +1,48 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Interactive timer-based execution for the MCP server. + +Polls client connections via ``bpy.app.timers`` so that requests are +handled in Blender's main loop during normal interactive sessions. +""" + +__all__ = ( + "run", +) + +from . import mcp_to_blender_server + + +def run() -> float | None: + """ + Timer callback: poll connections, return next interval. + + Returns ``None`` when the server is no longer running, which causes + ``bpy.app.timers`` to unregister this callback. + """ + # While errors *should* never happen: without exception handling here, + # any error would remove the timer - effectively breaking the add-on. + try: + did_work = mcp_to_blender_server.poll() + except Exception: # pylint: disable=broad-exception-caught + import traceback + import sys + print( + "Error: unhandled exception in the MCP server timer.\n" + "This may be a bug in Blender-MCP, as errors should not be raised at this point, continuing:\n" + "{:s}".format(traceback.format_exc()), + file=sys.stderr, + ) + # This is undefined, set to true so we reset the timer. + did_work = True + + if not mcp_to_blender_server.is_running(): + return None + + if did_work: + mcp_to_blender_server.timer_idle_reset() + + return mcp_to_blender_server.timer_idle_interval() diff --git a/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/mcp_to_blender_server.py b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/mcp_to_blender_server.py new file mode 100644 index 0000000..7c44995 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/mcp_to_blender_server.py @@ -0,0 +1,615 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Non-blocking TCP socket server that runs inside Blender. + +Listens for null-byte-delimited JSON requests, executes Python code +directly in the calling thread, and returns JSON responses. +All socket operations are non-blocking so the server never blocks +Blender's main thread. +""" + +__all__ = ( + "DEFAULT_HOST", + "DEFAULT_PORT", + "TIMER_INTERVAL_ACTIVE", + "is_running", + "poll", + "poll_blocking", + "start", + "stop", + "timer_idle_interval", + "timer_idle_reset", + "timer_internal_vars_calc", + "use_log", +) + +import json +import math +import select +import socket +import sys +import traceback +from collections.abc import Callable +from typing import NamedTuple + +DEFAULT_HOST = "localhost" +DEFAULT_PORT = 9876 + +# Seconds between main-thread timer ticks. +TIMER_INTERVAL_ACTIVE = 0.05 +# Seconds between main-thread timer ticks while idle (no pending work). +_TIMER_INTERVAL_IDLE = 1.0 +# Seconds of inactivity before switching to the idle interval. +_TIMER_INTERVAL_IDLE_DELAY = 5.0 + + +class _TimerState: + """ + Mutable singleton holding timer-related runtime state. + + This is manipulated from the preferences and updated via ``timer_internal_vars_calc``. + """ + + __slots__ = ( + "interval_active", + "interval_idle", + "interval_idle_delay", + "idle_countdown_reset", + "idle_countdown", + "client_timeout_countdown", + ) + + def __init__(self) -> None: + self.interval_active: float = TIMER_INTERVAL_ACTIVE + self.interval_idle: float = _TIMER_INTERVAL_IDLE + self.interval_idle_delay: float = _TIMER_INTERVAL_IDLE_DELAY + # Number of active-rate ticks before switching to idle. + self.idle_countdown_reset: int = 0 + # Current countdown. When zero, `timer_idle_interval` returns idle. + self.idle_countdown: int = 0 + # Poll ticks before an idle client is evicted. + self.client_timeout_countdown: int = 2 + + +_timer = _TimerState() + + +def timer_internal_vars_calc( + active: float | None = None, + idle: float | None = None, + idle_delay: float | None = None, +) -> None: + """ + Optionally update ``TIMER_*`` constants and recalculate internal variables. + + When keyword arguments are provided they replace the corresponding + module-level ``TIMER_*`` value. Pass ``None`` (the default) to leave + a value unchanged. + """ + if active is not None: + _timer.interval_active = active + if idle is not None: + _timer.interval_idle = idle + if idle_delay is not None: + _timer.interval_idle_delay = idle_delay + # Round up so the delay is never shorter than requested. + _timer.idle_countdown_reset = math.ceil(_timer.interval_idle_delay / _timer.interval_active) + _timer.idle_countdown = _timer.idle_countdown_reset + _timer.client_timeout_countdown = max(2, math.ceil(_CLIENT_TIMEOUT / _timer.interval_active)) + + +def timer_idle_reset() -> None: + """ + Signal that work was processed, resetting the idle countdown. + """ + _timer.idle_countdown = _timer.idle_countdown_reset + + +def timer_idle_interval() -> float: + """ + Return the appropriate timer interval, decrementing the idle countdown. + + Returns ``TIMER_INTERVAL_ACTIVE`` while the countdown is positive, + then ``_TIMER_INTERVAL_IDLE`` once it reaches zero. + """ + if _timer.idle_countdown > 0: + _timer.idle_countdown -= 1 + return _timer.interval_active + return _timer.interval_idle + + +# When True, print every request and response status to STDERR. +use_log: bool = False + +_MAX_REQUEST_BYTES = 10 * 1024 * 1024 # 10 MiB. +# Maximum number of queued incoming connections. +_LISTEN_BACKLOG = 5 +_RECV_BUFFER_SIZE = 4096 +# Seconds before a client that has not sent a complete request is closed. +_CLIENT_TIMEOUT = 10.0 +# How often `poll_blocking` checks for shutdown. +_POLL_BLOCKING_TIMEOUT = 1.0 +_DEFERRED_UNSUPPORTED_MESSAGE = ( + "Deferred responses via `check_is_finished` are only supported " + "by the interactive addon server, and are not available in " + "background mode. Finish the request synchronously instead." +) + +timer_internal_vars_calc() + + +# --------------------------------------------------------------------------- +# Client connection state. + +class _Client: + """ + Per-connection state for a client (the MCP server process) that has not yet sent a complete request. + """ + + __slots__ = ( + "conn", + "buffer", + "timeout", + ) + + def __init__(self, conn: socket.socket) -> None: + self.conn: socket.socket = conn + # Accumulates data until the null-byte delimiter is received. + self.buffer: bytearray = bytearray() + # Poll ticks remaining before this client is evicted. + self.timeout: int = _timer.client_timeout_countdown + + +# --------------------------------------------------------------------------- +# Server state. + +class _State: + """ + Mutable singleton holding the runtime state of this socket server (the Blender add-on side). + """ + + __slots__ = ( + "sock", + "clients", + ) + + def __init__(self) -> None: + # The listening socket, or `None` when not running. + self.sock: socket.socket | None = None + # Connected clients that have not yet sent a complete request. + self.clients: list[_Client] = [] + + +_state = _State() + + +class _ExecResult(NamedTuple): + """ + Result of executing tool-code. + + When *check_fn* is not ``None``, the caller must defer the response + and poll the callable for completion (see ``deferred_tool``). + Otherwise *response* is the final result to send. + """ + + response: dict[str, object] + check_fn: Callable[[], dict[str, object] | None] | None = None + + +def _encode_response(response: dict[str, object]) -> bytes: + """ + Serialize a response dict as null-byte-delimited JSON bytes. + """ + return (json.dumps(response) + "\0").encode("utf-8") + + +def _execute_code( + code: str, + strict_json: bool, +) -> _ExecResult: + """ + Execute *code* and return an ``_ExecResult``. + + :param strict_json: When true, the response *must* be serializable. + Should always be true, when executing Python code we have full-control over, + because any non-serializable data is effectively a bug. + + Only allow it to be false when executing arbitrary LLM generated code, + in this case it's not worth the overhead of correcting the LLM mistake, + just ``__repr__`` the value so it can fumble its way forward. + """ + from .capture_output import CaptureOutput + from .weak_sandbox import WeakSandboxForLLM + + namespace: dict[str, object] = {"result": {}} + with CaptureOutput() as captured, WeakSandboxForLLM(): + try: + exec(code, namespace) + except Exception: # pylint: disable=broad-exception-caught + response: dict[str, object] = {"status": "error", "message": traceback.format_exc()} + if captured.stdout: + response["stdout"] = captured.stdout + if captured.stderr: + response["stderr"] = captured.stderr + return _ExecResult(response) + + # Check for a deferred response (background job in progress). + check_fn_raw = namespace.get("check_is_finished") + if check_fn_raw is not None and callable(check_fn_raw): + check_fn: Callable[[], dict[str, object] | None] = check_fn_raw + response = {} + if captured.stdout: + response["stdout"] = captured.stdout + if captured.stderr: + response["stderr"] = captured.stderr + return _ExecResult(response, check_fn) + + result = namespace["result"] + if not isinstance(result, dict): + response = { + "status": "error", + "message": ( + "The `result` variable must be a dict, not {:s}. " + "Wrap your return value: `result = {{\"key\": value}}`" + ).format(type(result).__name__), + } + else: + # Guard against LLM-generated code storing non-serializable values + # such as Blender objects, e.g. `result = {"obj": bpy.context.active_object}`. + # Without this, `json.dumps` fails inside `_encode_response`. + if strict_json: + try: + json.dumps(result) + except (TypeError, ValueError) as ex: + response = { + "status": "error", + "message": "The `result` value is not JSON-serializable: {:s}".format(str(ex)), + } + else: + response = {"status": "ok", "result": result} + else: + # Use `repr` as a fallback so non-serializable objects + # (e.g. Blender ID types) appear as their string representation. + result = json.loads(json.dumps(result, default=repr)) + response = {"status": "ok", "result": result} + if captured.stdout: + response["stdout"] = captured.stdout + if captured.stderr: + response["stderr"] = captured.stderr + return _ExecResult(response) + + +def _execute_code_from_request( + data: bytes, +) -> tuple[_ExecResult, bool]: + """ + Parse a raw request and execute it. + + Return ``(exec_result, strict_json)``. + """ + + # NOTE: This function is not expected to raise exceptions because we control the MCP server, tool-code and add-on. + # If there is an error, it will be handled by the caller (the LLM will get the stack trace). + # + # Even so, if a tool is misbehaving, or a change in the code causes an error, + # give a "helpful" response - to avoid the hassles of searching about for the root cause. + + # Invalid JSON is not expected since the MCP server serializes requests with `json.dumps`. + # Any error should be rare, the "default" exception path is fine. + request = json.loads(data) + + if request.get("type") != "execute": + return _ExecResult({ + "status": "error", + "message": "Unknown request type: {!r}".format(request.get("type")), + }), False + code = request.get("code", "") + + # Not expected in normal use, but a clear message beats a cryptic trace-back, + # Also make it clear where the error should be addressed. + strict_json = request.get("strict_json") + if not isinstance(strict_json, bool): + return ( + _ExecResult({ + "status": "error", + "message": ( + "Internal error: a blender_mcp tool sent a request without the required 'strict_json' boolean key. " + "This is a bug in the tool that generated this code" + ), + }), + False, + ) + + if use_log: + print("request:\n{:s}".format(code), file=sys.stderr) + exec_result = _execute_code(code, strict_json=strict_json) + if use_log: + if exec_result.check_fn is not None: + print("response: deferred", file=sys.stderr) + else: + print("response: {:s}".format(json.dumps(exec_result.response, indent=2)), file=sys.stderr) + + return exec_result, strict_json + + +def _close_client(client: _Client) -> None: + """ + Close a client connection and remove it from the active list. + """ + try: + client.conn.close() + except Exception: # pylint: disable=broad-exception-caught + pass + try: + _state.clients.remove(client) + except ValueError: + pass + + +# --------------------------------------------------------------------------- +# Polling (called from the execution modules). + +def _accept_clients() -> None: + """ + Accept all pending connections on the listening socket. + """ + if _state.sock is None: + return + while True: + try: + conn, _addr = _state.sock.accept() + conn.setblocking(False) + _state.clients.append(_Client(conn)) + except BlockingIOError: + break + except OSError: + break + + +def _service_clients() -> bool: + """ + Read from all connected clients, execute complete requests. + + Return ``True`` if at least one request was executed. + """ + did_work = False + # Iterate over a copy since clients may be removed during the loop. + for client in _state.clients[:]: + # Evict clients that have not sent a complete request in time. + client.timeout -= 1 + if client.timeout <= 0: + try: + err: dict[str, object] = { + "status": "error", + "message": "Client timed out", + } + client.conn.sendall(_encode_response(err)) + except OSError: + pass + _close_client(client) + continue + + try: + chunk = client.conn.recv(_RECV_BUFFER_SIZE) + except BlockingIOError: + # No data available yet. + continue + except OSError: + _close_client(client) + continue + + if not chunk: + # Client disconnected. + _close_client(client) + continue + + client.buffer.extend(chunk) + + # Guard against unbounded input from a misbehaving client. + if len(client.buffer) > _MAX_REQUEST_BYTES: + try: + err = { + "status": "error", + "message": "Request exceeds {:d} byte limit".format(_MAX_REQUEST_BYTES), + } + client.conn.sendall(_encode_response(err)) + except OSError: + pass + _close_client(client) + continue + + if b"\0" not in client.buffer: + # Request not yet complete. + continue + + # Execute the request and send the response. + request_data = bytes(client.buffer[:client.buffer.index(b"\0")]) + try: + exec_result, strict_json = _execute_code_from_request(request_data) + except Exception: # pylint: disable=broad-exception-caught + exec_result = _ExecResult({"status": "error", "message": traceback.format_exc()}) + strict_json = False + + if exec_result.check_fn is not None: + # Deferred response: hand the connection to deferred_tool. + from . import deferred_tool + deferred_tool.add( + client.conn, + exec_result.check_fn, + strict_json, + str(exec_result.response.get("stdout", "")), + str(exec_result.response.get("stderr", "")), + ) + # Remove from clients without closing the socket. + try: + _state.clients.remove(client) + except ValueError: + pass + else: + try: + client.conn.sendall(_encode_response(exec_result.response)) + except OSError: + pass + _close_client(client) + did_work = True + + return did_work + + +def poll() -> bool: + """ + Non-blocking poll: accept new connections, service existing clients, + and check deferred responses. + + Return ``True`` if work was done or deferred clients are pending. + """ + from . import deferred_tool + _accept_clients() + did_work = _service_clients() + if deferred_tool.poll(): + did_work = True + # Stay in active polling mode while deferred clients exist. + if deferred_tool.has_pending(): + did_work = True + return did_work + + +def _handle_blocking_client(conn: socket.socket) -> bool: + """ + Handle a single client connection synchronously with blocking I/O. + + Return ``True`` if a request was executed. + """ + conn.settimeout(_CLIENT_TIMEOUT) + try: + buf = bytearray() + while b"\0" not in buf: + chunk = conn.recv(_RECV_BUFFER_SIZE) + if not chunk: + # Client disconnected. + return False + buf.extend(chunk) + if len(buf) > _MAX_REQUEST_BYTES: + err: dict[str, object] = { + "status": "error", + "message": "Request exceeds {:d} byte limit".format(_MAX_REQUEST_BYTES), + } + conn.sendall(_encode_response(err)) + return False + + request_data = bytes(buf[:buf.index(b"\0")]) + try: + exec_result, _strict_json = _execute_code_from_request(request_data) + if exec_result.check_fn is not None: + # Unpack to preserve stdout/stderr captured before the deferred handler was set up. + response = {**exec_result.response, "status": "error", "message": _DEFERRED_UNSUPPORTED_MESSAGE} + exec_result = _ExecResult(response) + except Exception: # pylint: disable=broad-exception-caught + exec_result = _ExecResult({"status": "error", "message": traceback.format_exc()}) + conn.sendall(_encode_response(exec_result.response)) + return True + except socket.timeout: + try: + err = {"status": "error", "message": "Client timed out"} + conn.sendall(_encode_response(err)) + except OSError: + pass + return False + except OSError: + return False + finally: + conn.close() + + +def poll_blocking(timeout: float = _POLL_BLOCKING_TIMEOUT) -> bool: + """ + Block until a connection arrives (up to *timeout* seconds), then + handle it synchronously with blocking I/O. + + For use in background mode where the GUI is not running. + Return ``True`` if a request was executed. + """ + if _state.sock is None: + return False + + try: + readable, _writable, _errored = select.select([_state.sock], [], [], timeout) + except (OSError, ValueError): + return False + + if not readable: + return False + + try: + conn, _addr = _state.sock.accept() + except (BlockingIOError, OSError): + return False + + return _handle_blocking_client(conn) + + +# --------------------------------------------------------------------------- +# Public API. + +def start(host: str, port: int) -> None: + """ + Bind the listening socket and begin accepting connections. + + This does not block. The caller must arrange for ``poll`` to be + called periodically (see ``execute_interactive`` and + ``execute_blocking``). + + Callers should catch ``Exception`` broadly rather than specific types, + since failures may be: + - ``RuntimeError``, e.g. server already running. + - ``OSError``, e.g. address already in use. + ...other exceptions that are difficult to predict exhaustively. + """ + if is_running(): + raise RuntimeError("Server is already running") + + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + try: + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.setblocking(False) + sock.bind((host, port)) + sock.listen(_LISTEN_BACKLOG) + except OSError: + sock.close() + raise + + _state.sock = sock + + +def stop() -> None: + """ + Close the listening socket, all client connections, and deferred responses. + """ + from . import deferred_tool + + sock = _state.sock + _state.sock = None + if sock is not None: + try: + sock.close() + except Exception: # pylint: disable=broad-exception-caught + pass + + for client in _state.clients: + try: + client.conn.close() + except Exception: # pylint: disable=broad-exception-caught + pass + _state.clients.clear() + + deferred_tool.close_all() + + +def is_running() -> bool: + """ + Return whether the server is currently listening. + """ + return _state.sock is not None diff --git a/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/weak_sandbox.py b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/weak_sandbox.py new file mode 100644 index 0000000..8514dd7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/addon/blender_mcp_addon/weak_sandbox.py @@ -0,0 +1,161 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Weak sandbox for LLM-generated code execution. + +Note that this isn't really a sandbox, +more guidance that some things should not be done. + +Notes: + +- The reason *not* to use the prompt is that it tends not to be reliable, + sometimes initial requests leave the context window (or are ignored for whatever reason), + so we are better off with a simple way to prevent some things from happening. + +- If the LLM (or its user) is motivated these can be worked around. + This is more of a slap on the wrist not to try some things. +""" + +__all__ = ( + "WeakSandboxForLLM", +) + +import sys +from typing import Any, Self + + +def _blocked_exit(*args: object, **kwargs: object) -> None: # noqa: ARG001 + raise RuntimeError("sys.exit() is not allowed in LLM-generated code") + + +# Each entry is `(object, attr_name, replacement)`. +_OVERRIDES: tuple[tuple[object, str, object], ...] = ( + (sys, "exit", _blocked_exit), +) + +# Operators that LLM-generated code must not access. +# Each entry is `("module.func", "reason")`. +# +# Use this sparingly. +# The rule of thumb for inclusion is: +# +# The operator is guaranteed to cause problems and/or failure. +# +# There are lots of operations that are fairly questionable: +# - `bpy.ops.screen.spacedata_cleanup`. +# - `bpy.ops.wm.previews_clear` +# +# but it's not the purpose of this weak sandbox to disallow +# things the LLM probably shouldn't be doing. +# +# NOTE(@ideasman42): The scope of this may change over time, +# the statement above is a rule of thumb - to apply for now. +# +_BLOCKED_OPS: tuple[tuple[str, str], ...] = ( + ("wm.quit_blender", "Terminates the Blender process, use bpy.app.quit() if you must"), + ( + "wm.read_factory_settings", + "Resets all user preferences and startup file, " + "use bpy.ops.wm.read_homefile() or " + "bpy.ops.wm.read_homefile(use_empty=True, use_factory_startup=True) instead", + ), + ( + "wm.read_factory_userpref", + "Resets all user preferences, " + "use bpy.ops.wm.read_homefile() or " + "bpy.ops.wm.read_homefile(use_empty=True, use_factory_startup=True) instead", + ), + ("wm.read_userpref", "May reset user preferences disabling this add-on, avoid calling"), +) + +_BLOCKED_OPS_SET: frozenset[str] = frozenset(op for op, _reason in _BLOCKED_OPS) + + +class WeakSandboxForLLM: + """Context manager wrapping ``exec()`` of LLM-generated code.""" + __slots__ = ( + "_store_attrs", + "_store_ops", + ) + + # ------------------------------------------------------------------------- + # Attribute overrides + + @staticmethod + def override_store() -> list[tuple[object, str, object]]: + """Save current values listed in ``_OVERRIDES`` and apply replacements.""" + saved: list[tuple[object, str, object]] = [] + for obj, attr, replacement in _OVERRIDES: + saved.append((obj, attr, getattr(obj, attr))) + setattr(obj, attr, replacement) + return saved + + @staticmethod + def override_restore(saved: list[tuple[object, str, object]]) -> None: + """Restore values previously captured by :meth:`override_store`.""" + for obj, attr, original in saved: + setattr(obj, attr, original) + + # ------------------------------------------------------------------------- + # Operator blocking + + @staticmethod + def ops_blocked_store() -> tuple[Any, Any]: + """Replace ``bpy.ops._op_create_function`` with a filtered wrapper. + + Returns ``(bpy_ops_module, original_function)`` for later restore. + """ + import bpy.ops as _bpy_ops # noqa: WPS433 + + original = _bpy_ops._op_create_function + + def _filtered_op_create_function(module: str, func: str) -> Any: + key = "{:s}.{:s}".format(module, func) + if key in _BLOCKED_OPS_SET: + reason = next(r for op, r in _BLOCKED_OPS if op == key) + + def _blocked( + *args: tuple[object, ...], + **kwargs: dict[str, object], + ) -> None: + # Include the arguments as they may help the LLM pin-point the cause of the error. + args_str = ", ".join( + [repr(a) for a in args] + ["{:s}={!r}".format(k, v) for k, v in kwargs.items()] + ) + raise RuntimeError( + "Operator 'bpy.ops.{:s}({:s})' is not allowed in LLM-generated code: {:s}".format( + key, args_str, reason, + ) + ) + + return _blocked + return original(module, func) + + _bpy_ops._op_create_function = _filtered_op_create_function + return (_bpy_ops, original) + + @staticmethod + def ops_blocked_restore(saved: tuple[Any, Any]) -> None: + """Restore the original ``_op_create_function``.""" + bpy_ops_module, original = saved + bpy_ops_module._op_create_function = original + + # ------------------------------------------------------------------------- + # Context manager + + def __enter__(self) -> Self: + self._store_attrs = self.override_store() + self._store_ops = self.ops_blocked_store() + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: object, + ) -> None: + del exc_type, exc_val, exc_tb + self.ops_blocked_restore(self._store_ops) + self.override_restore(self._store_attrs) diff --git a/Plugin/BlenderBridge/blander-mcp/src/addon/pyproject.toml b/Plugin/BlenderBridge/blander-mcp/src/addon/pyproject.toml new file mode 100644 index 0000000..12cee2e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/addon/pyproject.toml @@ -0,0 +1,12 @@ +[tool.pylint.format] +max-line-length = 120 + +[tool.autopep8] +max_line_length = 120 +ignore = [ + "E721", + "E722", + "E402", + "W690", +] +aggressive = 2 diff --git a/Plugin/BlenderBridge/blander-mcp/src/chat_client/chat_client.py b/Plugin/BlenderBridge/blander-mcp/src/chat_client/chat_client.py new file mode 100644 index 0000000..c93558e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/chat_client/chat_client.py @@ -0,0 +1,484 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +CLI chat client bridging an LLM provider with an MCP server. + +Supported providers (selected via subcommand): + +* **openai** -- OpenAI-compatible APIs such as llama.cpp. +* **claude** -- Anthropic Messages API (requires ``ANTHROPIC_API_KEY``). + +Dependencies: stdlib + ``mcp`` only. + +Examples:: + + # llama.cpp (default API URL http://localhost:8080) + python chat_client.py openai --api-url http://localhost:8080 + + # Claude + ANTHROPIC_API_KEY=sk-... python chat_client.py claude --model claude-sonnet-4-20250514 +""" + +__all__ = ( + "main", +) + +import argparse +import asyncio +import json +import os +import urllib.error +import urllib.request + +from typing import Any + +from mcp import ClientSession, StdioServerParameters # pylint: disable=import-error,no-name-in-module +from mcp.client.stdio import stdio_client # pylint: disable=import-error,no-name-in-module + + +# --------------------------------------------------------------------------- +# OpenAI API helpers + +def _api_chat_completions( + api_url: str, + messages: list[dict[str, Any]], + tools: list[dict[str, Any]], + model: str | None, +) -> dict[str, Any]: + """POST to ``/v1/chat/completions`` and return the parsed JSON response.""" + body: dict[str, Any] = { + "messages": messages, + } + if model is not None: + body["model"] = model + if tools: + body["tools"] = tools + + data = json.dumps(body).encode() + req = urllib.request.Request( + "{:s}/v1/chat/completions".format(api_url), + data=data, + headers={"Content-Type": "application/json"}, + method="POST", + ) + with urllib.request.urlopen(req) as resp: + result: dict[str, Any] = json.loads(resp.read().decode()) + return result + + +def _mcp_tools_to_openai(mcp_tools: list[dict[str, Any]]) -> list[dict[str, Any]]: + """Convert MCP tool metadata to OpenAI ``tools`` format.""" + result = [] + for t in mcp_tools: + result.append({ + "type": "function", + "function": { + "name": t["name"], + "description": t["description"], + "parameters": t["inputSchema"], + }, + }) + return result + + +# --------------------------------------------------------------------------- +# Claude API helpers + +def _api_claude_messages( + api_url: str, + api_key: str, + messages: list[dict[str, Any]], + tools: list[dict[str, Any]], + opts: dict[str, Any], +) -> dict[str, Any]: + """POST to ``/v1/messages`` and return the parsed JSON response. + + *opts* must contain ``model`` (str) and ``max_tokens`` (int), and + may contain ``system`` (str). + """ + body: dict[str, Any] = { + "model": opts["model"], + "max_tokens": opts["max_tokens"], + "messages": messages, + } + if tools: + body["tools"] = tools + system = opts.get("system", "") + if system: + body["system"] = system + + data = json.dumps(body).encode() + req = urllib.request.Request( + "{:s}/v1/messages".format(api_url), + data=data, + headers={ + "content-type": "application/json", + "x-api-key": api_key, + "anthropic-version": "2023-06-01", + }, + method="POST", + ) + with urllib.request.urlopen(req) as resp: + result: dict[str, Any] = json.loads(resp.read().decode()) + return result + + +def _mcp_tools_to_claude(mcp_tools: list[dict[str, Any]]) -> list[dict[str, Any]]: + """Convert MCP tool metadata to Claude ``tools`` format.""" + result = [] + for t in mcp_tools: + result.append({ + "name": t["name"], + "description": t["description"], + "input_schema": t["inputSchema"], + }) + return result + + +# --------------------------------------------------------------------------- +# Response helpers + +# Return type shared by both response processors: +# (assistant_message, tool_calls, text_reply, turn_done) +# +# - assistant_message: dict to append to the conversation history. +# - tool_calls: list of (id, name, arguments_dict) tuples. +# - text_reply: optional text to display. +# - turn_done: True when the LLM considers the turn finished. +_ResponseTuple = tuple[dict[str, Any], list[tuple[str, str, dict[str, Any]]], str | None, bool] + + +def _process_openai_response(response: dict[str, Any]) -> _ResponseTuple: + """Extract structured fields from an OpenAI chat-completions response.""" + choice = response["choices"][0] + msg = choice["message"] + finish_reason = choice.get("finish_reason", "") + + tool_calls: list[tuple[str, str, dict[str, Any]]] = [] + raw_tool_calls = msg.get("tool_calls") + if raw_tool_calls: + for tc in raw_tool_calls: + fn = tc["function"] + try: + args = json.loads(fn["arguments"]) + except (json.JSONDecodeError, TypeError): + args = {} + tool_calls.append((tc["id"], fn["name"], args)) + + text = msg.get("content") or None + done = finish_reason != "tool_calls" and not tool_calls + return msg, tool_calls, text, done + + +def _process_claude_response(response: dict[str, Any]) -> _ResponseTuple: + """Extract structured fields from a Claude messages response.""" + content = response.get("content", []) + stop_reason = response.get("stop_reason", "") + + tool_calls: list[tuple[str, str, dict[str, Any]]] = [] + text_parts: list[str] = [] + + for block in content: + if block["type"] == "text": + text_parts.append(block["text"]) + elif block["type"] == "tool_use": + tool_calls.append((block["id"], block["name"], block.get("input", {}))) + + # Build the assistant message to store in history. + assistant_msg: dict[str, Any] = {"role": "assistant", "content": content} + + text = "\n".join(text_parts) if text_parts else None + done = stop_reason != "tool_use" and not tool_calls + return assistant_msg, tool_calls, text, done + + +# --------------------------------------------------------------------------- +# MCP tool invocation + +async def _call_tool( + session: ClientSession, + name: str, + arguments: dict[str, Any], +) -> str: + """Call an MCP tool and return a text summary of the result.""" + result = await session.call_tool(name, arguments) + parts: list[str] = [] + for item in result.content: + if item.type == "text": + parts.append(item.text) + elif item.type == "image": + parts.append("[image]") + else: + parts.append("[{:s}]".format(item.type)) + text = "\n".join(parts) + if result.isError: + return "ERROR: {:s}".format(text) + return text + + +# --------------------------------------------------------------------------- +# Main async loop + +async def _run( + server_command: str, + provider: str, + api_url: str, + opts: dict[str, Any], + prompt: str | None, + non_interactive: bool, +) -> None: + api_key = opts.get("api_key") + model = opts.get("model") + if provider == "claude" and not api_key: + print("Error: ANTHROPIC_API_KEY environment variable is not set.") + return + + # Split the server command into executable + args. + # Pass environment variables the MCP server needs to connect to Blender. + # StdioServerParameters only inherits a small safe-list by default. + env: dict[str, str] = {} + for key in ("BLENDER_MCP_HOST", "BLENDER_MCP_PORT", "BLENDER_PATH"): + value = os.environ.get(key) + if value is not None: + env[key] = value + parts = server_command.split() + params = StdioServerParameters(command=parts[0], args=parts[1:], env=env or None) + + async with stdio_client(params) as (read, write): + async with ClientSession(read, write) as session: + init_result = await session.initialize() + instructions = init_result.instructions or "" + tools_result = await session.list_tools() + + mcp_tools = [ + { + "name": t.name, + "description": t.description or "", + "inputSchema": t.inputSchema, + } + for t in tools_result.tools + ] + + if provider == "openai": + llm_tools = _mcp_tools_to_openai(mcp_tools) + else: + llm_tools = _mcp_tools_to_claude(mcp_tools) + + if non_interactive: + print( + "Connected to MCP server ({:d} tools).".format(len(mcp_tools)) + ) + else: + print( + "Connected to MCP server ({:d} tools). " + "Type your message or Ctrl-D to quit.".format(len(mcp_tools)) + ) + + # Conversation history. + messages: list[dict[str, Any]] = [] + + # OpenAI uses a system message in the messages list; + # Claude uses a separate `system` parameter. + system_text = "" + if instructions: + if provider == "openai": + messages.append({"role": "system", "content": instructions}) + else: + system_text = instructions + + single_shot = non_interactive + while True: + # Read user input. + if prompt is not None: + user_input = prompt + prompt = None + else: + try: + user_input = input("\n> ") + except (EOFError, KeyboardInterrupt): + print() + break + + if not user_input.strip(): + continue + + messages.append({"role": "user", "content": user_input}) + + # LLM loop: keep calling the API until we get a plain text + # reply (no tool calls). + while True: + try: + if provider == "openai": + response = _api_chat_completions( + api_url, messages, llm_tools, model, + ) + else: + assert api_key is not None + assert model is not None + claude_opts: dict[str, Any] = { + "model": model, + "max_tokens": opts.get("max_tokens", 4096), + "system": system_text, + } + response = _api_claude_messages( + api_url, api_key, messages, llm_tools, + claude_opts, + ) + except urllib.error.URLError as ex: + print("HTTP error: {:s}".format(str(ex))) + break + + if provider == "openai": + assistant_msg, tool_calls, text, done = ( + _process_openai_response(response) + ) + else: + assistant_msg, tool_calls, text, done = ( + _process_claude_response(response) + ) + + # Append the assistant message to history. + messages.append(assistant_msg) + + if tool_calls: + if provider == "openai": + for tc_id, tc_name, tc_args in tool_calls: + print(" -> calling {:s}".format(tc_name)) + result_text = await _call_tool( + session, tc_name, tc_args, + ) + messages.append({ + "role": "tool", + "tool_call_id": tc_id, + "content": result_text, + }) + else: + tool_results: list[dict[str, Any]] = [] + for tc_id, tc_name, tc_args in tool_calls: + print(" -> calling {:s}".format(tc_name)) + result_text = await _call_tool( + session, tc_name, tc_args, + ) + tool_results.append({ + "type": "tool_result", + "tool_use_id": tc_id, + "content": result_text, + }) + messages.append({ + "role": "user", + "content": tool_results, + }) + # Loop back to let the LLM process tool results. + continue + + # Plain assistant reply. + if text: + print("\n{:s}".format(text)) + + if done: + break + + # Single-prompt mode: exit after one turn. + if single_shot: + break + + +# --------------------------------------------------------------------------- +# CLI entry point + +def main() -> None: + parser = argparse.ArgumentParser( + description="Chat client bridging an LLM provider with an MCP server.", + ) + parser.add_argument( + "--server-command", + default="blender-mcp", + help="Command to launch the MCP server (default: blender-mcp).", + ) + parser.add_argument( + "-p", "--prompt", + default=None, + help="Provide the user message on the command line instead of reading from stdin.", + ) + parser.add_argument( + "--non-interactive", + action="store_true", + help="Print the reply and exit after a single turn.", + ) + + subparsers = parser.add_subparsers(dest="provider", required=True) + + # ----------------- + # openai subcommand + sp_openai = subparsers.add_parser( + "openai", + help="Use an OpenAI-compatible API (e.g. llama.cpp).", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog="Example:\n python chat_client.py openai --api-url http://localhost:8080", + ) + sp_openai.add_argument( + "--api-url", + default="http://localhost:8080", + help="API base URL (default: http://localhost:8080).", + ) + sp_openai.add_argument( + "--model", + default=None, + help="Model name for the API request body (optional).", + ) + + # ----------------- + # claude subcommand + sp_claude = subparsers.add_parser( + "claude", + help="Use the Anthropic Messages API.", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=( + "The ANTHROPIC_API_KEY environment variable must be set.\n" + "\n" + "Example:\n" + " ANTHROPIC_API_KEY=sk-... python chat_client.py claude --model claude-sonnet-4-20250514" + ), + ) + sp_claude.add_argument( + "--api-url", + default="https://api.anthropic.com", + help="API base URL (default: https://api.anthropic.com).", + ) + sp_claude.add_argument( + "--model", + required=True, + help="Model name (required).", + ) + sp_claude.add_argument( + "--max-tokens", + type=int, + default=4096, + help="Maximum tokens in the response (default: 4096).", + ) + + args = parser.parse_args() + + opts: dict[str, Any] = {"model": args.model} + if args.provider == "claude": + opts["api_key"] = os.environ.get("ANTHROPIC_API_KEY") + opts["max_tokens"] = args.max_tokens + + try: + non_interactive: bool = args.non_interactive or args.prompt is not None + asyncio.run(_run( + args.server_command, + args.provider, + args.api_url, + opts, + args.prompt, + non_interactive, + )) + except KeyboardInterrupt: + pass + + +if __name__ == "__main__": + main() diff --git a/Plugin/BlenderBridge/blander-mcp/src/chat_client/pyproject.toml b/Plugin/BlenderBridge/blander-mcp/src/chat_client/pyproject.toml new file mode 100644 index 0000000..12cee2e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/chat_client/pyproject.toml @@ -0,0 +1,12 @@ +[tool.pylint.format] +max-line-length = 120 + +[tool.autopep8] +max_line_length = 120 +ignore = [ + "E721", + "E722", + "E402", + "W690", +] +aggressive = 2 diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/.mcpbignore b/Plugin/BlenderBridge/blander-mcp/src/mcp/.mcpbignore new file mode 100644 index 0000000..b8e258a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/.mcpbignore @@ -0,0 +1,5 @@ +/*.rst +__pycache__ +blender_mcp.egg-info +requirements_dev.txt +.venv diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/README.md b/Plugin/BlenderBridge/blander-mcp/src/mcp/README.md new file mode 100644 index 0000000..90cd7ed --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/README.md @@ -0,0 +1,67 @@ +# Blender MCPB Extension + +## Description +A lightweight MCP (Model Context Protocol) server for Blender. + +Allows LLM assistants to interact with a running Blender instance – inspecting scenes, executing Python code, rendering, and navigating the interface. + +## Features +It supports running arbitrary Python code within Blender. This allows for advanced scene analysis and debugging. It also contains the complete API and user manual as resources, helping the LLM to access the latest version of both documentations. + +## Installation + +The MCP Server can be installed via: `pip install git+https://projects.blender.org/lab/blender_mcp.git#subdirectory=mcp`. It requires an add-on in Blender for this to work. + +### Add-on +* Install the Blender Lab [Extensions repository](https://docs.blender.org/manual/en/latest/editors/preferences/extensions.html#repositories): `https://lab.blender.org/` +* Find the MCP add-on, install and enable it. + +## Examples + +You can find more examples in the [documentation](https://www.blender.org/lab/mcp-server/). + +### Example 1: Data-block renaming: fix types + +**Demo file**: [Pebble Scattering](https://www.blender.org/download/demo/geometry-nodes/fields/pebble_scattering.blend) + +**User prompt**: "With the current open Blender file fix the name of all the data-blocks to remove typos. Report back which data-blocks got fixed." + +**Expected behaviour:** +- `GRP-rocks` → `GRP-pebble` [optionally, this is more opiniated] +- `LGT-Lights` → `LGT-lights` +- `Compositing Nodetree` → `Compositing Node Tree` + +### Example 2: Querying data relations using natural language + +**Demo file**: [Pebble Scattering](https://www.blender.org/download/demo/geometry-nodes/fields/pebble_scattering.blend) + +**User prompt**: "Which objects are using the following material: pebbles" + +**Expected behaviour:** +7 objects: +- `GEO-pebble` +- `GEO-pebble.001` +- `GEO-pebble.002` +- `GEO-pebble.003` +- `GEO-pebble.004` +- `GEO-pebble.005` +- `GEO-pebble.006` + +### Example 3: Querying data relations using natural language + +**Demo file**: [Classroom](https://download.blender.org/demo/test/classroom.zip) + +**User prompt**: "Analyze the scene and list the outliers: objects with highest polygon count but smaller size from the camera point of view." + +**Expected behavior:** +An analysis that consider the final amount of polygons after the object modifiers are applied. This usually happens by getting the object from the dependency graph. + +The biggest outliers are: `coat 1` and `alphabet`. + +Depending on whether or not the RENDER context was used (as oppose to the VIEWPORT context), the biggest outlier (`coat 1`) may show 37k or 74k polygons. This is the only object that has a modifier which is only used for rendering. Every other object should report the same poly-count regardless of the context. + +## Privacy Policy +See our privacy policy: https://www.blender.org/privacy-policy/ + +## Support +For issues: https://projects.blender.org/lab/blender_mcp/issues diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blender_icon.png b/Plugin/BlenderBridge/blander-mcp/src/mcp/blender_icon.png new file mode 100644 index 0000000..1ce2ae3 Binary files /dev/null and b/Plugin/BlenderBridge/blander-mcp/src/mcp/blender_icon.png differ diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/__init__.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/__init__.py new file mode 100644 index 0000000..a4f4069 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/__init__.py @@ -0,0 +1,106 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +MCP server for Blender. + +Provides tools for LLM's, connecting to Blender via a bridge-server. +All tools send code to the add-on to run. +""" + +__all__ = ( + "main", +) + +import argparse +import importlib +import os +import pkgutil + +import yaml +from mcp.server.fastmcp import FastMCP # pylint: disable=import-error,no-name-in-module + +# NOTE(@ideasman42): this was written to support LLAMA-C++'s Web UI, +# which is one of the nicer ways to run this locally. +# It is not full HTTP support because there looks to be many options for this protocol. +# This could be disabled if it no longer serves its purpose - as most agents wont use STDIO. +_USE_HTTP_SUPPORT = True + +_TRANSPORTS = ("stdio", *(("http",) if _USE_HTTP_SUPPORT else ())) + + +def main() -> int: + parser = argparse.ArgumentParser(description="MCP server for Blender.") + parser.add_argument( + "--transport", "-t", + choices=_TRANSPORTS, + default="stdio", + help="Transport protocol (default: stdio).", + ) + if _USE_HTTP_SUPPORT: + parser.add_argument( + "--host", + default="127.0.0.1", + help="Host to bind to for HTTP transports (default: 127.0.0.1).", + ) + parser.add_argument( + "--port", "-p", + type=int, + default=8000, + help="Port to bind to for HTTP transports (default: 8000).", + ) + args = parser.parse_args() + + # Load prompts. + data_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") + with open(os.path.join(data_dir, "prompts.yml"), encoding="utf-8") as fh: + prompts = yaml.safe_load(fh) + + mcp = FastMCP("blender-mcp", instructions=str(prompts["initial_instructions"])) + + # Auto-discover and register all tools (they are never un-registered). + import blmcp.tools as tools_pkg + + for _importer, modname, _ispkg in pkgutil.iter_modules(tools_pkg.__path__): + if modname.endswith("_toolcode") or modname.startswith("_template_"): + continue + mod = importlib.import_module("blmcp.tools.{:s}".format(modname)) + if hasattr(mod, "register"): + mod.register(mcp) + + transport = args.transport + if _USE_HTTP_SUPPORT and transport == "http": + # pylint: disable-next=import-error,no-name-in-module + from mcp.server.fastmcp.server import TransportSecuritySettings # type: ignore[attr-defined] + from starlette.applications import Starlette + from starlette.middleware.cors import CORSMiddleware + + transport = "streamable-http" + + mcp.settings.host = args.host + mcp.settings.port = args.port + mcp.settings.streamable_http_path = "/" + mcp.settings.stateless_http = True + mcp.settings.transport_security = TransportSecuritySettings( + enable_dns_rebinding_protection=False, + ) + + # Add CORS middleware so browser-based clients + # (e.g. llama.cpp web UI) can connect without preflight failures. + _orig = mcp.streamable_http_app + + def _app_with_cors() -> Starlette: + app = _orig() + app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_methods=["*"], + allow_headers=["*"], + ) + return app + + mcp.streamable_http_app = _app_with_cors # type: ignore[method-assign] + + mcp.run(transport=transport) + return 0 diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/__main__.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/__main__.py new file mode 100644 index 0000000..ebaaacf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/__main__.py @@ -0,0 +1,15 @@ +# SPDX-FileCopyrightText: 2026 Blender Authors +# +# SPDX-License-Identifier: GPL-3.0-or-later + +""" +Entry point for ``python -m blmcp``. +""" + +__all__ = () + +import sys + +from blmcp import main + +sys.exit(main()) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bl_math.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bl_math.rst new file mode 100644 index 0000000..24e2a15 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bl_math.rst @@ -0,0 +1,51 @@ +Additional Math Functions (bl_math) +=================================== + +.. module:: bl_math + +Miscellaneous math utilities module. + +.. function:: clamp(value, min=0, max=1) + + Clamps the float value between minimum and maximum. To avoid + confusion, any call must use either one or all three arguments. + + :param value: The value to clamp. + :type value: float + :param min: The minimum value, defaults to 0. + :type min: float + :param max: The maximum value, defaults to 1. + :type max: float + :return: The clamped value. + :rtype: float + + +.. function:: lerp(from_value, to_value, factor) + + Linearly interpolate between two float values based on factor. + + :param from_value: The value to return when factor is 0. + :type from_value: float + :param to_value: The value to return when factor is 1. + :type to_value: float + :param factor: The interpolation value, normally in [0.0, 1.0]. + :type factor: float + :return: The interpolated value. + :rtype: float + + +.. function:: smoothstep(from_value, to_value, value) + + Performs smooth interpolation between 0 and 1 as value changes between from and to values. + Outside the range the function returns the same value as the nearest edge. + + :param from_value: The edge value where the result is 0. + :type from_value: float + :param to_value: The edge value where the result is 1. + :type to_value: float + :param value: The interpolation value. + :type value: float + :return: The interpolated value in [0.0, 1.0]. + :rtype: float + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/blf.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/blf.rst new file mode 100644 index 0000000..d60f795 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/blf.rst @@ -0,0 +1,247 @@ +Font Drawing (blf) +================== + +.. module:: blf + +This module provides access to Blender's text drawing functions. + + +Hello World Text Example +++++++++++++++++++++++++ + +Example of using the blf module. For this module to work we +need to use the GPU module :mod:`gpu` as well. + +.. literalinclude:: ./examples/blf.0.py + :lines: 8- + + +Drawing Text to an Image +++++++++++++++++++++++++ + +Example showing how text can be drawn into an image. +This can be done by binding an image buffer (:mod:`imbuf`) to the font's ID. + +.. literalinclude:: ./examples/blf.1.py + :lines: 9- + +.. function:: aspect(fontid, aspect) + + Set the aspect for drawing text. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param aspect: The aspect ratio for non-uniform scaling of text. + :type aspect: float + + +.. function:: bind_imbuf(fontid, imbuf, *, display_name=None) + + Context manager to draw text into an image buffer instead of the GPU's context. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param imbuf: The image to draw into. + :type imbuf: :class:`imbuf.types.ImBuf` + :param display_name: Ignored (formerly a color-space transform name), kept for backwards compatibility. + :type display_name: str | None + :return: The BLF ImBuf context manager. + :rtype: BLFImBufContext + + +.. function:: clipping(fontid, xmin, ymin, xmax, ymax) + + Set the clipping, enable/disable using :data:`CLIPPING`. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param xmin: Left edge of the clipping rectangle. + :type xmin: float + :param ymin: Bottom edge of the clipping rectangle. + :type ymin: float + :param xmax: Right edge of the clipping rectangle. + :type xmax: float + :param ymax: Top edge of the clipping rectangle. + :type ymax: float + + +.. function:: color(fontid, r, g, b, a) + + Set the color for drawing text. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param r: Red channel 0.0 - 1.0. + :type r: float + :param g: Green channel 0.0 - 1.0. + :type g: float + :param b: Blue channel 0.0 - 1.0. + :type b: float + :param a: Alpha channel 0.0 - 1.0. + :type a: float + + +.. function:: dimensions(fontid, text) + + Return the width and height of the text. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param text: The text to measure. + :type text: str + :return: The width and height of the text. + :rtype: tuple[float, float] + + +.. function:: disable(fontid, option) + + Disable a font drawing option. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param option: One of :data:`ROTATION`, :data:`CLIPPING`, :data:`SHADOW`, :data:`MONOCHROME` or :data:`WORD_WRAP`. + :type option: int + + +.. function:: draw(fontid, text) + + Draw text in the current context. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param text: The text to draw. + :type text: str + + +.. function:: draw_buffer(fontid, text) + + Draw text into the image buffer bound via :func:`blf.bind_imbuf`. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param text: The text to draw into the bound image buffer. + :type text: str + + +.. function:: enable(fontid, option) + + Enable a font drawing option. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param option: One of :data:`ROTATION`, :data:`CLIPPING`, :data:`SHADOW`, :data:`MONOCHROME` or :data:`WORD_WRAP`. + :type option: int + + +.. function:: load(filepath) + + Load a new font. + + :param filepath: The filepath of the font. + :type filepath: str | bytes + :return: The new font's fontid or -1 if there was an error. + :rtype: int + + +.. function:: position(fontid, x, y, z) + + Set the position for drawing text. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param x: X axis position to draw the text. + :type x: float + :param y: Y axis position to draw the text. + :type y: float + :param z: Z axis position to draw the text (typically 0). + :type z: float + + +.. function:: rotation(fontid, angle) + + Set the text rotation angle, enable/disable using :data:`ROTATION`. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param angle: The angle for text drawing to use (in radians). + :type angle: float + + +.. function:: shadow(fontid, level, r, g, b, a) + + Shadow options, enable/disable using :data:`SHADOW`. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param level: The shadow type: 0 for none, 3 for 3x3 blur, 5 for 5x5 blur or 6 for outline. Other values raise a :exc:`TypeError`. + :type level: int + :param r: Shadow color (red channel 0.0 - 1.0). + :type r: float + :param g: Shadow color (green channel 0.0 - 1.0). + :type g: float + :param b: Shadow color (blue channel 0.0 - 1.0). + :type b: float + :param a: Shadow color (alpha channel 0.0 - 1.0). + :type a: float + + +.. function:: shadow_offset(fontid, x, y) + + Set the offset for shadow text, enable/disable using :data:`SHADOW`. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param x: Horizontal shadow offset value in pixels. + :type x: int + :param y: Vertical shadow offset value in pixels. + :type y: int + + +.. function:: size(fontid, size) + + Set the size for drawing text. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param size: Point size of the font. + :type size: float + + +.. function:: unload(filepath) + + Unload an existing font. + + :param filepath: The filepath of the font. + :type filepath: str | bytes + + +.. function:: word_wrap(fontid, wrap_width) + + Set the wrap width, enable/disable using :data:`WORD_WRAP`. + + :param fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0. + :type fontid: int + :param wrap_width: The width (in pixels) to wrap words at. + :type wrap_width: int + + +.. data:: CLIPPING + + Constant value 2 + +.. data:: MONOCHROME + + Constant value 128 + +.. data:: ROTATION + + Constant value 1 + +.. data:: SHADOW + + Constant value 4 + +.. data:: WORD_WRAP + + Constant value 64 + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.geometry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.geometry.rst new file mode 100644 index 0000000..6666860 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.geometry.rst @@ -0,0 +1,19 @@ +BMesh Geometry Utilities (bmesh.geometry) +========================================= + +.. module:: bmesh.geometry + +This module provides access to bmesh geometry evaluation functions. + +.. method:: intersect_face_point(face, point) + + Tests if the projection of a point is inside a face (using the face's normal). + + :param face: The face to test. + :type face: :class:`bmesh.types.BMFace` + :param point: The 3D point to test. + :type point: tuple[float, float, float] | Sequence[float] + :return: True when the projection of the point is in the face. + :rtype: bool + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.ops.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.ops.rst new file mode 100644 index 0000000..6547177 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.ops.rst @@ -0,0 +1,2335 @@ + +BMesh Operators (bmesh.ops) +=========================== + +.. module:: bmesh.ops + +This module gives access to low level bmesh operations. + +Most operators take input and return output, they can be chained together +to perform useful operations. + + +Operator Example +++++++++++++++++ +This script shows how operators can be used to model a link of a chain. + +.. literalinclude:: __/examples/bmesh.ops.1.py + +.. function:: smooth_vert(bm, verts=[], factor=0, mirror_clip_x=False, mirror_clip_y=False, mirror_clip_z=False, clip_dist=0, use_axis_x=False, use_axis_y=False, use_axis_z=False) + + Vertex Smooth. + + Smooths vertices by using a basic vertex averaging scheme. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param factor: + Smoothing factor. + :type factor: float + :param mirror_clip_x: + Set vertices close to the x axis before the operation to 0. + :type mirror_clip_x: bool + :param mirror_clip_y: + Set vertices close to the y axis before the operation to 0. + :type mirror_clip_y: bool + :param mirror_clip_z: + Set vertices close to the z axis before the operation to 0. + :type mirror_clip_z: bool + :param clip_dist: + Clipping threshold for the above three slots. + :type clip_dist: float + :param use_axis_x: + Smooth vertices along X axis. + :type use_axis_x: bool + :param use_axis_y: + Smooth vertices along Y axis. + :type use_axis_y: bool + :param use_axis_z: + Smooth vertices along Z axis. + :type use_axis_z: bool + + +.. function:: smooth_laplacian_vert(bm, verts=[], lambda_factor=0, lambda_border=0, use_x=False, use_y=False, use_z=False, preserve_volume=False) + + Vertex Smooth Laplacian. + + Smooths vertices by using Laplacian smoothing proposed by + Desbrun, et al. Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param lambda_factor: + Lambda parameter. + :type lambda_factor: float + :param lambda_border: + Lambda param in border. + :type lambda_border: float + :param use_x: + Smooth object along X axis. + :type use_x: bool + :param use_y: + Smooth object along Y axis. + :type use_y: bool + :param use_z: + Smooth object along Z axis. + :type use_z: bool + :param preserve_volume: + Apply volume preservation after smooth. + :type preserve_volume: bool + + +.. function:: recalc_face_normals(bm, faces=[]) + + Right-Hand Faces. + + Computes an "outside" normal for the specified input faces. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + + +.. function:: planar_faces(bm, faces=[], iterations=0, factor=0) + + Planar Faces. + + Iteratively flatten faces. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input geometry. + :type faces: list[:class:`bmesh.types.BMFace`] + :param iterations: + Number of times to flatten faces (for when connected faces are used) + :type iterations: int + :param factor: + Influence for making planar each iteration + :type factor: float + :return: + + - ``geom``: + Output slot, computed boundary geometry. + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: region_extend(bm, geom=[], use_contract=False, use_faces=False, use_face_step=False) + + Region Extend. + + Used to implement the select more/less tools. + Puts geometry surrounding regions of geometry in ``geom`` into ``geom.out``. + + If ``use_faces`` is 0 then ``geom.out`` spits out verts and edges, + otherwise it spits out faces. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param geom: + Input geometry. + :type geom: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param use_contract: + Find boundary inside the regions, not outside. + :type use_contract: bool + :param use_faces: + Extend from faces instead of edges. + :type use_faces: bool + :param use_face_step: + Step over connected faces. + :type use_face_step: bool + :return: + + - ``geom``: + Output slot, computed boundary geometry. + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: rotate_edges(bm, edges=[], use_ccw=False) + + Edge Rotate. + + Rotates edges topologically. Also known as "spin edge" to some people. + Simple example: ``[/] becomes [|] then [\]``. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param use_ccw: + Rotate edge counter-clockwise if true, otherwise clockwise. + :type use_ccw: bool + :return: + + - ``edges``: + Newly spun edges. + + **type** list[:class:`bmesh.types.BMEdge`] + + :rtype: dict[str, Any] + + +.. function:: reverse_faces(bm, faces=[], flip_multires=False) + + Reverse Faces. + + Reverses the winding (vertex order) of faces. + This has the effect of flipping the normal. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param flip_multires: + Maintain multi-res offset. + :type flip_multires: bool + + +.. function:: flip_quad_tessellation(bm, faces=[]) + + Flip Quad Tessellation + + Flip the tessellation direction of the selected quads. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + + +.. function:: bisect_edges(bm, edges=[], cuts=0, edge_percents={}) + + Edge Bisect. + + Splits input edges (but doesn't do anything else). + This creates a 2-valence vert. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param cuts: + Number of cuts. + :type cuts: int + :param edge_percents: + Undocumented. + :type edge_percents: dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, float] + :return: + + - ``geom_split``: + Newly created vertices and edges. + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: mirror(bm, geom=[], matrix=mathutils.Matrix.Identity(4), merge_dist=0, axis='X', mirror_u=False, mirror_v=False, mirror_udim=False, use_shapekey=False) + + Mirror. + + Mirrors geometry along an axis. The resulting geometry is welded on using + ``merge_dist``. Pairs of original/mirrored vertices are welded using the ``merge_dist`` + parameter (which defines the minimum distance for welding to happen). + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param geom: + Input geometry. + :type geom: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param matrix: + Matrix defining the mirror transformation. + :type matrix: :class:`mathutils.Matrix` + :param merge_dist: + Maximum distance for merging. does no merging if 0. + :type merge_dist: float + :param axis: + The axis to use. + :type axis: Literal['X', 'Y', 'Z'] + :param mirror_u: + Mirror UVs across the u axis. + :type mirror_u: bool + :param mirror_v: + Mirror UVs across the v axis. + :type mirror_v: bool + :param mirror_udim: + Mirror UVs in each tile. + :type mirror_udim: bool + :param use_shapekey: + Transform shape keys too. + :type use_shapekey: bool + :return: + + - ``geom``: + Output geometry, mirrored. + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: find_doubles(bm, verts=[], keep_verts=[], use_connected=False, dist=0) + + Find Doubles. + + Takes input verts and finds vertices they should weld to. + Outputs a mapping slot suitable for use with the weld verts BMOP. + + If ``keep_verts`` is used, vertices outside that set can only be merged + with vertices in that set. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param keep_verts: + List of verts to keep. + :type keep_verts: list[:class:`bmesh.types.BMVert`] + :param use_connected: + Limit the search for doubles by connected geometry. + :type use_connected: bool + :param dist: + Maximum distance. + :type dist: float + :return: + + - ``targetmap``: + + **type** dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: remove_doubles(bm, verts=[], use_connected=False, dist=0) + + Remove Doubles. + + Finds groups of vertices closer than dist and merges them together, + using the weld verts BMOP. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input verts. + :type verts: list[:class:`bmesh.types.BMVert`] + :param use_connected: + Limit the search for doubles by connected geometry. + :type use_connected: bool + :param dist: + Maximum distance. + :type dist: float + + +.. function:: collapse(bm, edges=[], uvs=False) + + Collapse Connected. + + Collapses connected vertices + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param uvs: + Also collapse UVs and such. + :type uvs: bool + + +.. function:: pointmerge_facedata(bm, verts=[], vert_snap=None) + + Face-Data Point Merge. + + Merge uv/vcols at a specific vertex. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param vert_snap: + Snap vertex. + :type vert_snap: :class:`bmesh.types.BMVert` | None + + +.. function:: average_vert_facedata(bm, verts=[]) + + Average Vertices Face-vert Data. + + Merge uv/vcols associated with the input vertices at + the bounding box center. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + + +.. function:: pointmerge(bm, verts=[], merge_co=mathutils.Vector()) + + Point Merge. + + Merge verts together at a point. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input vertices (all verts will be merged into the first). + :type verts: list[:class:`bmesh.types.BMVert`] + :param merge_co: + Position to merge at. + :type merge_co: Sequence[float] + + +.. function:: collapse_uvs(bm, edges=[]) + + Collapse Connected UVs. + + Collapses connected UV vertices. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + + +.. function:: weld_verts(bm, targetmap={}, use_centroid=False) + + Weld Verts. + + Welds verts together (kind-of like remove doubles, merge, etc, all of which + use or will use this BMOP). You pass in mappings from vertices to the vertices + they weld with. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param targetmap: + Maps welded vertices to verts they should weld to. + :type targetmap: dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param use_centroid: + Merge vertices to their centroid position, + otherwise use the position of the target vertex. + :type use_centroid: bool + + +.. function:: create_vert(bm, co=mathutils.Vector()) + + Make Vertex. + + Creates a single vertex; this BMOP was necessary + for click-create-vertex. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param co: + The coordinate of the new vert. + :type co: Sequence[float] + :return: + + - ``vert``: + The new vert. + + **type** list[:class:`bmesh.types.BMVert`] + + :rtype: dict[str, Any] + + +.. function:: join_triangles(bm, faces=[], cmp_seam=False, cmp_sharp=False, cmp_uvs=False, cmp_vcols=False, cmp_materials=False, angle_face_threshold=0, angle_shape_threshold=0, topology_influence=0, deselect_joined=False, merge_limit=0, neighbor_debug=0) + + Join Triangles. + + Tries to intelligently join triangles according + to angle threshold and delimiters. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input geometry. + :type faces: list[:class:`bmesh.types.BMFace`] + :param cmp_seam: + Compare seam + :type cmp_seam: bool + :param cmp_sharp: + Compare sharp + :type cmp_sharp: bool + :param cmp_uvs: + Compare UVs + :type cmp_uvs: bool + :param cmp_vcols: + Compare VCols. + :type cmp_vcols: bool + :param cmp_materials: + Compare materials. + :type cmp_materials: bool + :param angle_face_threshold: + Undocumented. + :type angle_face_threshold: float + :param angle_shape_threshold: + Undocumented. + :type angle_shape_threshold: float + :param topology_influence: + Undocumented. + :type topology_influence: float + :param deselect_joined: + Undocumented. + :type deselect_joined: bool + :param merge_limit: + Undocumented. + :type merge_limit: int + :param neighbor_debug: + Undocumented. + :type neighbor_debug: int + :return: + + - ``faces``: + Joined faces. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: contextual_create(bm, geom=[], mat_nr=0, use_smooth=False) + + Contextual Create. + + This is basically F-key, it creates + new faces from vertices, makes stuff from edge nets, + makes wire edges, etc. It also dissolves faces. + + Three verts become a triangle, four become a quad. Two + become a wire edge. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param geom: + Input geometry. + :type geom: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param mat_nr: + Material to use. + :type mat_nr: int + :param use_smooth: + Set smooth shading on newly created faces. + :type use_smooth: bool + :return: + + - ``faces``: + Newly-made face(s). + + **type** list[:class:`bmesh.types.BMFace`] + - ``edges``: + Newly-made edge(s). + + **type** list[:class:`bmesh.types.BMEdge`] + + :rtype: dict[str, Any] + + +.. function:: bridge_loops(bm, edges=[], use_pairs=False, use_cyclic=False, use_merge=False, merge_factor=0, twist_offset=0) + + Bridge edge loops with faces. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param use_pairs: + Undocumented. + :type use_pairs: bool + :param use_cyclic: + Undocumented. + :type use_cyclic: bool + :param use_merge: + Merge rather than creating faces. + :type use_merge: bool + :param merge_factor: + Merge factor. + :type merge_factor: float + :param twist_offset: + Twist offset for closed loops. + :type twist_offset: int + :return: + + - ``faces``: + New faces. + + **type** list[:class:`bmesh.types.BMFace`] + - ``edges``: + New edges. + + **type** list[:class:`bmesh.types.BMEdge`] + + :rtype: dict[str, Any] + + +.. function:: grid_fill(bm, edges=[], mat_nr=0, use_smooth=False, use_interp_simple=False) + + Grid Fill. + + Create faces defined by 2 disconnected edge loops (which share edges). + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param mat_nr: + Material to use. + :type mat_nr: int + :param use_smooth: + Smooth state to use. + :type use_smooth: bool + :param use_interp_simple: + Use simple interpolation. + :type use_interp_simple: bool + :return: + + - ``faces``: + New faces. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: holes_fill(bm, edges=[], sides=0) + + Fill Holes. + + Fill boundary edges with faces, copying surrounding custom-data. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param sides: + Maximum number of sides for holes to fill (holes with more edges are skipped). + :type sides: int + :return: + + - ``faces``: + New faces. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: face_attribute_fill(bm, faces=[], use_normals=False, use_data=False) + + Face Attribute Fill. + + Fill in faces with data from adjacent faces. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param use_normals: + Copy face winding. + :type use_normals: bool + :param use_data: + Copy face data. + :type use_data: bool + :return: + + - ``faces_fail``: + Faces that could not be handled. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: edgeloop_fill(bm, edges=[], mat_nr=0, use_smooth=False) + + Edge Loop Fill. + + Create faces defined by one or more non overlapping edge loops. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param mat_nr: + Material to use. + :type mat_nr: int + :param use_smooth: + Smooth state to use. + :type use_smooth: bool + :return: + + - ``faces``: + New faces. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: edgenet_fill(bm, edges=[], mat_nr=0, use_smooth=False, sides=0) + + Edge Net Fill. + + Create faces defined by enclosed edges. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param mat_nr: + Material to use. + :type mat_nr: int + :param use_smooth: + Smooth state to use. + :type use_smooth: bool + :param sides: + Maximum number of sides for created faces. + :type sides: int + :return: + + - ``faces``: + New faces. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: edgenet_prepare(bm, edges=[]) + + Edge-net Prepare. + + Identifies several useful edge loop cases and modifies them so + they'll become a face when edgenet_fill is called. The cases covered are: + + - One single loop; an edge is added to connect the ends + - Two loops; two edges are added to connect the endpoints (based on the + shortest distance between each endpoint). + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :return: + + - ``edges``: + New edges. + + **type** list[:class:`bmesh.types.BMEdge`] + + :rtype: dict[str, Any] + + +.. function:: rotate(bm, cent=mathutils.Vector(), matrix=mathutils.Matrix.Identity(4), verts=[], space=mathutils.Matrix.Identity(4), use_shapekey=False) + + Rotate. + + Rotate vertices around a center, using a 3x3 rotation matrix. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param cent: + Center of rotation. + :type cent: Sequence[float] + :param matrix: + Matrix defining rotation. + :type matrix: :class:`mathutils.Matrix` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param space: + Matrix to define the space (typically object matrix). + :type space: :class:`mathutils.Matrix` + :param use_shapekey: + Transform shape keys too. + :type use_shapekey: bool + + +.. function:: translate(bm, vec=mathutils.Vector(), space=mathutils.Matrix.Identity(4), verts=[], use_shapekey=False) + + Translate. + + Translate vertices by an offset. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param vec: + Translation offset. + :type vec: Sequence[float] + :param space: + Matrix to define the space (typically object matrix). + :type space: :class:`mathutils.Matrix` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param use_shapekey: + Transform shape keys too. + :type use_shapekey: bool + + +.. function:: scale(bm, vec=mathutils.Vector(), space=mathutils.Matrix.Identity(4), verts=[], use_shapekey=False) + + Scale. + + Scales vertices by a factor. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param vec: + Scale factor. + :type vec: Sequence[float] + :param space: + Matrix to define the space (typically object matrix). + :type space: :class:`mathutils.Matrix` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param use_shapekey: + Transform shape keys too. + :type use_shapekey: bool + + +.. function:: transform(bm, matrix=mathutils.Matrix.Identity(4), space=mathutils.Matrix.Identity(4), verts=[], use_shapekey=False) + + Transform. + + Transforms a set of vertices by a matrix. Multiplies + the vertex coordinates with the matrix. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param matrix: + Transform matrix. + :type matrix: :class:`mathutils.Matrix` + :param space: + Matrix to define the space (typically object matrix). + :type space: :class:`mathutils.Matrix` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param use_shapekey: + Transform shape keys too. + :type use_shapekey: bool + + +.. function:: object_load_bmesh(bm, scene, object) + + Object Load BMesh. + + Loads a bmesh into an object/mesh. This is a "private" + BMOP. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param scene: + The scene. + :type scene: :class:`bpy.types.Scene` + :param object: + The object. + :type object: :class:`bpy.types.Object` + + +.. function:: bmesh_to_mesh(bm, mesh, object) + + BMesh to Mesh. + + Converts a bmesh to a Mesh. This is reserved for exiting edit-mode. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param mesh: + The mesh to write into. + :type mesh: :class:`bpy.types.Mesh` + :param object: + The object. + :type object: :class:`bpy.types.Object` + + +.. function:: mesh_to_bmesh(bm, mesh, object, use_shapekey=False) + + Mesh to BMesh. + + Load the contents of a mesh into the bmesh. this BMOP is private, it's + reserved exclusively for entering edit-mode. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param mesh: + The mesh to read from. + :type mesh: :class:`bpy.types.Mesh` + :param object: + The object. + :type object: :class:`bpy.types.Object` + :param use_shapekey: + Load active shapekey coordinates into verts. + :type use_shapekey: bool + + +.. function:: extrude_discrete_faces(bm, faces=[], use_normal_flip=False, use_select_history=False) + + Individual Face Extrude. + + Extrudes faces individually. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param use_normal_flip: + Create faces with reversed direction. + :type use_normal_flip: bool + :param use_select_history: + Preserve the selection history in the extruded geometry. + :type use_select_history: bool + :return: + + - ``faces``: + Output faces. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: extrude_edge_only(bm, edges=[], use_normal_flip=False, use_select_history=False) + + Extrude Only Edges. + + Extrudes Edges into faces, note that this is very simple, there's no fancy + winged extrusion. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param use_normal_flip: + Create faces with reversed direction. + :type use_normal_flip: bool + :param use_select_history: + Preserve the selection history in the extruded geometry. + :type use_select_history: bool + :return: + + - ``geom``: + Output geometry. + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: extrude_vert_indiv(bm, verts=[], use_select_history=False) + + Individual Vertex Extrude. + + Extrudes individual vertices, creating new vertices connected by wire edges. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param use_select_history: + Preserve the selection history in the extruded geometry. + :type use_select_history: bool + :return: + + - ``edges``: + Output wire edges. + + **type** list[:class:`bmesh.types.BMEdge`] + - ``verts``: + Output vertices. + + **type** list[:class:`bmesh.types.BMVert`] + + :rtype: dict[str, Any] + + +.. function:: connect_verts(bm, verts=[], faces_exclude=[], check_degenerate=False) + + Connect Verts. + + Split faces by adding edges that connect ``verts``. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param faces_exclude: + Input faces to explicitly exclude from connecting. + :type faces_exclude: list[:class:`bmesh.types.BMFace`] + :param check_degenerate: + Prevent splits with overlaps & intersections. + :type check_degenerate: bool + :return: + + - ``edges``: + + **type** list[:class:`bmesh.types.BMEdge`] + + :rtype: dict[str, Any] + + +.. function:: connect_verts_concave(bm, faces=[]) + + Connect Verts to form Convex Faces. + + Splits concave faces into convex faces. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :return: + + - ``edges``: + + **type** list[:class:`bmesh.types.BMEdge`] + - ``faces``: + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: connect_verts_nonplanar(bm, angle_limit=0, faces=[]) + + Connect Verts Across non Planar Faces. + + Split faces by connecting edges along non planar ``faces``. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param angle_limit: + Maximum angle of non-planarity before splitting (radians). + :type angle_limit: float + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :return: + + - ``edges``: + + **type** list[:class:`bmesh.types.BMEdge`] + - ``faces``: + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: connect_vert_pair(bm, verts=[], verts_exclude=[], faces_exclude=[]) + + Connect Vert Pair. + + Connect a pair of vertices by splitting faces along the shortest path between them. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param verts_exclude: + Input vertices to explicitly exclude from connecting. + :type verts_exclude: list[:class:`bmesh.types.BMVert`] + :param faces_exclude: + Input faces to explicitly exclude from connecting. + :type faces_exclude: list[:class:`bmesh.types.BMFace`] + :return: + + - ``edges``: + + **type** list[:class:`bmesh.types.BMEdge`] + + :rtype: dict[str, Any] + + +.. function:: extrude_face_region(bm, geom=[], edges_exclude=set(), use_keep_orig=False, use_normal_flip=False, use_normal_from_adjacent=False, use_dissolve_ortho_edges=False, use_select_history=False, skip_input_flip=False) + + Extrude Faces. + + Extrude operator (does not transform) + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param geom: + Edges and faces. + :type geom: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param edges_exclude: + Input edges to explicitly exclude from extrusion. + :type edges_exclude: set[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param use_keep_orig: + Keep original geometry (requires `geom` to include edges). + :type use_keep_orig: bool + :param use_normal_flip: + Create faces with reversed direction. + :type use_normal_flip: bool + :param use_normal_from_adjacent: + Use winding from surrounding faces instead of this region. + :type use_normal_from_adjacent: bool + :param use_dissolve_ortho_edges: + Dissolve edges whose faces form a flat surface. + :type use_dissolve_ortho_edges: bool + :param use_select_history: + Preserve the selection history in the extruded geometry. + :type use_select_history: bool + :param skip_input_flip: + Skip flipping of input faces to preserve original orientation. + :type skip_input_flip: bool + :return: + + - ``geom``: + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: dissolve_verts(bm, verts=[], use_face_split=False, use_boundary_tear=False) + + Dissolve Verts. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param use_face_split: + Split off face corners to maintain surrounding geometry. + :type use_face_split: bool + :param use_boundary_tear: + Split off face corners instead of merging faces. + :type use_boundary_tear: bool + + +.. function:: dissolve_edges(bm, edges=[], use_verts=False, use_face_split=False, angle_threshold=0) + + Dissolve Edges. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param use_verts: + Dissolve verts left between only 2 edges. + :type use_verts: bool + :param use_face_split: + Split off face corners to maintain surrounding geometry. + :type use_face_split: bool + :param angle_threshold: + Do not dissolve verts between 2 edges when their angle exceeds this threshold. + Disabled by default. + :type angle_threshold: float + :return: + + - ``region``: + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: dissolve_faces(bm, faces=[], use_verts=False) + + Dissolve Faces. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param use_verts: + Dissolve verts left between only 2 edges. + :type use_verts: bool + :return: + + - ``region``: + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: dissolve_limit(bm, angle_limit=0, use_dissolve_boundaries=False, verts=[], edges=[], delimit=set()) + + Limited Dissolve. + + Dissolve planar faces and co-linear edges. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param angle_limit: + Maximum angle (radians) between face normals for dissolving. + :type angle_limit: float + :param use_dissolve_boundaries: + Dissolve all vertices in between face boundaries. + :type use_dissolve_boundaries: bool + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param delimit: + Delimit dissolve operation. + :type delimit: set[Literal['NORMAL', 'MATERIAL', 'SEAM', 'SHARP', 'UV']] + :return: + + - ``region``: + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: dissolve_degenerate(bm, dist=0, edges=[]) + + Degenerate Dissolve. + + Dissolve edges with no length, faces with no area. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param dist: + Maximum distance to consider degenerate. + :type dist: float + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + + +.. function:: triangulate(bm, faces=[], quad_method='BEAUTY', ngon_method='BEAUTY') + + Triangulate. + + Triangulate faces, splitting quads and n-gons into triangles. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param quad_method: + Method for splitting the quads into triangles. + :type quad_method: Literal['BEAUTY', 'FIXED', 'ALTERNATE', 'SHORT_EDGE', 'LONG_EDGE'] + :param ngon_method: + Method for splitting the polygons into triangles. + :type ngon_method: Literal['BEAUTY', 'EAR_CLIP'] + :return: + + - ``edges``: + + **type** list[:class:`bmesh.types.BMEdge`] + - ``faces``: + + **type** list[:class:`bmesh.types.BMFace`] + - ``face_map``: + + **type** dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``face_map_double``: + Duplicate faces. + + **type** dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: unsubdivide(bm, verts=[], iterations=0) + + Un-Subdivide. + + Reduce detail in geometry containing grids. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param verts: + Input vertices. + :type verts: list[:class:`bmesh.types.BMVert`] + :param iterations: + Number of times to unsubdivide. + :type iterations: int + + +.. function:: subdivide_edges(bm, edges=[], smooth=0, smooth_falloff='SMOOTH', fractal=0, along_normal=0, cuts=0, seed=0, custom_patterns={}, edge_percents={}, quad_corner_type='STRAIGHT_CUT', use_grid_fill=False, use_single_edge=False, use_only_quads=False, use_sphere=False, use_smooth_even=False) + + Subdivide Edges. + + Advanced operator for subdividing edges + with options for face patterns, smoothing and randomization. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param smooth: + Smoothness factor. + :type smooth: float + :param smooth_falloff: + Smooth falloff type. + :type smooth_falloff: Literal['SMOOTH', 'SPHERE', 'ROOT', 'SHARP', 'LINEAR', 'INVERSE_SQUARE'] + :param fractal: + Fractal randomness factor. + :type fractal: float + :param along_normal: + Factor (0 to 1) controlling how much fractal displacement is restricted to the normal. + :type along_normal: float + :param cuts: + Number of cuts. + :type cuts: int + :param seed: + Seed for the random number generator. + :type seed: int + :param custom_patterns: + Internal use only, not accessible from Python. + :type custom_patterns: dict + :param edge_percents: + Mapping of edges to a float (0 to 1) controlling the cut position along each edge. + :type edge_percents: dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, float] + :param quad_corner_type: + Quad corner type. + :type quad_corner_type: Literal['STRAIGHT_CUT', 'INNER_VERT', 'PATH', 'FAN'] + :param use_grid_fill: + Fill in fully-selected faces with a grid. + :type use_grid_fill: bool + :param use_single_edge: + Tessellate the case of one edge selected in a quad or triangle. + :type use_single_edge: bool + :param use_only_quads: + Only subdivide quads (for loop-cut). + :type use_only_quads: bool + :param use_sphere: + Project new vertices onto a sphere (used for spherical primitives). + :type use_sphere: bool + :param use_smooth_even: + Maintain even offset when smoothing. + :type use_smooth_even: bool + :return: + + - ``geom_inner``: + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``geom_split``: + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``geom``: + Contains all output geometry. + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: subdivide_edgering(bm, edges=[], interp_mode='LINEAR', smooth=0, cuts=0, profile_shape='SMOOTH', profile_shape_factor=0) + + Subdivide Edge-Ring. + + Take an edge-ring, and subdivide with interpolation options. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param interp_mode: + Interpolation method. + :type interp_mode: Literal['LINEAR', 'PATH', 'SURFACE'] + :param smooth: + Smoothness factor. + :type smooth: float + :param cuts: + Number of cuts. + :type cuts: int + :param profile_shape: + Profile shape type. + :type profile_shape: Literal['SMOOTH', 'SPHERE', 'ROOT', 'SHARP', 'LINEAR', 'INVERSE_SQUARE'] + :param profile_shape_factor: + How much intermediary new edges are shrunk/expanded. + :type profile_shape_factor: float + :return: + + - ``faces``: + Output faces. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: bisect_plane(bm, geom=[], dist=0, plane_co=mathutils.Vector(), plane_no=mathutils.Vector(), use_snap_center=False, clear_outer=False, clear_inner=False) + + Bisect Plane. + + Bisects the mesh by a plane (cut the mesh in half). + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param geom: + Input geometry. + :type geom: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param dist: + Minimum distance when testing if a vert is exactly on the plane. + :type dist: float + :param plane_co: + Point on the plane. + :type plane_co: Sequence[float] + :param plane_no: + Normal of the plane. + :type plane_no: Sequence[float] + :param use_snap_center: + Snap axis aligned verts to the center. + :type use_snap_center: bool + :param clear_outer: + When enabled, remove all geometry on the positive side of the plane. + :type clear_outer: bool + :param clear_inner: + When enabled, remove all geometry on the negative side of the plane. + :type clear_inner: bool + :return: + + - ``geom_cut``: + Output geometry aligned with the plane (new and existing). + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge`] + - ``geom``: + Input and output geometry (result of cut). + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: delete(bm, geom=[], context='VERTS') + + Delete Geometry. + + Utility operator to delete geometry. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param geom: + Input geometry. + :type geom: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param context: + Geometry types to delete. + :type context: Literal['VERTS', 'EDGES', 'FACES_ONLY', 'EDGES_FACES', 'FACES', 'FACES_KEEP_BOUNDARY', 'TAGGED_ONLY'] + + +.. function:: duplicate(bm, geom=[], dest=None, use_select_history=False, use_edge_flip_from_face=False) + + Duplicate Geometry. + + Utility operator to duplicate geometry, + optionally into a destination mesh. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param geom: + Input geometry. + :type geom: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param dest: + Destination bmesh, if None will use current one. + :type dest: :class:`bmesh.types.BMesh` | None + :param use_select_history: + Preserve the selection history in the duplicated geometry. + :type use_select_history: bool + :param use_edge_flip_from_face: + Copy edge flip state from connected faces. + :type use_edge_flip_from_face: bool + :return: + + - ``geom_orig``: + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``geom``: + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``vert_map``: + + **type** dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``edge_map``: + + **type** dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``face_map``: + + **type** dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``boundary_map``: + Boundary edges from the split geometry that maps edges from the original geometry + to the destination edges. + + **type** dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``isovert_map``: + + **type** dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: split(bm, geom=[], dest=None, use_only_faces=False) + + Split Off Geometry. + + Disconnect geometry from adjacent edges and faces, + optionally into a destination mesh. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param geom: + Input geometry. + :type geom: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param dest: + Destination bmesh, if None will use current one. + :type dest: :class:`bmesh.types.BMesh` | None + :param use_only_faces: + When enabled, don't duplicate loose verts/edges. + :type use_only_faces: bool + :return: + + - ``geom``: + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``boundary_map``: + Boundary edges from the split geometry that maps edges from the original geometry + to the destination edges. + + When the source edges have been deleted, the destination edge will be used + for both the key and the value. + + **type** dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``isovert_map``: + + **type** dict[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: spin(bm, geom=[], cent=mathutils.Vector(), axis=mathutils.Vector(), dvec=mathutils.Vector(), angle=0, space=mathutils.Matrix.Identity(4), steps=0, use_merge=False, use_normal_flip=False, use_duplicate=False) + + Spin. + + Extrude or duplicate geometry a number of times, + rotating and possibly translating after each step + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param geom: + Input geometry. + :type geom: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param cent: + Rotation center. + :type cent: Sequence[float] + :param axis: + Rotation axis. + :type axis: Sequence[float] + :param dvec: + Translation delta per step. + :type dvec: Sequence[float] + :param angle: + Total rotation angle (radians). + :type angle: float + :param space: + Matrix to define the space (typically object matrix). + :type space: :class:`mathutils.Matrix` + :param steps: + Number of steps. + :type steps: int + :param use_merge: + Merge first/last when the angle is a full revolution. + :type use_merge: bool + :param use_normal_flip: + Create faces with reversed direction. + :type use_normal_flip: bool + :param use_duplicate: + Duplicate the geometry, otherwise extrude. + :type use_duplicate: bool + :return: + + - ``geom_last``: + Result of last step. + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: rotate_uvs(bm, faces=[], use_ccw=False) + + UV Rotation. + + Cycle the loop UVs + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param use_ccw: + Rotate counter-clockwise if true, otherwise clockwise. + :type use_ccw: bool + + +.. function:: reverse_uvs(bm, faces=[]) + + UV Reverse. + + Reverse the UVs + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + + +.. function:: rotate_colors(bm, faces=[], use_ccw=False, color_index=0) + + Color Rotation. + + Cycle the loop colors + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param use_ccw: + Rotate counter-clockwise if true, otherwise clockwise. + :type use_ccw: bool + :param color_index: + Index into color attribute list. + :type color_index: int + + +.. function:: reverse_colors(bm, faces=[], color_index=0) + + Color Reverse + + Reverse the loop colors. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param color_index: + Index into color attribute list. + :type color_index: int + + +.. function:: split_edges(bm, edges=[], verts=[], use_verts=False) + + Edge Split. + + Disconnects faces along input edges. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param verts: + Optional tag verts, use to have greater control of splits. + :type verts: list[:class:`bmesh.types.BMVert`] + :param use_verts: + Use `verts` for splitting, else just find verts to split from edges. + :type use_verts: bool + :return: + + - ``edges``: + The original edges that were disconnected. + + **type** list[:class:`bmesh.types.BMEdge`] + + :rtype: dict[str, Any] + + +.. function:: create_grid(bm, x_segments=0, y_segments=0, size=0, matrix=mathutils.Matrix.Identity(4), calc_uvs=False) + + Create Grid. + + Creates a grid with a variable number of subdivisions + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param x_segments: + Number of x segments. + :type x_segments: int + :param y_segments: + Number of y segments. + :type y_segments: int + :param size: + Size of the grid. + :type size: float + :param matrix: + Matrix to multiply the new geometry with. + :type matrix: :class:`mathutils.Matrix` + :param calc_uvs: + Calculate default UVs. + :type calc_uvs: bool + :return: + + - ``verts``: + Output verts. + + **type** list[:class:`bmesh.types.BMVert`] + + :rtype: dict[str, Any] + + +.. function:: create_uvsphere(bm, u_segments=0, v_segments=0, radius=0, matrix=mathutils.Matrix.Identity(4), calc_uvs=False) + + Create UV Sphere. + + Creates a UV sphere with a variable number of subdivisions. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param u_segments: + Number of u segments. + :type u_segments: int + :param v_segments: + Number of v segments. + :type v_segments: int + :param radius: + Radius. + :type radius: float + :param matrix: + Matrix to multiply the new geometry with. + :type matrix: :class:`mathutils.Matrix` + :param calc_uvs: + Calculate default UVs. + :type calc_uvs: bool + :return: + + - ``verts``: + Output verts. + + **type** list[:class:`bmesh.types.BMVert`] + + :rtype: dict[str, Any] + + +.. function:: create_icosphere(bm, subdivisions=0, radius=0, matrix=mathutils.Matrix.Identity(4), calc_uvs=False) + + Create Ico-Sphere. + + Creates an ico-sphere with a variable number of subdivisions. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param subdivisions: + How many times to recursively subdivide the sphere. + :type subdivisions: int + :param radius: + Radius. + :type radius: float + :param matrix: + Matrix to multiply the new geometry with. + :type matrix: :class:`mathutils.Matrix` + :param calc_uvs: + Calculate default UVs. + :type calc_uvs: bool + :return: + + - ``verts``: + Output verts. + + **type** list[:class:`bmesh.types.BMVert`] + + :rtype: dict[str, Any] + + +.. function:: create_monkey(bm, matrix=mathutils.Matrix.Identity(4), calc_uvs=False) + + Create Suzanne. + + Creates a monkey (standard blender primitive). + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param matrix: + Matrix to multiply the new geometry with. + :type matrix: :class:`mathutils.Matrix` + :param calc_uvs: + Calculate default UVs. + :type calc_uvs: bool + :return: + + - ``verts``: + Output verts. + + **type** list[:class:`bmesh.types.BMVert`] + + :rtype: dict[str, Any] + + +.. function:: create_cone(bm, cap_ends=False, cap_tris=False, segments=0, radius1=0, radius2=0, depth=0, matrix=mathutils.Matrix.Identity(4), calc_uvs=False) + + Create Cone. + + Creates a cone with variable radius at both ends + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param cap_ends: + Whether or not to fill in the ends with faces. + :type cap_ends: bool + :param cap_tris: + Fill ends with triangles instead of ngons. + :type cap_tris: bool + :param segments: + Number of vertices in the base circle. + :type segments: int + :param radius1: + Radius of one end. + :type radius1: float + :param radius2: + Radius of the opposite end. + :type radius2: float + :param depth: + Distance between ends. + :type depth: float + :param matrix: + Matrix to multiply the new geometry with. + :type matrix: :class:`mathutils.Matrix` + :param calc_uvs: + Calculate default UVs. + :type calc_uvs: bool + :return: + + - ``verts``: + Output verts. + + **type** list[:class:`bmesh.types.BMVert`] + + :rtype: dict[str, Any] + + +.. function:: create_circle(bm, cap_ends=False, cap_tris=False, segments=0, radius=0, matrix=mathutils.Matrix.Identity(4), calc_uvs=False) + + Creates a Circle. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param cap_ends: + Whether or not to fill in the circle with a face. + :type cap_ends: bool + :param cap_tris: + Fill the circle with triangles instead of an n-gon. + :type cap_tris: bool + :param segments: + Number of vertices in the circle. + :type segments: int + :param radius: + Radius of the circle. + :type radius: float + :param matrix: + Matrix to multiply the new geometry with. + :type matrix: :class:`mathutils.Matrix` + :param calc_uvs: + Calculate default UVs. + :type calc_uvs: bool + :return: + + - ``verts``: + Output verts. + + **type** list[:class:`bmesh.types.BMVert`] + + :rtype: dict[str, Any] + + +.. function:: create_cube(bm, size=0, matrix=mathutils.Matrix.Identity(4), calc_uvs=False) + + Create Cube + + Creates a cube. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param size: + Size of the cube. + :type size: float + :param matrix: + Matrix to multiply the new geometry with. + :type matrix: :class:`mathutils.Matrix` + :param calc_uvs: + Calculate default UVs. + :type calc_uvs: bool + :return: + + - ``verts``: + Output verts. + + **type** list[:class:`bmesh.types.BMVert`] + + :rtype: dict[str, Any] + + +.. function:: bevel(bm, geom=[], offset=0, offset_type='OFFSET', profile_type='SUPERELLIPSE', segments=0, profile=0, affect='VERTICES', clamp_overlap=False, material=0, loop_slide=False, mark_seam=False, mark_sharp=False, harden_normals=False, face_strength_mode='NONE', miter_outer='SHARP', miter_inner='SHARP', spread=0, custom_profile=None, vmesh_method='ADJ') + + Bevel. + + Bevels edges and vertices + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param geom: + Input edges and vertices. + :type geom: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param offset: + Amount to offset beveled edge. + :type offset: float + :param offset_type: + How to measure the offset. + :type offset_type: Literal['OFFSET', 'WIDTH', 'DEPTH', 'PERCENT', 'ABSOLUTE'] + :param profile_type: + The profile type to use for bevel. + :type profile_type: Literal['SUPERELLIPSE', 'CUSTOM'] + :param segments: + Number of segments in bevel. + :type segments: int + :param profile: + Profile shape, 0->1 (.5=>round). + :type profile: float + :param affect: + Whether to bevel vertices or edges. + :type affect: Literal['VERTICES', 'EDGES'] + :param clamp_overlap: + Do not allow beveled edges/vertices to overlap each other. + :type clamp_overlap: bool + :param material: + Material for bevel faces, -1 means get from adjacent faces. + :type material: int + :param loop_slide: + Prefer to slide along edges to having even widths. + :type loop_slide: bool + :param mark_seam: + Extend edge data to allow seams to run across bevels. + :type mark_seam: bool + :param mark_sharp: + Extend edge data to allow sharp edges to run across bevels. + :type mark_sharp: bool + :param harden_normals: + Harden normals. + :type harden_normals: bool + :param face_strength_mode: + Whether to set face strength, and which faces to set if so. + :type face_strength_mode: Literal['NONE', 'NEW', 'AFFECTED', 'ALL'] + :param miter_outer: + Outer miter kind. + :type miter_outer: Literal['SHARP', 'PATCH', 'ARC'] + :param miter_inner: + Inner miter kind. + :type miter_inner: Literal['SHARP', 'PATCH', 'ARC'] + :param spread: + Amount to spread the miter. + :type spread: float + :param custom_profile: + CurveProfile, if None ignored + :type custom_profile: :class:`bpy.types.bpy_struct` | None + :param vmesh_method: + The method to use to create meshes at intersections. + :type vmesh_method: Literal['ADJ', 'CUTOFF'] + :return: + + - ``faces``: + Output faces. + + **type** list[:class:`bmesh.types.BMFace`] + - ``edges``: + Output edges. + + **type** list[:class:`bmesh.types.BMEdge`] + - ``verts``: + Output verts. + + **type** list[:class:`bmesh.types.BMVert`] + + :rtype: dict[str, Any] + + +.. function:: beautify_fill(bm, faces=[], edges=[], use_restrict_tag=False, method='AREA') + + Beautify Fill. + + Rotate edges to create more evenly spaced triangles. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param edges: + Edges that can be flipped. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param use_restrict_tag: + Restrict edge rotation to mixed tagged vertices. + :type use_restrict_tag: bool + :param method: + Method to define what is beautiful. + :type method: Literal['AREA', 'ANGLE'] + :return: + + - ``geom``: + New flipped faces and edges. + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: triangle_fill(bm, use_beauty=False, use_dissolve=False, edges=[], normal=mathutils.Vector()) + + Triangle Fill. + + Fill edges with triangles + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param use_beauty: + Use best triangulation division. + :type use_beauty: bool + :param use_dissolve: + Dissolve resulting faces. + :type use_dissolve: bool + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param normal: + Optionally pass the fill normal to use. + :type normal: Sequence[float] + :return: + + - ``geom``: + New faces and edges. + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: solidify(bm, geom=[], thickness=0) + + Solidify. + + Turns a mesh into a shell with thickness + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param geom: + Input geometry. + :type geom: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param thickness: + Thickness of the solidified shell. + :type thickness: float + :return: + + - ``geom``: + Output geometry (new shell faces, edges, and vertices). + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: inset_individual(bm, faces=[], thickness=0, depth=0, use_even_offset=False, use_interpolate=False, use_relative_offset=False) + + Face Inset (Individual). + + Insets individual faces. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param thickness: + Inset distance from the boundary. + :type thickness: float + :param depth: + Distance to raise or lower the inset face along its normal. + :type depth: float + :param use_even_offset: + Scale the offset to give more even thickness. + :type use_even_offset: bool + :param use_interpolate: + Blend face data across the inset. + :type use_interpolate: bool + :param use_relative_offset: + Scale the offset by surrounding geometry. + :type use_relative_offset: bool + :return: + + - ``faces``: + Output faces. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: inset_region(bm, faces=[], faces_exclude=[], use_boundary=False, use_even_offset=False, use_interpolate=False, use_relative_offset=False, use_edge_rail=False, thickness=0, depth=0, use_outset=False) + + Face Inset (Regions). + + Inset or outset face regions. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param faces_exclude: + Input faces to explicitly exclude from inset. + :type faces_exclude: list[:class:`bmesh.types.BMFace`] + :param use_boundary: + Inset face boundaries. + :type use_boundary: bool + :param use_even_offset: + Scale the offset to give more even thickness. + :type use_even_offset: bool + :param use_interpolate: + Blend face data across the inset. + :type use_interpolate: bool + :param use_relative_offset: + Scale the offset by surrounding geometry. + :type use_relative_offset: bool + :param use_edge_rail: + Inset the region along existing edges. + :type use_edge_rail: bool + :param thickness: + Inset distance from the boundary. + :type thickness: float + :param depth: + Distance to raise or lower the inset face along its normal. + :type depth: float + :param use_outset: + Outset rather than inset. + :type use_outset: bool + :return: + + - ``faces``: + Output faces. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: offset_edgeloops(bm, edges=[], use_cap_endpoint=False) + + Edge-loop Offset. + + Creates edge loops based on simple edge-outset method. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param edges: + Input edges. + :type edges: list[:class:`bmesh.types.BMEdge`] + :param use_cap_endpoint: + Extend loop around end-points. + :type use_cap_endpoint: bool + :return: + + - ``edges``: + Output edges. + + **type** list[:class:`bmesh.types.BMEdge`] + + :rtype: dict[str, Any] + + +.. function:: wireframe(bm, faces=[], thickness=0, offset=0, use_replace=False, use_boundary=False, use_even_offset=False, use_crease=False, crease_weight=0, use_relative_offset=False, material_offset=0) + + Wire Frame. + + Makes a wire-frame copy of faces. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param thickness: + Wire thickness. + :type thickness: float + :param offset: + Offset the thickness from the center. + :type offset: float + :param use_replace: + Remove original geometry. + :type use_replace: bool + :param use_boundary: + Inset face boundaries. + :type use_boundary: bool + :param use_even_offset: + Scale the offset to give more even thickness. + :type use_even_offset: bool + :param use_crease: + Crease hub edges for improved subdivision surface. + :type use_crease: bool + :param crease_weight: + The mean crease weight for resulting edges. + :type crease_weight: float + :param use_relative_offset: + Scale the offset by surrounding geometry. + :type use_relative_offset: bool + :param material_offset: + Offset material index of generated faces. + :type material_offset: int + :return: + + - ``faces``: + Output faces. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: poke(bm, faces=[], offset=0, center_mode='MEAN_WEIGHTED', use_relative_offset=False) + + Pokes a face. + + Splits a face into a triangle fan. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param faces: + Input faces. + :type faces: list[:class:`bmesh.types.BMFace`] + :param offset: + Center vertex offset along normal. + :type offset: float + :param center_mode: + Calculation mode for center vertex. + :type center_mode: Literal['MEAN_WEIGHTED', 'MEAN', 'BOUNDS'] + :param use_relative_offset: + Apply offset. + :type use_relative_offset: bool + :return: + + - ``verts``: + Output verts. + + **type** list[:class:`bmesh.types.BMVert`] + - ``faces``: + Output faces. + + **type** list[:class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: convex_hull(bm, input=[], use_existing_faces=False) + + Convex Hull + + Builds a convex hull from the vertices in ``input``. + + If ``use_existing_faces`` is true, the hull will not output triangles + that are covered by a pre-existing face. + + All hull vertices, faces, and edges are added to ``geom.out``. Any + input elements that end up inside the hull (i.e. are not used by an + output face) are added to the ``geom_interior.out`` slot. The + ``geom_unused.out`` slot will contain all interior geometry that is + completely unused. Lastly, ``geom_holes.out`` contains edges and faces + that were in the input and are part of the hull. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param input: + Input geometry. + :type input: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param use_existing_faces: + Skip hull triangles that are covered by a pre-existing face. + :type use_existing_faces: bool + :return: + + - ``geom``: + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``geom_interior``: + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``geom_unused``: + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + - ``geom_holes``: + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + +.. function:: symmetrize(bm, input=[], direction='-X', dist=0, use_shapekey=False) + + Symmetrize. + + Makes the mesh elements in the ``input`` slot symmetrical. Unlike + normal mirroring, it only copies in one direction, as specified by + the ``direction`` slot. The edges and faces that cross the plane of + symmetry are split as needed to enforce symmetry. + + All new vertices, edges, and faces are added to the ``geom.out`` slot. + + :param bm: The bmesh to operate on. + :type bm: :class:`bmesh.types.BMesh` + :param input: + Input geometry. + :type input: list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + :param direction: + Axis to use. + :type direction: Literal['-X', '-Y', '-Z', 'X', 'Y', 'Z'] + :param dist: + Minimum distance. + :type dist: float + :param use_shapekey: + Transform shape keys too. + :type use_shapekey: bool + :return: + + - ``geom``: + + **type** list[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`] + + :rtype: dict[str, Any] + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.rst new file mode 100644 index 0000000..4fbc0da --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.rst @@ -0,0 +1,49 @@ +BMesh Module (bmesh) +==================== + +.. module:: bmesh + +This module provides access to Blender's bmesh data structures. + +.. include:: include__bmesh.rst + +.. toctree:: + :maxdepth: 1 + :caption: Submodules + + bmesh.ops.rst + bmesh.types.rst + bmesh.utils.rst + bmesh.geometry.rst + +.. method:: from_edit_mesh(mesh) + + Return a BMesh from this mesh, currently the mesh must already be in editmode. + + :param mesh: The editmode mesh. + :type mesh: :class:`bpy.types.Mesh` + :return: the BMesh associated with this mesh. + :rtype: :class:`bmesh.types.BMesh` + + +.. method:: new(*, use_operators=True) + + :param use_operators: Support calling operators in :mod:`bmesh.ops` (uses some extra memory per vert/edge/face). + :type use_operators: bool + :return: Return a new, empty BMesh. + :rtype: :class:`bmesh.types.BMesh` + + +.. method:: update_edit_mesh(mesh, *, loop_triangles=True, destructive=True) + + Update the mesh after changes to the BMesh in editmode, + optionally recalculating n-gon tessellation. + + :param mesh: The editmode mesh. + :type mesh: :class:`bpy.types.Mesh` + :param loop_triangles: Option to recalculate n-gon tessellation. + :type loop_triangles: bool + :param destructive: Use when geometry has been added or removed. + :type destructive: bool + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.types.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.types.rst new file mode 100644 index 0000000..b7aab46 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.types.rst @@ -0,0 +1,1925 @@ +BMesh Types (bmesh.types) +========================= + +.. module:: bmesh.types + +.. |UV_STICKY_SELECT_MODE_REF| replace:: (:class:`bpy.types.ToolSettings.uv_sticky_select_mode` which may be passed in directly). + +.. |UV_STICKY_SELECT_MODE_TYPE| replace:: Literal['SHARED_LOCATION', 'DISABLED', 'SHARED_VERTEX'] + +.. |UV_SELECT_FLUSH_MODE_NEEDED| replace:: This function is selection-mode independent, typically :meth:`bmesh.types.BMesh.uv_select_flush_mode` should be called afterwards. + +.. |UV_SELECT_SYNC_TO_MESH_NEEDED| replace:: This function doesn't flush the selection to the mesh, typically :meth:`bmesh.types.BMesh.uv_select_sync_to_mesh` should be called afterwards. + +Base Mesh Type +-------------- + +.. class:: BMesh + + The BMesh data structure + + .. method:: calc_loop_triangles() + + Calculate triangle tessellation from quads/ngons. + + :return: The triangulated faces. + :rtype: list[tuple[:class:`bmesh.types.BMLoop`, :class:`bmesh.types.BMLoop`, :class:`bmesh.types.BMLoop`]] + + + .. method:: calc_volume(*, signed=False) + + Calculate mesh volume based on face normals. + + :param signed: when signed is true, negative values may be returned. + :type signed: bool + :return: The volume of the mesh. + :rtype: float + + + .. method:: clear() + + Clear all mesh data. + + + .. method:: copy() + + :return: A copy of this BMesh. + :rtype: :class:`bmesh.types.BMesh` + + + .. method:: free() + + Explicitly free the BMesh data from memory, causing exceptions on further access. + + .. note:: + + The BMesh is freed automatically, typically when the script finishes executing. + However in some cases it's hard to predict when this will be and it's useful to + explicitly free the data. + + + .. method:: from_mesh(mesh, *, face_normals=True, vertex_normals=True, use_shape_key=False, shape_key_index=0) + + Initialize this bmesh from existing mesh data-block. + + :param mesh: The mesh data to load. + :type mesh: :class:`bpy.types.Mesh` + :param face_normals: Calculate face normals. + :type face_normals: bool + :param vertex_normals: Calculate vertex normals. + :type vertex_normals: bool + :param use_shape_key: Use the locations from a shape key. + :type use_shape_key: bool + :param shape_key_index: The shape key index to use. + :type shape_key_index: int + + .. note:: + + Multiple calls can be used to join multiple meshes. + + Custom-data layers are only copied from ``mesh`` on initialization. + Further calls will copy custom-data to matching layers, layers missing on the target mesh won't be added. + + + .. method:: from_object(object, depsgraph, *, cage=False, face_normals=True, vertex_normals=True) + + Initialize this bmesh from existing object data-block (only meshes are currently supported). + + :param object: The object data to load. + :type object: :class:`bpy.types.Object` + :param depsgraph: The dependency graph for evaluated data. + :type depsgraph: :class:`bpy.types.Depsgraph` + :param cage: Get the mesh as a deformed cage. + :type cage: bool + :param face_normals: Calculate face normals. + :type face_normals: bool + :param vertex_normals: Calculate vertex normals. + :type vertex_normals: bool + + + .. method:: normal_update() + + Update normals of mesh faces and verts. + + .. note:: + + The normal of any vertex where :attr:`is_wire` is True will be a zero vector. + + + .. method:: select_flush(select) + + Flush selection from vertices, independent of the current selection mode. + + :param select: flush selection or de-selected elements. + :type select: bool + + + .. method:: select_flush_mode(*, flush_down=False) + + Flush selection based on the current mode :attr:`bmesh.types.BMesh.select_mode`. + + :param flush_down: Flush selection down from faces to edges & verts or from edges to verts. This option is ignored when vertex selection mode is enabled. + :type flush_down: bool + + + .. method:: to_mesh(mesh) + + Writes this BMesh data into an existing Mesh data-block. + + :param mesh: The mesh data to write into. + :type mesh: :class:`bpy.types.Mesh` + + + .. method:: transform(matrix, *, filter=None) + + Transform the mesh (optionally filtering flagged data only). + + :param matrix: 4x4 transform matrix. + :type matrix: :class:`mathutils.Matrix` + :param filter: Flag to filter vertices. + :type filter: set[Literal['SELECT', 'HIDE', 'SEAM', 'SMOOTH', 'TAG']] | None + + + .. method:: uv_select_flush(select) + + Flush selection from UV vertices to edges & faces independent of the selection mode. + + :param select: Flush selection or de-selected elements. + :type select: bool + + .. note:: + + - |UV_SELECT_SYNC_TO_MESH_NEEDED| + + + .. method:: uv_select_flush_mode(*, flush_down=False) + + Flush UV selection based on the current mode :attr:`bmesh.types.BMesh.select_mode`. + + :param flush_down: Flush selection down from faces to edges & verts or from edges to verts. This option is ignored when vertex selection mode is enabled. + :type flush_down: bool + + + .. method:: uv_select_flush_shared(select) + + Flush selection from UV vertices to contiguous UV's independent of the selection mode. + + :param select: Flush selection or de-selected elements. + :type select: bool + + .. note:: + + - |UV_SELECT_SYNC_TO_MESH_NEEDED| + + + .. method:: uv_select_foreach_set(select, /, *, loop_verts=(), loop_edges=(), faces=(), sticky_select_mode='SHARED_LOCATION') + + Set the UV selection state for loop-vertices, loop-edges & faces. + + This is a close equivalent to selecting in the UV editor. + + :param select: The selection state to set. + :type select: bool + :param loop_verts: Loop verts to operate on. + :type loop_verts: Iterable[:class:`bmesh.types.BMLoop`] + :param loop_edges: Loop edges to operate on. + :type loop_edges: Iterable[:class:`bmesh.types.BMLoop`] + :param faces: Faces to operate on. + :type faces: Iterable[:class:`bmesh.types.BMFace`] + :param sticky_select_mode: See |UV_STICKY_SELECT_MODE_REF|. + :type sticky_select_mode: |UV_STICKY_SELECT_MODE_TYPE| + + .. note:: + + - |UV_SELECT_FLUSH_MODE_NEEDED| + - |UV_SELECT_SYNC_TO_MESH_NEEDED| + + + .. method:: uv_select_foreach_set_from_mesh(select, /, *, verts=(), edges=(), faces=(), sticky_select_mode='SHARED_LOCATION') + + Select or de-select mesh elements, updating the UV selection. + + An equivalent to selecting from the 3D viewport for selection operations that support maintaining a synchronized UV selection. + + :param select: The selection state to set. + :type select: bool + :param verts: Verts to operate on. + :type verts: Iterable[:class:`bmesh.types.BMVert`] + :param edges: Edges to operate on. + :type edges: Iterable[:class:`bmesh.types.BMEdge`] + :param faces: Faces to operate on. + :type faces: Iterable[:class:`bmesh.types.BMFace`] + :param sticky_select_mode: See |UV_STICKY_SELECT_MODE_REF|. + :type sticky_select_mode: |UV_STICKY_SELECT_MODE_TYPE| + + + .. method:: uv_select_sync_from_mesh(*, sticky_select_mode='SHARED_LOCATION') + + Sync selection from mesh to UVs. + + :param sticky_select_mode: Behavior when flushing from the mesh to UV selection |UV_STICKY_SELECT_MODE_REF|. This should only be used when preparing to create a UV selection. + :type sticky_select_mode: |UV_STICKY_SELECT_MODE_TYPE| + + .. note:: + + - |UV_SELECT_SYNC_TO_MESH_NEEDED| + + + .. method:: uv_select_sync_to_mesh() + + Sync selection from UVs to the mesh. + + + .. attribute:: edges + + This mesh's edge sequence (read-only). + + :type: :class:`bmesh.types.BMEdgeSeq` + + + .. attribute:: faces + + This mesh's face sequence (read-only). + + :type: :class:`bmesh.types.BMFaceSeq` + + + .. attribute:: is_valid + + True when this element is valid (hasn't been freed or removed). + + :type: bool + + + .. attribute:: is_wrapped + + True when this mesh is owned by blender (typically the editmode BMesh). + + :type: bool + + + .. attribute:: loops + + This mesh's loops (read-only). + + :type: :class:`bmesh.types.BMLoopSeq` + + .. note:: + + Loops must be accessed via faces, this is only exposed for layer access. + + + .. attribute:: select_history + + Sequence of selected items (the last is displayed as active). + + :type: :class:`bmesh.types.BMEditSelSeq` + + + .. attribute:: select_mode + + The selection mode, cannot be assigned an empty set. + + :type: set[Literal['VERT', 'EDGE', 'FACE']] + + + .. attribute:: uv_select_sync_valid + + When true, the UV selection has been synchronized. Setting to False means the UV selection will be ignored. While setting to true is supported it is up to the script author to ensure a correct selection state before doing so. + + :type: bool + + + .. attribute:: verts + + This mesh's vert sequence (read-only). + + :type: :class:`bmesh.types.BMVertSeq` + + + + +Mesh Elements +------------- + +.. class:: BMVert + + The BMesh vertex type + + .. method:: calc_edge_angle(fallback=None) + + Return the angle between this vert's two connected edges. + + :param fallback: return this when the vert doesn't have 2 edges + (instead of raising a :exc:`ValueError`). + :type fallback: Any + :return: Angle between edges in radians. + :rtype: float + + + .. method:: calc_shell_factor() + + Return a multiplier calculated based on the sharpness of the vertex. + Where a flat surface gives 1.0, and higher values sharper edges. + This is used to maintain shell thickness when offsetting verts along their normals. + + :return: offset multiplier + :rtype: float + + + .. method:: copy_from(other) + + Copy values from another element of matching type. + + :param other: Another element of the same type to copy from. + :type other: Self + + + .. method:: copy_from_face_interp(face) + + Interpolate the customdata from a face onto this vert (the vert should overlap the face). + + :param face: The face to interpolate data from. + :type face: :class:`bmesh.types.BMFace` + + + .. method:: copy_from_vert_interp(vert_pair, fac) + + Interpolate the customdata from a vert between 2 other verts. + + :param vert_pair: The verts between which to interpolate data from. + :type vert_pair: Sequence[:class:`bmesh.types.BMVert`] + :param fac: The interpolation factor. + :type fac: float + + + .. method:: hide_set(hide) + + Set the hide state. + This is different from the *hide* attribute because it updates the selection and hide state of associated geometry. + + :param hide: Hidden or visible. + :type hide: bool + + + .. method:: normal_update() + + Update vertex normal. + This does not update the normals of adjoining faces. + + .. note:: + + The vertex normal will be a zero vector if vertex :attr:`is_wire` is True. + + + .. method:: select_set(select) + + Set the selection. + This is different from the *select* attribute because it updates the selection state of associated geometry. + + :param select: Select or de-select. + :type select: bool + + .. note:: + + This flushes selection down (e.g. selecting a face also selects its edges and vertices), but not up (e.g. de-selecting a vertex won't de-select faces that use it). Before finishing with a mesh, flushing is typically still needed. + + + .. attribute:: co + + The coordinates for this vertex as a 3D, wrapped vector. + + :type: :class:`mathutils.Vector` + + + .. attribute:: hide + + Hidden state of this element. + + :type: bool + + + .. attribute:: index + + Index of this element. + + :type: int + + .. note:: + + This value is not necessarily valid, while editing the mesh it can become *dirty*. + + It's also possible to assign any number to this attribute for a scripts internal logic. + + To ensure the value is up to date - see :meth:`bmesh.types.BMElemSeq.index_update`. + + + .. attribute:: is_boundary + + True when this vertex is connected to boundary edges (read-only). + + :type: bool + + + .. attribute:: is_manifold + + True when this vertex is manifold (read-only). + + :type: bool + + + .. attribute:: is_valid + + True when this element is valid (hasn't been freed or removed). + + :type: bool + + + .. attribute:: is_wire + + True when this vertex is not connected to any faces (read-only). + + :type: bool + + + .. attribute:: link_edges + + Edges connected to this vertex (read-only). + + :type: :class:`bmesh.types.BMElemSeq`\ [:class:`bmesh.types.BMEdge`] + + + .. attribute:: link_faces + + Faces connected to this vertex (read-only). + + :type: :class:`bmesh.types.BMElemSeq`\ [:class:`bmesh.types.BMFace`] + + + .. attribute:: link_loops + + Loops that use this vertex (read-only). + + :type: :class:`bmesh.types.BMElemSeq`\ [:class:`bmesh.types.BMLoop`] + + + .. attribute:: normal + + The normal for this vertex as a 3D, wrapped vector. + + :type: :class:`mathutils.Vector` + + + .. attribute:: select + + Selected state of this element. + + :type: bool + + + .. attribute:: tag + + Generic attribute scripts can use for own logic + + :type: bool + + + + +.. class:: BMEdge + + The BMesh edge connecting 2 verts + + .. method:: calc_face_angle(fallback=None) + + Return the angle between this edge's two connected faces. + + :param fallback: return this when the edge doesn't have 2 faces + (instead of raising a :exc:`ValueError`). + :type fallback: Any + :return: The angle between 2 connected faces in radians. + :rtype: float + + + .. method:: calc_face_angle_signed(fallback=None) + + Return the signed angle between this edge's two connected faces. + + :param fallback: return this when the edge doesn't have 2 faces + (instead of raising a :exc:`ValueError`). + :type fallback: Any + :return: The angle between 2 connected faces in radians (negative for concave join). + :rtype: float + + + .. method:: calc_length() + + Return the length of the edge. + + :return: The length between both verts. + :rtype: float + + + .. method:: calc_tangent(loop) + + Return the tangent at this edge relative to a face (pointing inward into the face). + This uses the face normal for calculation. + + :param loop: The loop used for tangent calculation. + :type loop: :class:`bmesh.types.BMLoop` + :return: a normalized vector. + :rtype: :class:`mathutils.Vector` + + + .. method:: copy_from(other) + + Copy values from another element of matching type. + + :param other: Another element of the same type to copy from. + :type other: Self + + + .. method:: hide_set(hide) + + Set the hide state. + This is different from the *hide* attribute because it updates the selection and hide state of associated geometry. + + :param hide: Hidden or visible. + :type hide: bool + + + .. method:: normal_update() + + Update normals of all connected faces and the edge verts. + + .. note:: + + The normal of edge vertex will be a zero vector if vertex :attr:`is_wire` is True. + + + .. method:: other_vert(vert) + + Return the other vertex on this edge or None if the vertex is not used by this edge. + + :param vert: a vert in this edge. + :type vert: :class:`bmesh.types.BMVert` + :return: The edge's other vert. + :rtype: :class:`bmesh.types.BMVert` | None + + + .. method:: select_set(select) + + Set the selection. + This is different from the *select* attribute because it updates the selection state of associated geometry. + + :param select: Select or de-select. + :type select: bool + + .. note:: + + This flushes selection down (e.g. selecting a face also selects its edges and vertices), but not up (e.g. de-selecting a vertex won't de-select faces that use it). Before finishing with a mesh, flushing is typically still needed. + + + .. attribute:: hide + + Hidden state of this element. + + :type: bool + + + .. attribute:: index + + Index of this element. + + :type: int + + .. note:: + + This value is not necessarily valid, while editing the mesh it can become *dirty*. + + It's also possible to assign any number to this attribute for a scripts internal logic. + + To ensure the value is up to date - see :meth:`bmesh.types.BMElemSeq.index_update`. + + + .. attribute:: is_boundary + + True when this edge is at the boundary of a face (read-only). + + :type: bool + + + .. attribute:: is_contiguous + + True when this edge is manifold, between two faces with the same winding (read-only). + + :type: bool + + + .. attribute:: is_convex + + True when this edge joins two convex faces, depends on a valid face normal (read-only). + + :type: bool + + + .. attribute:: is_manifold + + True when this edge is manifold (read-only). + + :type: bool + + + .. attribute:: is_valid + + True when this element is valid (hasn't been freed or removed). + + :type: bool + + + .. attribute:: is_wire + + True when this edge is not connected to any faces (read-only). + + :type: bool + + + .. attribute:: link_faces + + Faces connected to this edge, (read-only). + + :type: :class:`bmesh.types.BMElemSeq`\ [:class:`bmesh.types.BMFace`] + + + .. attribute:: link_loops + + Loops connected to this edge, (read-only). + + :type: :class:`bmesh.types.BMElemSeq`\ [:class:`bmesh.types.BMLoop`] + + + .. attribute:: seam + + Seam for UV unwrapping. + + :type: bool + + + .. attribute:: select + + Selected state of this element. + + :type: bool + + + .. attribute:: smooth + + Smooth state of this element. + + :type: bool + + + .. attribute:: tag + + Generic attribute scripts can use for own logic + + :type: bool + + + .. attribute:: verts + + Verts this edge uses (always 2), (read-only). + + :type: :class:`bmesh.types.BMElemSeq`\ [:class:`bmesh.types.BMVert`] + + + + +.. class:: BMFace + + The BMesh face with 3 or more sides + + .. method:: calc_area() + + Return the area of the face. + + :return: The area of the face. + :rtype: float + + + .. method:: calc_center_bounds() + + Return bounds center of the face. + + :return: a 3D vector. + :rtype: :class:`mathutils.Vector` + + + .. method:: calc_center_median() + + Return median center of the face. + + :return: a 3D vector. + :rtype: :class:`mathutils.Vector` + + + .. method:: calc_center_median_weighted() + + Return median center of the face weighted by edge lengths. + + :return: a 3D vector. + :rtype: :class:`mathutils.Vector` + + + .. method:: calc_perimeter() + + Return the perimeter of the face. + + :return: The perimeter of the face. + :rtype: float + + + .. method:: calc_tangent_edge() + + Return face tangent based on longest edge. + + :return: a normalized vector. + :rtype: :class:`mathutils.Vector` + + + .. method:: calc_tangent_edge_diagonal() + + Return face tangent based on the edge farthest from any vertex. + + :return: a normalized vector. + :rtype: :class:`mathutils.Vector` + + + .. method:: calc_tangent_edge_pair() + + Return face tangent based on the two longest disconnected edges. + + - Tris: Use the edge pair with the most similar lengths. + - Quads: Use the longest edge pair. + - NGons: Use the two longest disconnected edges. + + :return: a normalized vector. + :rtype: :class:`mathutils.Vector` + + + .. method:: calc_tangent_vert_diagonal() + + Return face tangent based on the two most distant vertices. + + :return: a normalized vector. + :rtype: :class:`mathutils.Vector` + + + .. method:: copy(*, verts=True, edges=True) + + Make a copy of this face. + + :param verts: When set, the faces verts will be duplicated too. + :type verts: bool + :param edges: When set, the faces edges will be duplicated too. + :type edges: bool + :return: The newly created face. + :rtype: :class:`bmesh.types.BMFace` + + + .. method:: copy_from(other) + + Copy values from another element of matching type. + + :param other: Another element of the same type to copy from. + :type other: Self + + + .. method:: copy_from_face_interp(face, vert=True) + + Interpolate the customdata from another face onto this one (faces should overlap). + + :param face: The face to interpolate data from. + :type face: :class:`bmesh.types.BMFace` + :param vert: When True, also copy vertex data. + :type vert: bool + + + .. method:: hide_set(hide) + + Set the hide state. + This is different from the *hide* attribute because it updates the selection and hide state of associated geometry. + + :param hide: Hidden or visible. + :type hide: bool + + + .. method:: normal_flip() + + Reverses winding of a face, which flips its normal. + + + .. method:: normal_update() + + Update face normal based on the positions of the face verts. + This does not update the normals of face verts. + + + .. method:: select_set(select) + + Set the selection. + This is different from the *select* attribute because it updates the selection state of associated geometry. + + :param select: Select or de-select. + :type select: bool + + .. note:: + + This flushes selection down (e.g. selecting a face also selects its edges and vertices), but not up (e.g. de-selecting a vertex won't de-select faces that use it). Before finishing with a mesh, flushing is typically still needed. + + + .. method:: uv_select_set(select) + + Set the UV face selection state. + + :param select: Select or de-select. + :type select: bool + + .. note:: + + This flushes selection down (selecting a face also selects its edges and vertices), but not up. Before finishing with a mesh, flushing with :meth:`bmesh.types.BMesh.uv_select_flush_mode` is still needed. + + + .. attribute:: edges + + Edges of this face, (read-only). + + :type: :class:`bmesh.types.BMElemSeq`\ [:class:`bmesh.types.BMEdge`] + + + .. attribute:: hide + + Hidden state of this element. + + :type: bool + + + .. attribute:: index + + Index of this element. + + :type: int + + .. note:: + + This value is not necessarily valid, while editing the mesh it can become *dirty*. + + It's also possible to assign any number to this attribute for a scripts internal logic. + + To ensure the value is up to date - see :meth:`bmesh.types.BMElemSeq.index_update`. + + + .. attribute:: is_valid + + True when this element is valid (hasn't been freed or removed). + + :type: bool + + + .. attribute:: loops + + Loops of this face, (read-only). + + :type: :class:`bmesh.types.BMElemSeq`\ [:class:`bmesh.types.BMLoop`] + + + .. attribute:: material_index + + The face's material index. + + :type: int + + + .. attribute:: normal + + The normal for this face as a 3D, wrapped vector. + + :type: :class:`mathutils.Vector` + + + .. attribute:: select + + Selected state of this element. + + :type: bool + + + .. attribute:: smooth + + Smooth state of this element. + + :type: bool + + + .. attribute:: tag + + Generic attribute scripts can use for own logic + + :type: bool + + + .. attribute:: uv_select + + UV selected state of this element. + + :type: bool + + + .. attribute:: verts + + Verts of this face, (read-only). + + :type: :class:`bmesh.types.BMElemSeq`\ [:class:`bmesh.types.BMVert`] + + + + +.. class:: BMLoop + + This is normally accessed from :class:`bmesh.types.BMFace.loops` where each face loop represents a corner of the face. + + .. method:: calc_angle() + + Return the angle at this loops corner of the face. + This is calculated so sharper corners give lower angles. + + :return: The angle in radians. + :rtype: float + + + .. method:: calc_normal() + + Return normal at this loops corner of the face. + Falls back to the face normal for straight lines. + + :return: a normalized vector. + :rtype: :class:`mathutils.Vector` + + + .. method:: calc_tangent() + + Return the tangent at this loops corner of the face (pointing inward into the face). + Falls back to the face normal for straight lines. + + :return: a normalized vector. + :rtype: :class:`mathutils.Vector` + + + .. method:: copy_from(other) + + Copy values from another element of matching type. + + :param other: Another element of the same type to copy from. + :type other: Self + + + .. method:: copy_from_face_interp(face, vert=True, multires=True) + + Interpolate the customdata from a face onto this loop (the loop's vert should overlap the face). + + :param face: The face to interpolate data from. + :type face: :class:`bmesh.types.BMFace` + :param vert: When enabled, interpolate the loop's vertex data (optional). + :type vert: bool + :param multires: When enabled, interpolate the loop's multires data (optional). + :type multires: bool + + + .. method:: uv_select_edge_set(select) + + Set the UV edge selection state. + + :param select: Select or de-select. + :type select: bool + + .. note:: + + This flushes selection down (selecting an edge also selects its vertices), but not up (de-selecting a vertex won't de-select the edges & faces that use it). Before finishing with a mesh, flushing with :meth:`bmesh.types.BMesh.uv_select_flush_mode` is still needed. + + + .. method:: uv_select_vert_set(select) + + Set the UV vertex selection state. + + :param select: Select or de-select. + :type select: bool + + .. note:: + + This does not flush selection, so selecting a vertex won't select the edges & faces that use it. Before finishing with a mesh, flushing with :meth:`bmesh.types.BMesh.uv_select_flush_mode` is still needed. + + + .. attribute:: edge + + The loop's edge (between this loop and the next), (read-only). + + :type: :class:`bmesh.types.BMEdge` + + + .. attribute:: face + + The face this loop belongs to (read-only). + + :type: :class:`bmesh.types.BMFace` + + + .. attribute:: index + + Index of this element. + + :type: int + + .. note:: + + This value is not necessarily valid, while editing the mesh it can become *dirty*. + + It's also possible to assign any number to this attribute for a scripts internal logic. + + To ensure the value is up to date - see :meth:`bmesh.types.BMElemSeq.index_update`. + + + .. attribute:: is_convex + + True when this loop is at the convex corner of a face, depends on a valid face normal (read-only). + + :type: bool + + + .. attribute:: is_valid + + True when this element is valid (hasn't been freed or removed). + + :type: bool + + + .. attribute:: link_loop_next + + The next face corner (read-only). + + :type: :class:`bmesh.types.BMLoop` + + + .. attribute:: link_loop_prev + + The previous face corner (read-only). + + :type: :class:`bmesh.types.BMLoop` + + + .. attribute:: link_loop_radial_next + + The next loop around the edge (read-only). + + :type: :class:`bmesh.types.BMLoop` + + + .. attribute:: link_loop_radial_prev + + The previous loop around the edge (read-only). + + :type: :class:`bmesh.types.BMLoop` + + + .. attribute:: link_loops + + Loops connected to this loop, (read-only). + + :type: :class:`bmesh.types.BMElemSeq`\ [:class:`bmesh.types.BMLoop`] + + + .. attribute:: tag + + Generic attribute scripts can use for own logic + + :type: bool + + + .. attribute:: uv_select_edge + + UV edge selected state of this loop. + + :type: bool + + + .. attribute:: uv_select_vert + + UV vertex selected state of this loop. + + :type: bool + + + .. attribute:: vert + + The loop's vertex (read-only). + + :type: :class:`bmesh.types.BMVert` + + + + +Sequence Accessors +------------------ + +.. class:: BMElemSeq + + General sequence type used for accessing any sequence of + :class:`bmesh.types.BMVert`, :class:`bmesh.types.BMEdge`, :class:`bmesh.types.BMFace`, :class:`bmesh.types.BMLoop`. + + When accessed via :class:`bmesh.types.BMesh.verts`, :class:`bmesh.types.BMesh.edges`, :class:`bmesh.types.BMesh.faces` + there are also functions to create/remove items. + + .. method:: index_update() + + Initialize the index values of this sequence. + + This is the equivalent of looping over all elements and assigning the index values. + + .. code-block:: python + + for index, ele in enumerate(sequence): + ele.index = index + + .. note:: + + Running this on sequences besides :class:`bmesh.types.BMesh.verts`, :class:`bmesh.types.BMesh.edges`, :class:`bmesh.types.BMesh.faces` + works but won't result in each element having a valid index, instead its order in the sequence will be set. + + + + +.. class:: BMVertSeq + + + .. method:: ensure_lookup_table() + + Ensure internal data needed for int subscript access is initialized with verts/edges/faces, eg ``bm.verts[index]``. + + This needs to be called again after adding/removing data in this sequence. + + + .. method:: index_update() + + Initialize the index values of this sequence. + + This is the equivalent of looping over all elements and assigning the index values. + + .. code-block:: python + + for index, ele in enumerate(sequence): + ele.index = index + + .. note:: + + Running this on sequences besides :class:`bmesh.types.BMesh.verts`, :class:`bmesh.types.BMesh.edges`, :class:`bmesh.types.BMesh.faces` + works but won't result in each element having a valid index, instead its order in the sequence will be set. + + + .. method:: new(co=(0.0, 0.0, 0.0), source=None) + + Create a new vertex. + + :param co: The initial location of the vertex (optional argument). + :type co: tuple[float, float, float] | Sequence[float] + :param source: Existing vert to initialize settings. + :type source: :class:`bmesh.types.BMVert` | None + :return: The newly created vertex. + :rtype: :class:`bmesh.types.BMVert` + + + .. method:: remove(vert) + + Remove a vert. + + :param vert: The vert to remove. + :type vert: :class:`bmesh.types.BMVert` + + + .. method:: sort(*, key=None, reverse=False) + + Sort the elements of this sequence, using an optional custom sort key. + Indices of elements are not changed, :meth:`bmesh.types.BMElemSeq.index_update` can be used for that. + + :param key: The key that sets the ordering of the elements. + :type key: Callable[[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`], int] | None + :param reverse: Reverse the order of the elements + :type reverse: bool + + .. note:: + + When the 'key' argument is not provided, the elements are reordered following their current index value. + In particular this can be used by setting indices manually before calling this method. + + .. warning:: + + Existing references to the N'th element, will continue to point the data at that index. + + + .. attribute:: layers + + custom-data layers (read-only). + + :type: :class:`bmesh.types.BMLayerAccessVert` + + + + +.. class:: BMEdgeSeq + + + .. method:: ensure_lookup_table() + + Ensure internal data needed for int subscript access is initialized with verts/edges/faces, eg ``bm.verts[index]``. + + This needs to be called again after adding/removing data in this sequence. + + + .. method:: get(verts, fallback=None) + + Return an edge which uses the **verts** passed. + + :param verts: Pair of verts (exactly 2). + :type verts: Sequence[:class:`bmesh.types.BMVert`] + :param fallback: Return this value if nothing is found. + :type fallback: Any + :return: The edge found or the fallback value. + :rtype: :class:`bmesh.types.BMEdge` | None + + + .. method:: index_update() + + Initialize the index values of this sequence. + + This is the equivalent of looping over all elements and assigning the index values. + + .. code-block:: python + + for index, ele in enumerate(sequence): + ele.index = index + + .. note:: + + Running this on sequences besides :class:`bmesh.types.BMesh.verts`, :class:`bmesh.types.BMesh.edges`, :class:`bmesh.types.BMesh.faces` + works but won't result in each element having a valid index, instead its order in the sequence will be set. + + + .. method:: new(verts, source=None) + + Create a new edge from a given pair of verts. + + :param verts: Vertex pair. + :type verts: Sequence[:class:`bmesh.types.BMVert`] + :param source: Existing edge to initialize settings (optional argument). + :type source: :class:`bmesh.types.BMEdge` | None + :return: The newly created edge. + :rtype: :class:`bmesh.types.BMEdge` + + + .. method:: remove(edge) + + Remove an edge. + + :param edge: The edge to remove. + :type edge: :class:`bmesh.types.BMEdge` + + + .. method:: sort(*, key=None, reverse=False) + + Sort the elements of this sequence, using an optional custom sort key. + Indices of elements are not changed, :meth:`bmesh.types.BMElemSeq.index_update` can be used for that. + + :param key: The key that sets the ordering of the elements. + :type key: Callable[[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`], int] | None + :param reverse: Reverse the order of the elements + :type reverse: bool + + .. note:: + + When the 'key' argument is not provided, the elements are reordered following their current index value. + In particular this can be used by setting indices manually before calling this method. + + .. warning:: + + Existing references to the N'th element, will continue to point the data at that index. + + + .. attribute:: layers + + custom-data layers (read-only). + + :type: :class:`bmesh.types.BMLayerAccessEdge` + + + + +.. class:: BMFaceSeq + + + .. method:: ensure_lookup_table() + + Ensure internal data needed for int subscript access is initialized with verts/edges/faces, eg ``bm.verts[index]``. + + This needs to be called again after adding/removing data in this sequence. + + + .. method:: get(verts, fallback=None) + + Return a face which uses the **verts** passed. + + :param verts: Sequence of verts. + :type verts: Sequence[:class:`bmesh.types.BMVert`] + :param fallback: Return this value if nothing is found. + :type fallback: Any + :return: The face found or the fallback value. + :rtype: :class:`bmesh.types.BMFace` | None + + + .. method:: index_update() + + Initialize the index values of this sequence. + + This is the equivalent of looping over all elements and assigning the index values. + + .. code-block:: python + + for index, ele in enumerate(sequence): + ele.index = index + + .. note:: + + Running this on sequences besides :class:`bmesh.types.BMesh.verts`, :class:`bmesh.types.BMesh.edges`, :class:`bmesh.types.BMesh.faces` + works but won't result in each element having a valid index, instead its order in the sequence will be set. + + + .. method:: new(verts, source=None) + + Create a new face from a given set of verts. + + :param verts: Sequence of 3 or more verts. + :type verts: Sequence[:class:`bmesh.types.BMVert`] + :param source: Existing face to initialize settings (optional argument). + :type source: :class:`bmesh.types.BMFace` | None + :return: The newly created face. + :rtype: :class:`bmesh.types.BMFace` + + + .. method:: remove(face) + + Remove a face. + + :param face: The face to remove. + :type face: :class:`bmesh.types.BMFace` + + + .. method:: sort(*, key=None, reverse=False) + + Sort the elements of this sequence, using an optional custom sort key. + Indices of elements are not changed, :meth:`bmesh.types.BMElemSeq.index_update` can be used for that. + + :param key: The key that sets the ordering of the elements. + :type key: Callable[[:class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace`], int] | None + :param reverse: Reverse the order of the elements + :type reverse: bool + + .. note:: + + When the 'key' argument is not provided, the elements are reordered following their current index value. + In particular this can be used by setting indices manually before calling this method. + + .. warning:: + + Existing references to the N'th element, will continue to point the data at that index. + + + .. attribute:: active + + active face. + + :type: :class:`bmesh.types.BMFace` | None + + + .. attribute:: layers + + custom-data layers (read-only). + + :type: :class:`bmesh.types.BMLayerAccessFace` + + + + +.. class:: BMLoopSeq + + + .. attribute:: layers + + custom-data layers (read-only). + + :type: :class:`bmesh.types.BMLayerAccessLoop` + + + + +.. class:: BMIter + + Internal BMesh type for looping over verts/faces/edges, + used for iterating over :class:`bmesh.types.BMElemSeq` types. + + + +Selection History +----------------- + +.. class:: BMEditSelSeq + + + .. method:: add(element) + + Add an element to the selection history (no action taken if its already added). + + :param element: The element to add. + :type element: :class:`BMVert` | :class:`BMEdge` | :class:`BMFace` + + + .. method:: clear() + + Empties the selection history. + + + .. method:: discard(element) + + Discard an element from the selection history. + + Like remove but doesn't raise an error when the element is not in the selection list. + + :param element: The element to discard. + :type element: :class:`BMVert` | :class:`BMEdge` | :class:`BMFace` + + + .. method:: remove(element) + + Remove an element from the selection history. + + :param element: The element to remove. + :type element: :class:`BMVert` | :class:`BMEdge` | :class:`BMFace` + + + .. method:: validate() + + Ensures all elements in the selection history are selected. + + + .. attribute:: active + + The last selected element or None (read-only). + + :type: :class:`bmesh.types.BMVert` | :class:`bmesh.types.BMEdge` | :class:`bmesh.types.BMFace` | None + + + + +.. class:: BMEditSelIter + + + + +Custom-Data Layer Access +------------------------ + +.. class:: BMLayerAccessVert + + Exposes custom-data layer attributes. + + .. attribute:: bool + + Generic boolean custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [bool] + + + .. attribute:: color + + Generic RGBA color with 8-bit precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: deform + + Vertex deform weight :class:`bmesh.types.BMDeformVert` (TODO). + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`bmesh.types.BMDeformVert`] + + + .. attribute:: float + + Generic float custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [float] + + + .. attribute:: float_color + + Generic RGBA color with float precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: float_vector + + Generic 3D vector with float precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: int + + Generic int custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [int] + + + .. attribute:: shape + + Vertex shape-key absolute location (as a 3D Vector). + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: skin + + Accessor for skin layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`bmesh.types.BMVertSkin`] + + + .. attribute:: string + + Generic string custom-data layer (exposed as bytes, 255 max length). + + :type: :class:`bmesh.types.BMLayerCollection`\ [bytes] + + + + +.. class:: BMLayerAccessEdge + + Exposes custom-data layer attributes. + + .. attribute:: bool + + Generic boolean custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [bool] + + + .. attribute:: color + + Generic RGBA color with 8-bit precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: float + + Generic float custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [float] + + + .. attribute:: float_color + + Generic RGBA color with float precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: float_vector + + Generic 3D vector with float precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: int + + Generic int custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [int] + + + .. attribute:: string + + Generic string custom-data layer (exposed as bytes, 255 max length). + + :type: :class:`bmesh.types.BMLayerCollection`\ [bytes] + + + + +.. class:: BMLayerAccessFace + + Exposes custom-data layer attributes. + + .. attribute:: bool + + Generic boolean custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [bool] + + + .. attribute:: color + + Generic RGBA color with 8-bit precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: float + + Generic float custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [float] + + + .. attribute:: float_color + + Generic RGBA color with float precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: float_vector + + Generic 3D vector with float precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: int + + Generic int custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [int] + + + .. attribute:: string + + Generic string custom-data layer (exposed as bytes, 255 max length). + + :type: :class:`bmesh.types.BMLayerCollection`\ [bytes] + + + + +.. class:: BMLayerAccessLoop + + Exposes custom-data layer attributes. + + .. attribute:: bool + + Generic boolean custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [bool] + + + .. attribute:: color + + Generic RGBA color with 8-bit precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: float + + Generic float custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [float] + + + .. attribute:: float_color + + Generic RGBA color with float precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: float_vector + + Generic 3D vector with float precision custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`mathutils.Vector`] + + + .. attribute:: int + + Generic int custom-data layer. + + :type: :class:`bmesh.types.BMLayerCollection`\ [int] + + + .. attribute:: string + + Generic string custom-data layer (exposed as bytes, 255 max length). + + :type: :class:`bmesh.types.BMLayerCollection`\ [bytes] + + + .. attribute:: uv + + Accessor for :class:`bmesh.types.BMLoopUV` UV (as a 2D Vector). + + :type: :class:`bmesh.types.BMLayerCollection`\ [:class:`bmesh.types.BMLoopUV`] + + + + +.. class:: BMLayerCollection + + Gives access to a collection of custom-data layers of the same type and behaves like Python dictionaries, except for the ability to do list like index access. + + .. method:: get(key, default=None) + + Returns the value of the layer matching the key or default + when not found (matches Python's dictionary function of the same name). + + :param key: The key associated with the layer. + :type key: str + :param default: Optional argument for the value to return if + *key* is not found. + :type default: Any + :return: The layer matching the key or the default value. + :rtype: :class:`bmesh.types.BMLayerItem` | Any + + + .. method:: items() + + Return the (key, value) pairs of collection members + (matching Python's dict.items() functionality). + + :return: (key, value) pairs for each member of this collection. + :rtype: list[tuple[str, :class:`bmesh.types.BMLayerItem`]] + + + .. method:: keys() + + Return the identifiers of collection members + (matching Python's dict.keys() functionality). + + :return: the identifiers for each member of this collection. + :rtype: list[str] + + + .. method:: new(name="") + + Create a new layer + + :param name: Optional name argument (will be made unique). + :type name: str + :return: The newly created layer. + :rtype: :class:`bmesh.types.BMLayerItem` + + + .. method:: remove(layer) + + Remove a layer + + :param layer: The layer to remove. + :type layer: :class:`bmesh.types.BMLayerItem` + + + .. method:: values() + + Return the values of collection + (matching Python's dict.values() functionality). + + :return: the members of this collection. + :rtype: list[:class:`bmesh.types.BMLayerItem`] + + + .. method:: verify() + + Create a new layer or return an existing active layer + + :return: The newly created layer, or the existing active layer. + :rtype: :class:`bmesh.types.BMLayerItem` + + + .. attribute:: active + + The active layer of this type (read-only). + + :type: :class:`bmesh.types.BMLayerItem` | None + + + .. attribute:: is_singleton + + True if there can exist only one layer of this type (read-only). + + :type: bool + + + + +.. class:: BMLayerItem + + Exposes a single custom data layer, its main purpose is for use as an item accessor to custom-data when used with vert/edge/face/loop data. + + .. method:: copy_from(other) + + Copy data from another layer. + + :param other: Another layer to copy from. + :type other: :class:`bmesh.types.BMLayerItem` + + + .. attribute:: name + + The layer's unique name (read-only). + + :type: str + + + + +Custom-Data Layer Types +----------------------- + +.. class:: BMLoopUV + + + .. attribute:: pin_uv + + UV pin state. + + :type: bool + + + .. attribute:: uv + + Loop UV (as a 2D Vector). + + :type: :class:`mathutils.Vector` + + + + +.. class:: BMDeformVert + + + .. method:: clear() + + Clears all weights. + + + .. method:: get(key, default=None) + + Returns the deform weight matching the key or default + when not found (matches Python's dictionary function of the same name). + + :param key: The vertex group index. + :type key: int + :param default: Optional argument for the value to return if + *key* is not found. + :type default: Any + :return: The deform weight or the default when not found. + :rtype: float | Any + + + .. method:: items() + + Return (group, weight) pairs for this vertex + (matching Python's dict.items() functionality). + + :return: (key, value) pairs for each deform weight of this vertex. + :rtype: list[tuple[int, float]] + + + .. method:: keys() + + Return the group indices used by this vertex + (matching Python's dict.keys() functionality). + + :return: The deform group indices this vertex uses. + :rtype: list[int] + + + .. method:: values() + + Return the weights of the deform vertex + (matching Python's dict.values() functionality). + + :return: The weights that influence this vertex + :rtype: list[float] + + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.utils.rst new file mode 100644 index 0000000..9f45183 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bmesh.utils.rst @@ -0,0 +1,194 @@ +BMesh Utilities (bmesh.utils) +============================= + +.. module:: bmesh.utils + +This module provides bmesh utility functions for splitting, joining, and modifying mesh elements. + +.. method:: edge_rotate(edge, ccw=False) + + Rotate the edge and return the newly created edge. + If rotating the edge fails, None will be returned. + + :param edge: The edge to rotate. + :type edge: :class:`bmesh.types.BMEdge` + :param ccw: When True the edge will be rotated counter clockwise. + :type ccw: bool + :return: The newly rotated edge. + :rtype: :class:`bmesh.types.BMEdge` | None + + +.. method:: edge_split(edge, vert, fac) + + Split an edge, return the newly created data. + + :param edge: The edge to split. + :type edge: :class:`bmesh.types.BMEdge` + :param vert: One of the verts on the edge, defines the split direction. + :type vert: :class:`bmesh.types.BMVert` + :param fac: The point on the edge where the new vert will be created [0 - 1]. + :type fac: float + :return: The newly created (edge, vert) pair. + :rtype: tuple[:class:`bmesh.types.BMEdge`, :class:`bmesh.types.BMVert`] + + +.. method:: face_flip(face) + + Flip the face's direction. + + :param face: Face to flip. + :type face: :class:`bmesh.types.BMFace` + + +.. method:: face_join(faces, remove=True) + + Joins a sequence of faces. + + :param faces: Sequence of faces. + :type faces: Sequence[:class:`bmesh.types.BMFace`] + :param remove: Remove the edges and vertices between the faces. + :type remove: bool + :return: The newly created face or None on failure. + :rtype: :class:`bmesh.types.BMFace` | None + + +.. method:: face_split(face, vert_a, vert_b, *, coords=(), use_exist=True, source=None) + + Face split with optional intermediate points. + + :param face: The face to cut. + :type face: :class:`bmesh.types.BMFace` + :param vert_a: First vertex to cut in the face (face must contain the vert). + :type vert_a: :class:`bmesh.types.BMVert` + :param vert_b: Second vertex to cut in the face (face must contain the vert). + :type vert_b: :class:`bmesh.types.BMVert` + :param coords: Optional sequence of 3D points in between *vert_a* and *vert_b*. + :type coords: Sequence[Sequence[float]] + :param use_exist: Use an existing edge if it exists (only used when *coords* argument is empty or omitted) + :type use_exist: bool + :param source: Newly created edge will copy settings from this one. + :type source: :class:`bmesh.types.BMEdge` | None + :return: The newly created face and loop. + :rtype: tuple[:class:`bmesh.types.BMFace`, :class:`bmesh.types.BMLoop`] + + +.. method:: face_split_edgenet(face, edgenet) + + Splits a face into any number of regions defined by an edgenet. + + :param face: The face to split. + :type face: :class:`bmesh.types.BMFace` + :param edgenet: Sequence of edges. + :type edgenet: Sequence[:class:`bmesh.types.BMEdge`] + :return: The newly created faces. + :rtype: tuple[:class:`bmesh.types.BMFace`, ...] + + .. note:: + + Regions defined by edges need to connect to the face, otherwise they're ignored as loose edges. + + +.. method:: face_vert_separate(face, vert) + + Rip a vertex in a face away and add a new vertex. + + :param face: The face to separate. + :type face: :class:`bmesh.types.BMFace` + :param vert: A vertex in the face to separate. + :type vert: :class:`bmesh.types.BMVert` + :return: The newly created vertex or None on failure. + :rtype: :class:`bmesh.types.BMVert` | None + + .. note:: + + This is the same as loop_separate, and has only been added for convenience. + + +.. method:: loop_separate(loop) + + Rip a vertex in a face away and add a new vertex. + + :param loop: The loop to separate. + :type loop: :class:`bmesh.types.BMLoop` + :return: The newly created vertex or None on failure. + :rtype: :class:`bmesh.types.BMVert` | None + + +.. method:: uv_select_check(bm, /, *, sync=True, flush=False, contiguous=False) + + Check UV selection state for consistency issues. + + :param bm: The BMesh to check. + :type bm: :class:`bmesh.types.BMesh` + :param sync: Check the data is properly synchronized between UV's and the underlying mesh. Failure to synchronize with the mesh selection may cause tools not to behave properly. + :type sync: bool + :param flush: Check the selection has been properly flushed between elements (based on the current :attr:`bmesh.types.BMesh.select_mode`). + :type flush: bool + :param contiguous: Check connected UV's and edges have a matching selection state. + :type contiguous: bool + :return: An error dictionary or None when there are no errors found. + :rtype: dict[str, int] | None + + +.. method:: vert_collapse_edge(vert, edge) + + Collapse a vertex into an edge. + + :param vert: The vert that will be collapsed. + :type vert: :class:`bmesh.types.BMVert` + :param edge: The edge to collapse into. + :type edge: :class:`bmesh.types.BMEdge` + :return: The resulting edge from the collapse operation. + :rtype: :class:`bmesh.types.BMEdge` + + +.. method:: vert_collapse_faces(vert, edge, fac, join_faces) + + Collapses a vertex that has only two manifold edges onto a vertex it shares an edge with. + + :param vert: The vert that will be collapsed. + :type vert: :class:`bmesh.types.BMVert` + :param edge: The edge to collapse into. + :type edge: :class:`bmesh.types.BMEdge` + :param fac: The factor to use when merging customdata [0 - 1]. + :type fac: float + :param join_faces: When true the faces around the vertex will be joined otherwise collapse the vertex by merging the 2 edges this vertex connects to into one. + :type join_faces: bool + :return: The resulting edge from the collapse operation. + :rtype: :class:`bmesh.types.BMEdge` + + +.. method:: vert_dissolve(vert) + + Dissolve this vertex (will be removed). + + :param vert: The vert to be dissolved. + :type vert: :class:`bmesh.types.BMVert` + :return: True when the vertex dissolve is successful. + :rtype: bool + + +.. method:: vert_separate(vert, edges) + + Separate this vertex at every edge. + + :param vert: The vert to be separated. + :type vert: :class:`bmesh.types.BMVert` + :param edges: The edges to separate. + :type edges: Sequence[:class:`bmesh.types.BMEdge`] + :return: The newly separated verts (including the vertex passed). + :rtype: tuple[:class:`bmesh.types.BMVert`, ...] + + +.. method:: vert_splice(vert, vert_target) + + Splice vert into vert_target, merging them. + + :param vert: The vertex to be removed. + :type vert: :class:`bmesh.types.BMVert` + :param vert_target: The vertex to merge into. + :type vert_target: :class:`bmesh.types.BMVert` + + .. note:: The verts mustn't share an edge or face. + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.handlers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.handlers.rst new file mode 100644 index 0000000..f2e33a8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.handlers.rst @@ -0,0 +1,325 @@ +Application Handlers (bpy.app.handlers) +======================================= + +.. module:: bpy.app.handlers + +This module contains callback lists + + +Basic Handler Example ++++++++++++++++++++++ + +This script shows the most simple example of adding a handler. + +.. literalinclude:: ./examples/bpy.app.handlers.0.py + :lines: 8- + + +Persistent Handler Example +++++++++++++++++++++++++++ + +By default handlers are freed when loading new files, in some cases you may +want the handler stay running across multiple files (when the handler is +part of an add-on for example). + +For this the :data:`bpy.app.handlers.persistent` decorator needs to be used. + +.. literalinclude:: ./examples/bpy.app.handlers.1.py + :lines: 12- + + +Note on Altering Data ++++++++++++++++++++++ + +Altering data from handlers should be done carefully. While rendering the +``frame_change_pre`` and ``frame_change_post`` handlers are called from one +thread and the viewport updates from a different thread. If the handler changes +data that is accessed by the viewport, this can cause a crash of Blender. In +such cases, lock the interface (Render → Lock Interface or +:data:`bpy.types.RenderSettings.use_lock_interface`) before starting a render. + +Below is an example of a mesh that is altered from a handler: + +.. literalinclude:: ./examples/bpy.app.handlers.2.py + :lines: 16- + +.. data:: animation_playback_post + + on ending animation playback. Accepts one or two arguments: The scene data-block, and optionally the dependency graph being updated + + :type: list[Callable[[bpy.types.Scene, bpy.types.Depsgraph], None] | Callable[[bpy.types.Scene], None]] + + +.. data:: animation_playback_pre + + on starting animation playback. Accepts one or two arguments: The scene data-block, and optionally the dependency graph being updated + + :type: list[Callable[[bpy.types.Scene, bpy.types.Depsgraph], None] | Callable[[bpy.types.Scene], None]] + + +.. data:: annotation_post + + on drawing an annotation (after). Accepts two arguments: the annotation data-block and dependency graph + + :type: list[Callable[[bpy.types.GreasePencil, bpy.types.Depsgraph], None]] + + +.. data:: annotation_pre + + on drawing an annotation (before). Accepts two arguments: the annotation data-block and dependency graph + + :type: list[Callable[[bpy.types.GreasePencil, bpy.types.Depsgraph], None]] + + +.. data:: blend_import_post + + on linking or appending data (after). Accepts one argument: a BlendImportContext + + :type: list[Callable[[bpy.types.BlendImportContext], None]] + + +.. data:: blend_import_pre + + on linking or appending data (before). Accepts one argument: a BlendImportContext + + :type: list[Callable[[bpy.types.BlendImportContext], None]] + + +.. data:: composite_cancel + + on a compositing background job (cancel). Accepts one argument: the scene data-block + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: composite_post + + on a compositing background job (after). Accepts one argument: the scene data-block + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: composite_pre + + on a compositing background job (before). Accepts one argument: the scene data-block + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: depsgraph_update_post + + on depsgraph update (post). Accepts one or two arguments: The scene data-block, and optionally the dependency graph being updated + + :type: list[Callable[[bpy.types.Scene, bpy.types.Depsgraph], None] | Callable[[bpy.types.Scene], None]] + + +.. data:: depsgraph_update_pre + + on depsgraph update (pre). Accepts one or two arguments: The scene data-block, and optionally the dependency graph being updated + + :type: list[Callable[[bpy.types.Scene, bpy.types.Depsgraph], None] | Callable[[bpy.types.Scene], None]] + + +.. data:: exit_pre + + just before Blender shuts down, while all data is still valid. Accepts one boolean argument. True indicates either that a user has been using Blender and exited, or that Blender is exiting in a circumstance that should be treated as if that were the case. False indicates that Blender is running in background mode, or is exiting due to failed command line arguments, etc. + + :type: list[Callable[[bool], None]] + + +.. data:: frame_change_post + + Called after frame change for playback and rendering, after the data has been evaluated for the new frame. Accepts one or two arguments: The scene data-block, and optionally the dependency graph being updated + + :type: list[Callable[[bpy.types.Scene, bpy.types.Depsgraph], None] | Callable[[bpy.types.Scene], None]] + + +.. data:: frame_change_pre + + Called when a frame change is triggered for playback and rendering, before any data is evaluated for the new frame. This makes it possible to change data and relations (for example swap an object to another mesh) for the new frame. Note that this handler is **not** to be used as 'before the frame changes' event. The dependency graph is not available in this handler, as data and relations may have been altered and the dependency graph has not yet been updated for that. Accepts one or two arguments: The scene data-block, and optionally the dependency graph being updated + + :type: list[Callable[[bpy.types.Scene, bpy.types.Depsgraph], None] | Callable[[bpy.types.Scene], None]] + + +.. data:: load_factory_preferences_post + + on loading factory preferences (after) + + :type: list[Callable[[], None]] + + +.. data:: load_factory_startup_post + + on loading factory startup (after) + + :type: list[Callable[[], None]] + + +.. data:: load_post + + on loading a new blend file (after). Accepts one argument: the file being loaded, an empty string for the startup-file. + + :type: list[Callable[[str], None]] + + +.. data:: load_post_fail + + on failure to load a new blend file (after). Accepts one argument: the file being loaded, an empty string for the startup-file. + + :type: list[Callable[[str], None]] + + +.. data:: load_pre + + on loading a new blend file (before). Accepts one argument: the file being loaded, an empty string for the startup-file. + + :type: list[Callable[[str], None]] + + +.. data:: object_bake_cancel + + on canceling a bake job; will be called in the main thread. Accepts one argument: the object data-block being baked + + :type: list[Callable[[bpy.types.Object], None]] + + +.. data:: object_bake_complete + + on completing a bake job; will be called in the main thread. Accepts one argument: the object data-block being baked + + :type: list[Callable[[bpy.types.Object], None]] + + +.. data:: object_bake_pre + + before starting a bake job. Accepts one argument: the object data-block being baked + + :type: list[Callable[[bpy.types.Object], None]] + + +.. data:: redo_post + + on loading a redo step (after). Accepts one argument: the scene data-block + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: redo_pre + + on loading a redo step (before). Accepts one argument: the scene data-block + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: render_cancel + + on canceling a render job. Accepts one argument: the scene data-block being rendered + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: render_complete + + on completion of render job. Accepts one argument: the scene data-block being rendered + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: render_init + + on initialization of a render job. Accepts one argument: the scene data-block being rendered + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: render_post + + on render (after). Accepts one argument: the scene data-block being rendered + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: render_pre + + on render (before). Accepts one argument: the scene data-block being rendered + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: render_stats + + on printing render statistics. Accepts one argument: the render stats (render/saving time plus in background mode frame/used [peak] memory). + + :type: list[Callable[[str], None]] + + +.. data:: render_write + + on writing a render frame (directly after the frame is written). Accepts one argument: the scene data-block being rendered + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: save_post + + on saving a blend file (after). Accepts one argument: the file being saved, an empty string for the startup-file. + + :type: list[Callable[[str], None]] + + +.. data:: save_post_fail + + on failure to save a blend file (after). Accepts one argument: the file being saved, an empty string for the startup-file. + + :type: list[Callable[[str], None]] + + +.. data:: save_pre + + on saving a blend file (before). Accepts one argument: the file being saved, an empty string for the startup-file. + + :type: list[Callable[[str], None]] + + +.. data:: translation_update_post + + on translation settings update + + :type: list[Callable[[], None]] + + +.. data:: undo_post + + on loading an undo step (after). Accepts one argument: the scene data-block + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: undo_pre + + on loading an undo step (before). Accepts one argument: the scene data-block + + :type: list[Callable[[bpy.types.Scene], None]] + + +.. data:: version_update + + on ending the versioning code + + :type: list[Callable[[], None]] + + +.. data:: xr_session_start_pre + + on starting an xr session (before) + + :type: list[Callable[[], None]] + + +.. data:: persistent + + Function decorator for callback functions not to be removed when loading new files + + :type: type + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.icons.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.icons.rst new file mode 100644 index 0000000..ae5a254 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.icons.rst @@ -0,0 +1,37 @@ +Application Icons (bpy.app.icons) +================================= + +.. module:: bpy.app.icons + +.. function:: new_triangles(range, coords, colors) + + Create a new icon from triangle geometry. + + :param range: Pair of ints. + :type range: tuple[int, int] + :param coords: Sequence of bytes (6 floats for one triangle) for (X, Y) coordinates. + :type coords: bytes + :param colors: Sequence of bytes (12 for one triangle) for RGBA. + :type colors: bytes + :return: Unique icon value (pass to interface ``icon_value`` argument). + :rtype: int + + +.. function:: new_triangles_from_file(filepath) + + Create a new icon from triangle geometry. + + :param filepath: File path. + :type filepath: str | bytes + :return: Unique icon value (pass to interface ``icon_value`` argument). + :rtype: int + + +.. function:: release(icon_id) + + Release the icon. + + :param icon_id: The icon id to release. + :type icon_id: int + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.rst new file mode 100644 index 0000000..d8f0ca5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.rst @@ -0,0 +1,471 @@ +Application Data (bpy.app) +========================== + +.. module:: bpy.app + +This module contains application values that remain unchanged during runtime. + +.. toctree:: + :maxdepth: 1 + :caption: Submodules + + bpy.app.handlers.rst + bpy.app.translations.rst + bpy.app.icons.rst + bpy.app.timers.rst + +.. data:: autoexec_fail + + Boolean, True when auto-execution of scripts failed (read-only). + + :type: bool + + +.. data:: autoexec_fail_message + + String, message describing the auto-execution failure (read-only). + + :type: str + + +.. data:: autoexec_fail_quiet + + Boolean, True when auto-execution failure should be quiet, set after the warning is shown once for the current blend file (read-only). + + :type: bool + + +.. data:: binary_path + + The location of Blender's executable, useful for utilities that open new instances. Read-only unless Blender is built as a Python module - in this case the value is an empty string which script authors may point to a Blender binary. + + :type: str + + +.. data:: cachedir + + String, the cache directory used by blender (read-only). + + If the parent of the cache folder (i.e. the part of the path that is not Blender-specific) does not exist, returns None. + + :type: str | None + + +.. data:: debug + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_depsgraph + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_depsgraph_build + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_depsgraph_eval + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_depsgraph_pretty + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_depsgraph_tag + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_depsgraph_time + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_events + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_freestyle + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_handlers + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_io + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_python + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_simdata + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: debug_value + + Integer value which can be set to non-zero values for testing purposes. + + :type: int + + +.. data:: debug_wm + + Boolean, for debug info (started with ``--debug`` / ``--debug-*`` matching this attribute name). + + :type: bool + + +.. data:: driver_namespace + + Dictionary for drivers namespace, editable in-place, reset on file load (read-only). + + :type: dict[str, Any] + + + File Loading & Order of Initialization + Since drivers may be evaluated immediately after loading a blend-file it is necessary + to ensure the driver name-space is initialized beforehand. + + This can be done by registering text data-blocks to execute on startup, + which executes the scripts before drivers are evaluated. + See *Text -> Register* from Blender's text editor. + + .. hint:: + + You may prefer to use external files instead of Blender's text-blocks. + This can be done using a text-block which executes an external file. + + This example runs ``driver_namespace.py`` located in the same directory as the text-blocks blend-file: + + .. code-block:: + + import os + import bpy + blend_dir = os.path.normpath(os.path.join(__file__, "..", "..")) + bpy.utils.execfile(os.path.join(blend_dir, "driver_namespace.py")) + + Using ``__file__`` ensures the text resolves to the expected path even when library-linked from another file. + + Other methods of populating the drivers name-space can be made to work but tend to be error prone: + + Using The ``--python`` command line argument to populate name-space often fails to achieve the desired goal + because the initial evaluation will lookup a function that doesn't exist yet, + marking the driver as invalid - preventing further evaluation. + + Populating the driver name-space before the blend-file loads also doesn't work + since opening a file clears the name-space. + + It is possible to run a script via the ``--python`` command line argument, before the blend file. + This can register a load-post handler (:mod:`bpy.app.handlers.load_post`) that initializes the name-space. + While this works for background tasks it has the downside that opening the file from the file selector + won't setup the name-space. + + +.. data:: online_access + + Boolean, true when internet access is allowed by Blender & 3rd party scripts (read-only). + + :type: bool + + +.. data:: online_access_override + + Boolean, true when internet access preference is overridden by the command line (read-only). + + :type: bool + + +.. data:: python_args + + Leading arguments to use when calling Python directly (via ``sys.executable``). These arguments match settings Blender uses to ensure Python runs with a compatible environment (read-only). + + :type: tuple[str, ...] + + +.. data:: render_icon_size + + Reference size for icon renders (read-only). + + :type: int + + +.. data:: render_preview_size + + Reference size for preview renders (read-only). + + :type: int + + +.. data:: tempdir + + String, the temp directory used by blender (read-only). + + :type: str + + +.. data:: use_event_simulate + + Boolean, for application behavior (started with ``--enable-*`` matching this attribute name) + + :type: bool + + +.. data:: use_userpref_skip_save_on_exit + + Boolean, for application behavior (started with ``--enable-*`` matching this attribute name) + + :type: bool + + +.. data:: background + + Boolean, True when blender is running without a user interface (started with -b) + + :type: bool + + +.. data:: factory_startup + + Boolean, True when blender is running with --factory-startup + + :type: bool + + +.. data:: module + + Boolean, True when running Blender as a python module + + :type: bool + + +.. data:: portable + + Boolean, True unless blender was built to reference absolute paths (on UNIX). + + :type: bool + + +.. data:: build_branch + + The branch this blender instance was built from + + :type: bytes + + +.. data:: build_cflags + + C compiler flags + + :type: bytes + + +.. data:: build_commit_date + + The date of the commit this Blender instance was built from + + :type: bytes + + +.. data:: build_commit_time + + The time of the commit this Blender instance was built from + + :type: bytes + + +.. data:: build_cxxflags + + C++ compiler flags + + :type: bytes + + +.. data:: build_date + + The date this Blender instance was built + + :type: bytes + + +.. data:: build_hash + + The commit hash this Blender instance was built with + + :type: bytes + + +.. data:: build_linkflags + + Binary linking flags + + :type: bytes + + +.. data:: build_platform + + The platform this blender instance was built for + + :type: bytes + + +.. data:: build_system + + Build system used + + :type: bytes + + +.. data:: build_time + + The time this Blender instance was built + + :type: bytes + + +.. data:: build_type + + The type of build (Release, Debug) + + :type: bytes + + +.. data:: build_commit_timestamp + + The unix timestamp of the commit this Blender instance was built from + + :type: int + + +.. data:: version_cycle + + The release status of this build alpha/beta/rc/release + + :type: str + + +.. data:: version_string + + The Blender version formatted as a string + + :type: str + + +.. data:: version + + The Blender version as a tuple of 3 numbers (major, minor, micro). eg. (4, 3, 1) + + :type: tuple[int, int, int] + + +.. data:: version_file + + The Blender File version, as a tuple of 3 numbers (major, minor, file sub-version), that will be used to save a .blend file. The last item in this tuple indicates the file sub-version, which is different from the release micro version (the last item of the ``bpy.app.version`` tuple). The file sub-version can be incremented multiple times while a Blender version is under development. This value is, and should be, used for handling compatibility changes between Blender versions + + :type: tuple[int, int, int] + + +.. data:: alembic + + Constant value bpy.app.alembic(supported=False, version=(0, 0, 0), version_string='Unknown') + +.. data:: build_options + + Constant value bpy.app.build_options(bullet=False, codec_avi=False, codec_ffmpeg=False, codec_sndfile=False, compositor_cpu=True, cycles=False, cycles_osl=False, freestyle=False, image_cineon=False, image_dds=True, image_hdr=True, image_openexr=False, image_openjpeg=False, image_tiff=True, image_webp=False, input_ndof=False, audaspace=False, international=False, openal=False, opensubdiv=False, sdl=False, coreaudio=False, jack=False, pulseaudio=False, wasapi=False, libmv=False, mod_oceansim=False, mod_remesh=False, io_wavefront_obj=False, io_ply=False, io_stl=False, io_fbx=False, io_gpencil=False, opencolorio=False, openmp=False, openvdb=False, alembic=False, usd=False, fluid=False, xr_openxr=False, potrace=False, pugixml=False, haru=False, experimental_features=False) + +.. data:: ffmpeg + + Constant value bpy.app.ffmpeg(supported=False, avcodec_version='Unknown', avcodec_version_string='Unknown', avdevice_version='Unknown', avdevice_version_string='Unknown', avformat_version='Unknown', avformat_version_string='Unknown', avutil_version='Unknown', avutil_version_string='Unknown', swscale_version='Unknown', swscale_version_string='Unknown') + +.. data:: ocio + + Constant value bpy.app.ocio(supported=False, version=(0, 0, 0), version_string='Unknown') + +.. data:: oiio + + Constant value bpy.app.oiio(supported=True, version=(3, 1, 9), version_string=' 3, 1, 9') + +.. data:: opensubdiv + + Constant value bpy.app.opensubdiv(supported=False, version=(0, 0, 0), version_string='Unknown') + +.. data:: openvdb + + Constant value bpy.app.openvdb(supported=False, version=(0, 0, 0), version_string='Unknown') + +.. data:: sdl + + Constant value bpy.app.sdl(supported=False, version=(0, 0, 0), version_string='Unknown') + +.. data:: usd + + Constant value bpy.app.usd(supported=False, version=(0, 0, 0), version_string='Unknown') + +.. staticmethod:: help_text(*, all=False) + + Return the help text as a string. + + :param all: Return all arguments, even those which aren't available for the current platform. + :type all: bool + :return: Help text. + :rtype: str + + +.. staticmethod:: is_job_running(job_type) + + Check whether a job of the given type is running. + + :param job_type: job type in :ref:`rna_enum_wm_job_type_items`. + :type job_type: str + :return: Whether a job of the given type is currently running. + :rtype: bool + + +.. staticmethod:: memory_usage_undo() + + Get undo memory usage information. + + :return: Memory usage of the undo stack in bytes. + :rtype: int + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.timers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.timers.rst new file mode 100644 index 0000000..8d6c420 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.timers.rst @@ -0,0 +1,67 @@ +Application Timers (bpy.app.timers) +=================================== + +.. module:: bpy.app.timers + + +Run a Function in x Seconds +--------------------------- + +.. literalinclude:: ./examples/bpy.app.timers.1.py + :lines: 5- + + +Run a Function every x Seconds +------------------------------ + +.. literalinclude:: ./examples/bpy.app.timers.2.py + :lines: 5- + + +Run a Function n times every x seconds +-------------------------------------- + +.. literalinclude:: ./examples/bpy.app.timers.3.py + :lines: 5- + + +Assign parameters to functions +------------------------------ + +.. literalinclude:: ./examples/bpy.app.timers.4.py + :lines: 5- + +.. function:: is_registered(function) + + Check if this function is registered as a timer. + + :param function: Function to check. + :type function: Callable[[], float | None] + :return: True when this function is registered, otherwise False. + :rtype: bool + + +.. function:: register(function, *, first_interval=0, persistent=False) + + Add a new function that will be called after the specified amount of seconds. + The function gets no arguments and is expected to return either None or a float. + If ``None`` is returned, the timer will be unregistered. + A returned number specifies the delay until the function is called again. + ``functools.partial`` can be used to assign some parameters. + + :param function: The function that should called. + :type function: Callable[[], float | None] + :param first_interval: Seconds until the callback should be called the first time. + :type first_interval: float + :param persistent: Don't remove timer when a new file is loaded. + :type persistent: bool + + +.. function:: unregister(function) + + Unregister timer. + + :param function: Function to unregister. + :type function: Callable[[], float | None] + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.translations.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.translations.rst new file mode 100644 index 0000000..68ba93f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.app.translations.rst @@ -0,0 +1,201 @@ +Application Translations (bpy.app.translations) +=============================================== + +.. module:: bpy.app.translations + +This object contains some data/methods regarding internationalization in Blender, and allows every py script +to feature translations for its own UI messages. + + +Introduction +------------ + +.. warning:: + + Most of this object should only be useful if you actually manipulate i18n stuff from Python. + If you are a regular add-on, you should only bother about :const:`contexts` member, + and the :func:`register`/:func:`unregister` functions! The :func:`pgettext` family of functions + should only be used in rare, specific cases (like e.g. complex "composited" UI strings...). + +To add translations to your Python script, you must define a dictionary formatted like that: +``{locale: {msg_key: msg_translation, ...}, ...}`` where: + +- locale is either a lang ISO code (e.g. ``fr``), a lang+country code (e.g. ``pt_BR``), + a lang+variant code (e.g. ``sr@latin``), or a full code (e.g. ``uz_UZ@cyrilic``). +- msg_key is a tuple (context, org message) - use, as much as possible, the predefined :const:`contexts`. +- msg_translation is the translated message in given language! + +Then, call ``bpy.app.translations.register(__name__, your_dict)`` in your ``register()`` function, and +``bpy.app.translations.unregister(__name__)`` in your ``unregister()`` one. + +The ``Manage UI translations`` add-on has several functions to help you collect strings to translate, and +generate the needed Python code (the translation dictionary), as well as optional intermediary po files +if you want some... See +`How to Translate Blender `_ and +`Using i18n in Blender Code `_ +for more info. + +Module References +----------------- + +.. literalinclude:: ./examples/bpy.app.translations.0.py + :lines: 35- + +.. data:: locale + + The actual locale currently in use (will always return an empty string when Blender is built without internationalization support). + + +.. data:: locales + + All locales currently known by Blender (i.e. available as translations). + + +.. data:: contexts_C_to_py + + A readonly dict mapping contexts' C-identifiers to their py-identifiers. + + +.. data:: contexts + + Constant value bpy.app.translations.contexts(default_real=None, default='*', operator_default='Operator', ui_events_keymaps='UI_Events_KeyMaps', plural='Plural', countable='Countable', id_action='Action', id_armature='Armature', no_translation='Do not translate', id_brush='Brush', id_cachefile='CacheFile', id_camera='Camera', id_collection='Collection', id_curves='Curves', id_curve='Curve', id_fs_linestyle='FreestyleLineStyle', id_gpencil='GPencil', id_id='ID', id_image='Image', id_lattice='Lattice', id_library='Library', id_light='Light', id_lightprobe='LightProbe', id_mask='Mask', id_material='Material', id_mesh='Mesh', id_metaball='Metaball', id_movieclip='MovieClip', id_nodetree='NodeTree', id_object='Object', id_paintcurve='PaintCurve', id_palette='Palette', id_particlesettings='ParticleSettings', id_pointcloud='PointCloud', id_scene='Scene', id_screen='Screen', id_sequence='Sequence', id_shapekey='Key', id_simulation='Simulation', id_sound='Sound', id_speaker='Speaker', id_text='Text', id_texture='Texture', id_vfont='VFont', id_volume='Volume', id_windowmanager='WindowManager', id_workspace='WorkSpace', id_world='World', editor_filebrowser='File browser', editor_python_console='Python console', editor_preferences='Preferences', editor_view3d='View3D', amount='Amount', color='Color', constraint='Constraint', modifier='Modifier', navigation='Navigation', render_layer='Render Layer', time='Time', unit='Unit') + +.. method:: locale_explode(locale) + + Return all components and their combinations of the given ISO locale string. + + >>> bpy.app.translations.locale_explode("sr_RS@latin") + ("sr", "RS", "latin", "sr_RS", "sr@latin") + + For non-complete locales, missing elements will be None. + + :param locale: The ISO locale string to explode. + :type locale: str + :return: A tuple ``(language, country, variant, language_country, language@variant)``. + :rtype: tuple[str | None, str | None, str | None, str | None, str | None] + + +.. method:: pgettext(msgid, msgctxt=None) + + Try to translate the given msgid (with optional msgctxt). + + .. note:: + The ``(msgid, msgctxt)`` parameters order has been switched compared to gettext function, to allow + single-parameter calls (context then defaults to BLT_I18NCONTEXT_DEFAULT). + + .. note:: + You should really rarely need to use this function in regular addon code, as all translation should be + handled by Blender internal code. The only exceptions are strings containing formatting (like "File: %r"), + but you should rather use :func:`pgettext_iface`/:func:`pgettext_tip` in those cases! + + .. note:: + Does nothing when Blender is built without internationalization support (hence always returns ``msgid``). + + :param msgid: The string to translate. + :type msgid: str + :param msgctxt: The translation context (defaults to BLT_I18NCONTEXT_DEFAULT). + :type msgctxt: str | None + :return: The translated string (or msgid if no translation was found). + :rtype: str + + +.. method:: pgettext_data(msgid, msgctxt=None) + + Try to translate the given msgid (with optional msgctxt), if new data name's translation is enabled. + + .. note:: + See :func:`pgettext` notes. + + :param msgid: The string to translate. + :type msgid: str + :param msgctxt: The translation context (defaults to BLT_I18NCONTEXT_DEFAULT). + :type msgctxt: str | None + :return: The translated string (or ``msgid`` if no translation was found). + :rtype: str + + +.. method:: pgettext_iface(msgid, msgctxt=None) + + Try to translate the given msgid (with optional msgctxt), if labels' translation is enabled. + + .. note:: + See :func:`pgettext` notes. + + :param msgid: The string to translate. + :type msgid: str + :param msgctxt: The translation context (defaults to BLT_I18NCONTEXT_DEFAULT). + :type msgctxt: str | None + :return: The translated string (or msgid if no translation was found). + :rtype: str + + +.. method:: pgettext_n(msgid, msgctxt=None) + + Extract the given msgid to translation files. This is a no-op function that will only mark the string to extract, but not perform the actual translation. + + .. note:: + See :func:`pgettext` notes. + + :param msgid: The string to extract. + :type msgid: str + :param msgctxt: The translation context (defaults to BLT_I18NCONTEXT_DEFAULT). + :type msgctxt: str | None + :return: The original string. + :rtype: str + + +.. method:: pgettext_rpt(msgid, msgctxt=None) + + Try to translate the given msgid (with optional msgctxt), if reports' translation is enabled. + + .. note:: + See :func:`pgettext` notes. + + :param msgid: The string to translate. + :type msgid: str + :param msgctxt: The translation context (defaults to BLT_I18NCONTEXT_DEFAULT). + :type msgctxt: str | None + :return: The translated string (or msgid if no translation was found). + :rtype: str + + +.. method:: pgettext_tip(msgid, msgctxt=None) + + Try to translate the given msgid (with optional msgctxt), if tooltips' translation is enabled. + + .. note:: + See :func:`pgettext` notes. + + :param msgid: The string to translate. + :type msgid: str + :param msgctxt: The translation context (defaults to BLT_I18NCONTEXT_DEFAULT). + :type msgctxt: str | None + :return: The translated string (or msgid if no translation was found). + :rtype: str + + +.. method:: register(module_name, translations_dict) + + Registers an addon's UI translations. + + .. note:: + Does nothing when Blender is built without internationalization support. + + :param module_name: The name identifying the addon. + :type module_name: str + :param translations_dict: A dictionary built like that: + ``{locale: {msg_key: msg_translation, ...}, ...}`` + :type translations_dict: dict[str, dict[tuple[str, str], str]] + + +.. method:: unregister(module_name) + + Unregisters an addon's UI translations. + + .. note:: + Does nothing when Blender is built without internationalization support. + + :param module_name: The name identifying the addon. + :type module_name: str + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.context.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.context.rst new file mode 100644 index 0000000..68a8286 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.context.rst @@ -0,0 +1,15 @@ +Context Access (bpy.context) +============================ + +.. module:: bpy.context + +The context members available depend on the area of Blender which is currently being accessed. + +Note that all context values are read-only, +but may be modified through the data API or by running operators. + +.. data:: context + + Access to the current window-manager and data context. + + :type: :class:`bpy.types.Context` diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.data.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.data.rst new file mode 100644 index 0000000..c1886e4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.data.rst @@ -0,0 +1,14 @@ +Data Access (bpy.data) +====================== + +.. module:: bpy.data + +This module is used for all Blender/Python access. + +.. data:: data + + Access to Blender's internal data + + :type: :class:`bpy.types.BlendData` + +.. literalinclude:: ./examples/bpy.data.0.py diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.msgbus.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.msgbus.rst new file mode 100644 index 0000000..36799c3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.msgbus.rst @@ -0,0 +1,108 @@ +Message Bus (bpy.msgbus) +======================== + +.. module:: bpy.msgbus + + +The message bus system can be used to receive notifications when properties of +Blender data-blocks are changed via the data API. + + +Limitations +----------- + +The message bus system is triggered by updates via the RNA system. This means +that the following updates will result in a notification on the message bus: + +- Changes via the Python API, for example ``some_object.location.x += 3``. +- Changes via the sliders, fields, and buttons in the user interface. + +The following updates do **not** trigger message bus notifications: + +- Moving objects in the 3D Viewport. +- Changes performed by the animation system. + +Changes done from ``msgbus`` callbacks are not included in related undo steps, +so users can easily skip their effects by using Undo followed by Redo. + +Unlike properties ``update`` callbacks, message bus update callbacks are postponed +until all operators have finished executing. +Additionally, for each property the callback is only triggered once per update cycle, +even if the property was changed multiple times during that period. + +Example Use +----------- + +Below is an example of subscription to changes in the active object's location. + +.. literalinclude:: ./examples/bpy.msgbus.1.py + :lines: 34- + + +Some properties are converted to Python objects when you retrieve them. This +needs to be avoided in order to create the subscription, by using +``datablock.path_resolve("property_name", False)``: + +.. literalinclude:: ./examples/bpy.msgbus.2.py + :lines: 6- + + +It is also possible to create subscriptions on a property of all instances of a +certain type: + +.. literalinclude:: ./examples/bpy.msgbus.3.py + :lines: 5- + +.. function:: clear_by_owner(owner) + + Clear all subscribers using this owner. + + :param owner: The owner handle passed to :func:`subscribe_rna`. + :type owner: Any + + +.. function:: publish_rna(key) + + :param key: Represents the type of data being subscribed to + + Arguments include + - A property instance. + - A struct type. + - A tuple representing a (struct, property name) pair. + :type key: :class:`bpy.types.Property` | :class:`bpy.types.Struct` | tuple[:class:`bpy.types.Struct`, str] + + Notify subscribers of changes to this property + (this typically doesn't need to be called explicitly since changes will automatically publish updates). + In some cases it may be useful to publish changes explicitly using more general keys. + + +.. function:: subscribe_rna(key, owner, args, notify, *, options=set()) + + Register a message bus subscription. It will be cleared when another blend file is + loaded, or can be cleared explicitly via :func:`bpy.msgbus.clear_by_owner`. + + :param key: Represents the type of data being subscribed to + + Arguments include + - A property instance. + - A struct type. + - A tuple representing a (struct, property name) pair. + :type key: :class:`bpy.types.Property` | :class:`bpy.types.Struct` | tuple[:class:`bpy.types.Struct`, str] + :param owner: Handle for this subscription (compared by identity). + :type owner: Any + :param args: Arguments passed to the callback. + :type args: tuple + :param notify: The callback function. + :type notify: Callable[..., None] + :param options: Change the behavior of the subscriber. + + - ``PERSISTENT`` when set, the subscriber will be kept when remapping ID data. + + :type options: set[Literal['PERSISTENT']] + +.. note:: + + All subscribers will be cleared on file-load. Subscribers can be re-registered on load, + see :mod:`bpy.app.handlers.load_post`. + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.action.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.action.rst new file mode 100644 index 0000000..0dd3da4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.action.rst @@ -0,0 +1,393 @@ +Action Operators +================ + +.. module:: bpy.ops.action + +.. function:: bake_keys() + + Add keyframes on every frame between the selected keyframes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: clean(*, threshold=0.001, channels=False) + + Simplify F-Curves by removing closely spaced keyframes + + :param threshold: Threshold, (in [0, inf], optional) + :type threshold: float + :param channels: Channels, (optional) + :type channels: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clickselect(*, wait_to_deselect_others=False, use_select_on_click=False, mouse_x=0, mouse_y=0, extend=False, deselect_all=False, column=False, channel=False) + + Select keyframes by clicking on them + + :param wait_to_deselect_others: Wait to Deselect Others, (optional) + :type wait_to_deselect_others: bool + :param use_select_on_click: Act on Click, Instead of selecting on mouse press, wait to see if there's drag event. Otherwise select on mouse release (optional) + :type use_select_on_click: bool + :param mouse_x: Mouse X, (in [-inf, inf], optional) + :type mouse_x: int + :param mouse_y: Mouse Y, (in [-inf, inf], optional) + :type mouse_y: int + :param extend: Extend Select, Toggle keyframe selection instead of leaving newly selected keyframes only (optional) + :type extend: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param column: Column Select, Select all keyframes that occur on the same frame as the one under the mouse (optional) + :type column: bool + :param channel: Only Channel, Select all the keyframes in the channel under the mouse (optional) + :type channel: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy() + + Copy selected keyframes to the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete(*, confirm=True) + + Remove all selected keyframes + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate() + + Make a copy of all selected keyframes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate_move(*, ACTION_OT_duplicate={}, TRANSFORM_OT_transform={}) + + Make a copy of all selected keyframes and move them + + :param ACTION_OT_duplicate: Duplicate Keyframes, Make a copy of all selected keyframes (optional, :func:`bpy.ops.action.duplicate` keyword arguments) + :type ACTION_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_transform: Transform, Transform selected items by mode type (optional, :func:`bpy.ops.transform.transform` keyword arguments) + :type TRANSFORM_OT_transform: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: easing_type(*, type='AUTO') + + Set easing type for the F-Curve segments starting from the selected keyframes + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_beztriple_interpolation_easing_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrapolation_type(*, type='CONSTANT') + + Set extrapolation mode for selected F-Curves + + :param type: Type, (optional) + + - ``CONSTANT`` + Constant Extrapolation -- Values on endpoint keyframes are held. + - ``LINEAR`` + Linear Extrapolation -- Straight-line slope of end segments are extended past the endpoint keyframes. + - ``MAKE_CYCLIC`` + Make Cyclic (F-Modifier) -- Add Cycles F-Modifier if one does not exist already. + - ``CLEAR_CYCLIC`` + Clear Cyclic (F-Modifier) -- Remove Cycles F-Modifier if not needed anymore. + :type type: Literal['CONSTANT', 'LINEAR', 'MAKE_CYCLIC', 'CLEAR_CYCLIC'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: frame_jump() + + Set the current frame to the average frame value of selected keyframes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: handle_type(*, type='FREE') + + Set type of handle for selected keyframes + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_keyframe_handle_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: interpolation_type(*, type='CONSTANT') + + Set interpolation mode for the F-Curve segments starting from the selected keyframes + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_beztriple_interpolation_mode_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_insert(*, type='ALL') + + Insert keyframes for the specified channels + + :param type: Type, (optional) + :type type: Literal['ALL', 'SEL', 'GROUP'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_type(*, type='KEYFRAME') + + Set type of keyframe for the selected keyframes + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_beztriple_keyframe_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: markers_make_local() + + Move selected scene markers to the active Action as local 'pose' markers + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: mirror(*, type='CFRA') + + Flip selected keyframes over the selected mirror line + + :param type: Type, (optional) + + - ``CFRA`` + By Times Over Current Frame -- Flip times of selected keyframes using the current frame as the mirror line. + - ``XAXIS`` + By Values Over Zero Value -- Flip values of selected keyframes (i.e. negative values become positive, and vice versa). + - ``MARKER`` + By Times Over First Selected Marker -- Flip times of selected keyframes using the first selected marker as the reference point. + :type type: Literal['CFRA', 'XAXIS', 'MARKER'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: new() + + Create new action + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: paste(*, offset='START', merge='MIX', flipped=False) + + Paste keyframes from the internal clipboard for the selected channels, starting on the current frame + + :param offset: Offset, Paste time offset of keys (optional) + :type offset: Literal[:ref:`rna_enum_keyframe_paste_offset_items`] + :param merge: Type, Method of merging pasted keys and existing (optional) + :type merge: Literal[:ref:`rna_enum_keyframe_paste_merge_items`] + :param flipped: Flipped, Paste keyframes from mirrored bones if they exist (optional) + :type flipped: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: previewrange_set() + + Set Preview Range based on extents of selected Keyframes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: push_down() + + Push action down on to the NLA stack as a new strip + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_all(*, action='TOGGLE') + + Toggle selection of all keyframes + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, axis_range=False, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET', tweak=False) + + Select all keyframes within the specified region + + :param axis_range: Axis Range, (optional) + :type axis_range: bool + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :param tweak: Tweak, Operator has been activated using a click-drag event (optional) + :type tweak: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_circle(*, x=0, y=0, radius=25, wait_for_input=True, mode='SET') + + Select keyframe points using circle selection + + :param x: X, (in [-inf, inf], optional) + :type x: int + :param y: Y, (in [-inf, inf], optional) + :type y: int + :param radius: Radius, (in [1, inf], optional) + :type radius: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_column(*, mode='KEYS') + + Select all keyframes on the specified frame(s) + + :param mode: Mode, (optional) + :type mode: Literal['KEYS', 'CFRA', 'MARKERS_COLUMN', 'MARKERS_BETWEEN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_lasso(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, mode='SET') + + Select keyframe points using lasso selection + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_leftright(*, mode='CHECK', extend=False) + + Select keyframes to the left or the right of the current frame + + :param mode: Mode, (optional) + :type mode: Literal['CHECK', 'LEFT', 'RIGHT'] + :param extend: Extend Select, (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_less() + + Deselect keyframes on ends of selection islands + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked() + + Select keyframes occurring in the same F-Curves as selected ones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_more() + + Select keyframes beside already selected ones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: snap(*, type='CFRA') + + Snap selected keyframes to the times specified + + :param type: Type, (optional) + + - ``CFRA`` + Selection to Current Frame -- Snap selected keyframes to the current frame. + - ``NEAREST_FRAME`` + Selection to Nearest Frame -- Snap selected keyframes to the nearest (whole) frame (use to fix accidental subframe offsets). + - ``NEAREST_SECOND`` + Selection to Nearest Second -- Snap selected keyframes to the nearest second. + - ``NEAREST_MARKER`` + Selection to Nearest Marker -- Snap selected keyframes to the nearest marker. + :type type: Literal['CFRA', 'NEAREST_FRAME', 'NEAREST_SECOND', 'NEAREST_MARKER'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stash(*, create_new=True) + + Store this action in the NLA stack as a non-contributing strip for later use + + :param create_new: Create New Action, Create a new action once the existing one has been safely stored (optional) + :type create_new: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stash_and_create() + + Store this action in the NLA stack as a non-contributing strip for later use, and create a new action + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: unlink(*, force_delete=False) + + Unlink this action from the active action slot (and/or exit Tweak Mode) + + :param force_delete: Force Delete, Clear Fake User and remove copy stashed in this data-block's NLA stack (optional) + :type force_delete: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_all() + + Reset viewable area to show full keyframe range + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_frame() + + Move the view to the current frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_selected() + + Reset viewable area to show selected keyframes range + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.anim.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.anim.rst new file mode 100644 index 0000000..be3c221 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.anim.rst @@ -0,0 +1,611 @@ +Anim Operators +============== + +.. module:: bpy.ops.anim + +.. function:: change_frame(*, frame=0.0, snap=False, seq_solo_preview=False, pass_through_on_strip_handles=False) + + Interactively change the current frame number + + :param frame: Frame, (in [-1.04857e+06, 1.04857e+06], optional) + :type frame: float + :param snap: Snap, (optional) + :type snap: bool + :param seq_solo_preview: Strip Preview, (optional) + :type seq_solo_preview: bool + :param pass_through_on_strip_handles: Pass Through on Strip Handles, Allow another operator to operate on strip handles (optional) + :type pass_through_on_strip_handles: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channel_select_keys(*, extend=False) + + Select all keyframes of channel under mouse + + :param extend: Extend, Extend selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channel_view_pick(*, include_handles=True, use_preview_range=True) + + Reset viewable area to show the channel under the cursor + + :param include_handles: Include Handles, Include handles of keyframes when calculating extents (optional) + :type include_handles: bool + :param use_preview_range: Use Preview Range, Ignore frames outside of the preview range (optional) + :type use_preview_range: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_bake(*, use_scene_range=True, range=(0, 0), step=1.0, remove_outside_range=False, interpolation_type='BEZIER', bake_modifiers=True) + + Create keyframes following the current shape of F-Curves of selected channels + + :param use_scene_range: Use Scene Range, If enabled, the scene start and end frame will be used to determine the bake range (optional) + :type use_scene_range: bool + :param range: Frame Range, The custom range in which to create new keys. Only used when not using the scene range (array of 2 items, in [-inf, inf], optional) + :type range: Sequence[int] + :param step: Frame Step, At which interval to add keys (in [0.01, inf], optional) + :type step: float + :param remove_outside_range: Remove Outside Range, Removes keys outside the given range, leaving only the newly baked (optional) + :type remove_outside_range: bool + :param interpolation_type: Interpolation Type, Choose the interpolation type with which new keys will be added (optional) + + - ``BEZIER`` + Bézier -- New keys will be Bézier. + - ``LIN`` + Linear -- New keys will be linear. + - ``CONST`` + Constant -- New keys will be constant. + :type interpolation_type: Literal['BEZIER', 'LIN', 'CONST'] + :param bake_modifiers: Bake Modifiers, Bake Modifiers into keyframes and delete them after (optional) + :type bake_modifiers: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_clean_empty() + + Delete all empty animation data containers from visible data-blocks + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: channels_click(*, extend=False, extend_range=False, children_only=False) + + Handle mouse clicks over animation channels + + :param extend: Extend Select, (optional) + :type extend: bool + :param extend_range: Extend Range, Selection of active channel to clicked channel (optional) + :type extend_range: bool + :param children_only: Select Children Only, (optional) + :type children_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_collapse(*, all=True) + + Collapse (close) all selected expandable animation channels + + :param all: All, Collapse all channels (not just selected ones) (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_delete() + + Delete all selected animation channels + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: channels_editable_toggle(*, mode='TOGGLE', type='PROTECT') + + Toggle editability of selected channels + + :param mode: Mode, (optional) + :type mode: Literal['TOGGLE', 'DISABLE', 'ENABLE', 'INVERT'] + :param type: Type, (optional) + :type type: Literal['PROTECT', 'MUTE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_expand(*, all=True) + + Expand (open) all selected expandable animation channels + + :param all: All, Expand all channels (not just selected ones) (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_fcurves_enable() + + Clear 'disabled' tag from all F-Curves to get broken F-Curves working again + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: channels_group(*, name="") + + Add selected F-Curves to a new group + + :param name: Name, Name of newly created group (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_move(*, direction='DOWN') + + Rearrange selected animation channels + + :param direction: Direction, (optional) + :type direction: Literal['TOP', 'UP', 'DOWN', 'BOTTOM'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_rename() + + Rename animation channel under mouse + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: channels_select_all(*, action='TOGGLE') + + Toggle selection of all animation channels + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_select_box(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, deselect=False, extend=True) + + Select all animation channels within the specified region + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param deselect: Deselect, Deselect rather than select items (optional) + :type deselect: bool + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_select_filter() + + Start entering text which filters the set of channels shown to only include those with matching names + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: channels_setting_disable(*, mode='DISABLE', type='PROTECT') + + Disable specified setting on all selected animation channels + + :param mode: Mode, (optional) + :type mode: Literal['TOGGLE', 'DISABLE', 'ENABLE', 'INVERT'] + :param type: Type, (optional) + :type type: Literal['PROTECT', 'MUTE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_setting_enable(*, mode='ENABLE', type='PROTECT') + + Enable specified setting on all selected animation channels + + :param mode: Mode, (optional) + :type mode: Literal['TOGGLE', 'DISABLE', 'ENABLE', 'INVERT'] + :param type: Type, (optional) + :type type: Literal['PROTECT', 'MUTE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_setting_toggle(*, mode='TOGGLE', type='PROTECT') + + Toggle specified setting on all selected animation channels + + :param mode: Mode, (optional) + :type mode: Literal['TOGGLE', 'DISABLE', 'ENABLE', 'INVERT'] + :param type: Type, (optional) + :type type: Literal['PROTECT', 'MUTE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: channels_ungroup() + + Remove selected F-Curves from their current groups + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: channels_view_selected(*, include_handles=True, use_preview_range=True) + + Reset viewable area to show the selected channels + + :param include_handles: Include Handles, Include handles of keyframes when calculating extents (optional) + :type include_handles: bool + :param use_preview_range: Use Preview Range, Ignore frames outside of the preview range (optional) + :type use_preview_range: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clear_useless_actions(*, only_unused=True) + + Mark actions with no F-Curves for deletion after save and reload of file preserving "action libraries" + + :param only_unused: Only Unused, Only unused (Fake User only) actions get considered (optional) + :type only_unused: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:365 `__ + + +.. function:: copy_driver_button() + + Copy the driver for the highlighted button + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: debug_channel_list() + + Log the channel list info in the terminal. This operator is only available in debug builds of Blender + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: driver_button_add() + + Add driver for the property under the cursor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: driver_button_edit() + + Edit the drivers for the connected property represented by the highlighted button + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: driver_button_remove(*, all=True) + + Remove the driver(s) for the connected property(s) represented by the highlighted button + + :param all: All, Delete drivers for all elements of the array (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: end_frame_set() + + Set the current frame as the preview or scene end frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: keyframe_clear_button(*, all=True) + + Clear all keyframes on the currently active property + + :param all: All, Clear keyframes from all elements of the array (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_clear_v3d(*, confirm=True) + + Remove all keyframe animation for selected objects + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_clear_vse(*, confirm=True) + + Remove all keyframe animation for selected strips + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_delete(*, type='DEFAULT') + + Delete keyframes on the current frame for all properties in the specified Keying Set + + :param type: Keying Set, The Keying Set to use (optional) + :type type: Literal['DEFAULT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_delete_button(*, all=True) + + Delete current keyframe of current UI-active property + + :param all: All, Delete keyframes from all elements of the array (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_delete_by_name(*, type="") + + Alternate access to 'Delete Keyframe' for keymaps to use + + :param type: Keying Set, The Keying Set to use (optional, never None) + :type type: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_delete_v3d(*, confirm=True) + + Remove keyframes on current frame for selected objects and bones + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_delete_vse(*, confirm=True) + + Remove keyframes on current frame for selected strips + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_insert(*, type='DEFAULT') + + Insert keyframes on the current frame using either the active keying set, or the user preferences if no keying set is active + + :param type: Keying Set, The Keying Set to use (optional) + :type type: Literal['DEFAULT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_insert_button(*, all=True) + + Insert a keyframe for current UI-active property + + :param all: All, Insert a keyframe for all element of the array (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_insert_by_name(*, type="") + + Alternate access to 'Insert Keyframe' for keymaps to use + + :param type: Keying Set, The Keying Set to use (optional, never None) + :type type: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_insert_menu(*, type='DEFAULT', always_prompt=False) + + Insert Keyframes for specified Keying Set, with menu of available Keying Sets if undefined + + :param type: Keying Set, The Keying Set to use (optional) + :type type: Literal['DEFAULT'] + :param always_prompt: Always Show Menu, (optional) + :type always_prompt: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keying_set_active_set(*, type='DEFAULT') + + Set a new active keying set + + :param type: Keying Set, The Keying Set to use (optional) + :type type: Literal['DEFAULT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keying_set_add() + + Add a new (empty) keying set to the active Scene + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: keying_set_export(*, filepath="", filter_folder=True, filter_text=True, filter_python=True) + + Export Keying Set to a Python script + + :param filepath: filepath, (optional, never None) + :type filepath: str + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_text: Filter text, (optional) + :type filter_text: bool + :param filter_python: Filter Python, (optional) + :type filter_python: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:46 `__ + + +.. function:: keying_set_path_add() + + Add empty path to active keying set + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: keying_set_path_remove() + + Remove active Path from active keying set + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: keying_set_remove() + + Remove the active keying set + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: keyingset_button_add(*, all=True) + + Add current UI-active property to current keying set + + :param all: All, Add all elements of the array to a Keying Set (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyingset_button_remove() + + Remove current UI-active property from current keying set + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: merge_animation() + + Merge the animation of the selected objects into the action of the active object. Actions are not deleted by this, but might end up with zero users + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: paste_driver_button() + + Paste the driver in the internal clipboard to the highlighted button + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: previewrange_clear() + + Clear preview range + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: previewrange_set(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True) + + Interactively define frame range used for playback + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: replace_action(*, old_session_uid=0, new_session_uid=0) + + Swap all users of one action to another one. The normal action slot assignment rules apply. This ignores the NLA and Action Constraints + + :param old_session_uid: Old Action, Old Action's session uid to replace (in [-inf, inf], optional) + :type old_session_uid: int + :param new_session_uid: Replacement Action, The replacement Action's session uid to remap all selected Action's users to (in [-inf, inf], optional) + :type new_session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: replace_action_new(*, old_session_uid=0) + + Swap all users of one action to a new action. This ignores the NLA and Action Constraints + + :param old_session_uid: Old Action, Old Action's session uid to replace (in [-inf, inf], optional) + :type old_session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scene_range_frame() + + Reset the horizontal view to the current scene frame range, taking the preview range into account if it is active + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: separate_slots() + + Move all slots of the action on the active object into newly created, separate actions. All users of those slots will be reassigned to the new actions. The current action won't be deleted but will be empty and might end up having zero users + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: slot_channels_move_to_new_action() + + Move the selected slots into a newly created action + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: slot_new_for_id() + + Create a new action slot for this data-block, to hold its animation + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:721 `__ + +.. function:: slot_unassign_from_constraint() + + Un-assign the action slot from this constraint + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:779 `__ + +.. function:: slot_unassign_from_id() + + Un-assign the action slot, effectively making this data-block non-animated + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:758 `__ + +.. function:: slot_unassign_from_nla_strip() + + Un-assign the action slot from this NLA strip, effectively making it non-animated + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:779 `__ + +.. function:: start_frame_set() + + Set the current frame as the preview or scene start frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: update_animated_transform_constraints(*, use_convert_to_radians=True) + + Update f-curves/drivers affecting Transform constraints (use it with files from 2.70 and earlier) + + :param use_convert_to_radians: Convert to Radians, Convert f-curves/drivers affecting rotations to radians.Warning: Use this only once(optional) + :type use_convert_to_radians: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:402 `__ + + +.. function:: version_bone_hide_property() + + Moves any F-Curves for the `hide` property of selected armatures into the action of the object. This will only operate on the first layer and strip of the action + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:842 `__ + +.. function:: view_curve_in_graph_editor(*, all=False, isolate=False) + + Frame the property under the cursor in the Graph Editor + + :param all: Show All, Frame the whole array property instead of only the index under the cursor (optional) + :type all: bool + :param isolate: Isolate, Hides all F-Curves other than the ones being framed (optional) + :type isolate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.armature.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.armature.rst new file mode 100644 index 0000000..0e63426 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.armature.rst @@ -0,0 +1,441 @@ +Armature Operators +================== + +.. module:: bpy.ops.armature + +.. function:: align() + + Align selected bones to the active bone (or to their parent) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: assign_to_collection(*, collection_index=-1, new_collection_name="") + + Assign all selected bones to a collection, or unassign them, depending on whether the active bone is already assigned or not + + :param collection_index: Collection Index, Index of the collection to assign selected bones to. When the operator should create a new bone collection, use new_collection_name to define the collection name, and set this parameter to the parent index of the new bone collection (in [-1, inf], optional) + :type collection_index: int + :param new_collection_name: Name, Name of a to-be-added bone collection. Only pass this if you want to create a new bone collection and assign the selected bones to it. To assign to an existing collection, do not include this parameter and use collection_index (optional, never None) + :type new_collection_name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: autoside_names(*, type='XAXIS') + + Automatically renames the selected bones according to which side of the target axis they fall on + + :param type: Axis, Axis to tag names with (optional) + + - ``XAXIS`` + X-Axis -- Left/Right. + - ``YAXIS`` + Y-Axis -- Front/Back. + - ``ZAXIS`` + Z-Axis -- Top/Bottom. + :type type: Literal['XAXIS', 'YAXIS', 'ZAXIS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bone_primitive_add(*, name="Bone") + + Add a new bone located at the 3D cursor + + :param name: Name, Name of the newly created bone (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: calculate_roll(*, type='POS_X', axis_flip=False, axis_only=False) + + Automatically fix alignment of select bones' axes + + :param type: Type, (optional) + :type type: Literal['POS_X', 'POS_Z', 'GLOBAL_POS_X', 'GLOBAL_POS_Y', 'GLOBAL_POS_Z', 'NEG_X', 'NEG_Z', 'GLOBAL_NEG_X', 'GLOBAL_NEG_Y', 'GLOBAL_NEG_Z', 'ACTIVE', 'VIEW', 'CURSOR'] + :param axis_flip: Flip Axis, Negate the alignment axis (optional) + :type axis_flip: bool + :param axis_only: Shortest Rotation, Ignore the axis direction, use the shortest rotation to align (optional) + :type axis_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: click_extrude() + + Create a new bone going from the last selected joint to the mouse position + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_add() + + Add a new bone collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_assign(*, name="") + + Add selected bones to the chosen bone collection + + :param name: Bone Collection, Name of the bone collection to assign this bone to; empty to assign to the active bone collection (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_create_and_assign(*, name="") + + Create a new bone collection and assign all selected bones + + :param name: Bone Collection, Name of the bone collection to create (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_deselect() + + Deselect bones of active Bone Collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_move(*, direction='UP') + + Change position of active Bone Collection in list of Bone collections + + :param direction: Direction, Direction to move the active Bone Collection towards (optional) + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_remove() + + Remove the active bone collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_remove_unused() + + Remove all bone collections that have neither bones nor children. This is done recursively, so bone collections that only have unused children are also removed + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:619 `__ + +.. function:: collection_select() + + Select bones in active Bone Collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_show_all() + + Show all bone collections + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:574 `__ + +.. function:: collection_unassign(*, name="") + + Remove selected bones from the active bone collection + + :param name: Bone Collection, Name of the bone collection to unassign this bone from; empty to unassign from the active bone collection (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_unassign_named(*, name="", bone_name="") + + Unassign the named bone from this bone collection + + :param name: Bone Collection, Name of the bone collection to unassign this bone from; empty to unassign from the active bone collection (optional, never None) + :type name: str + :param bone_name: Bone Name, Name of the bone to unassign from the collection; empty to use the active bone (optional, never None) + :type bone_name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_unsolo_all() + + Clear the 'solo' setting on all bone collections + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:597 `__ + +.. function:: copy_bone_color_to_selected(*, bone_type='EDIT') + + Copy the bone color of the active bone to all selected bones + + :param bone_type: Type, (optional) + + - ``EDIT`` + Bone -- Copy Bone colors from the active bone to all selected bones. + - ``POSE`` + Pose Bone -- Copy Pose Bone colors from the active pose bone to all selected pose bones. + :type bone_type: Literal['EDIT', 'POSE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:493 `__ + + +.. function:: delete(*, confirm=True) + + Remove selected bones from the armature + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dissolve() + + Dissolve selected bones from the armature + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate(*, do_flip_names=False) + + Make copies of the selected bones within the same armature + + :param do_flip_names: Flip Names, Try to flip names of the bones, if possible, instead of adding a number extension (optional) + :type do_flip_names: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_move(*, ARMATURE_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Make copies of the selected bones within the same armature and move them + + :param ARMATURE_OT_duplicate: Duplicate Selected Bone(s), Make copies of the selected bones within the same armature (optional, :func:`bpy.ops.armature.duplicate` keyword arguments) + :type ARMATURE_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude(*, forked=False) + + Create new bones from the selected joints + + :param forked: Forked, (optional) + :type forked: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_forked(*, ARMATURE_OT_extrude={}, TRANSFORM_OT_translate={}) + + Create new bones from the selected joints and move them + + :param ARMATURE_OT_extrude: Extrude, Create new bones from the selected joints (optional, :func:`bpy.ops.armature.extrude` keyword arguments) + :type ARMATURE_OT_extrude: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_move(*, ARMATURE_OT_extrude={}, TRANSFORM_OT_translate={}) + + Create new bones from the selected joints and move them + + :param ARMATURE_OT_extrude: Extrude, Create new bones from the selected joints (optional, :func:`bpy.ops.armature.extrude` keyword arguments) + :type ARMATURE_OT_extrude: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: fill() + + Add bone between selected joint(s) and/or 3D cursor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: flip_names(*, do_strip_numbers=False) + + Flips (and corrects) the axis suffixes of the names of selected bones + + :param do_strip_numbers: Strip Numbers, Try to remove right-most dot-number from flipped names.Warning: May result in incoherent naming in some cases(optional) + :type do_strip_numbers: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide(*, unselected=False) + + Tag selected bones to not be visible in Edit Mode + + :param unselected: Unselected, Hide unselected rather than selected (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: move_to_collection(*, collection_index=-1, new_collection_name="") + + Move bones to a collection + + :param collection_index: Collection Index, Index of the collection to move selected bones to. When the operator should create a new bone collection, do not include this parameter and pass new_collection_name (in [-1, inf], optional) + :type collection_index: int + :param new_collection_name: Name, Name of a to-be-added bone collection. Only pass this if you want to create a new bone collection and move the selected bones to it. To move to an existing collection, do not include this parameter and use collection_index (optional, never None) + :type new_collection_name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: parent_clear(*, type='CLEAR') + + Remove the parent-child relationship between selected bones and their parents + + :param type: Clear Type, What way to clear parenting (optional) + :type type: Literal['CLEAR', 'DISCONNECT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: parent_set(*, type='CONNECTED') + + Set the active bone as the parent of the selected bones + + :param type: Parent Type, Type of parenting (optional) + :type type: Literal['CONNECTED', 'OFFSET'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reveal(*, select=True) + + Reveal all bones hidden in Edit Mode + + :param select: Select, (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: roll_clear(*, roll=0.0) + + Clear roll for selected bones + + :param roll: Roll, (in [-6.28319, 6.28319], optional) + :type roll: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + Toggle selection status of all bones + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_hierarchy(*, direction='PARENT', extend=False) + + Select immediate parent/children of selected bones + + :param direction: Direction, (optional) + :type direction: Literal['PARENT', 'CHILD'] + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_less() + + Deselect those bones at the boundary of each selection region + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked(*, all_forks=False) + + Select all bones linked by parent/child connections to the current selection + + :param all_forks: All Forks, Follow forks in the parents chain (optional) + :type all_forks: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_linked_pick(*, deselect=False, all_forks=False) + + (De)select bones linked by parent/child connections under the mouse cursor + + :param deselect: Deselect, (optional) + :type deselect: bool + :param all_forks: All Forks, Follow forks in the parents chain (optional) + :type all_forks: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_mirror(*, only_active=False, extend=False) + + Mirror the bone selection + + :param only_active: Active Only, Only operate on the active bone (optional) + :type only_active: bool + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_more() + + Select those bones connected to the initial selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_similar(*, type='LENGTH', threshold=0.1) + + Select similar bones by property types + + :param type: Type, (optional) + :type type: Literal['CHILDREN', 'CHILDREN_IMMEDIATE', 'SIBLINGS', 'LENGTH', 'DIRECTION', 'PREFIX', 'SUFFIX', 'BONE_COLLECTION', 'COLOR', 'SHAPE'] + :param threshold: Threshold, (in [0, 1], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: separate() + + Isolate selected bones into a separate armature + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shortest_path_pick() + + Select shortest path between two bones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: split() + + Split off selected bones from connected unselected bones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: subdivide(*, number_cuts=1) + + Break selected bones into chains of smaller bones + + :param number_cuts: Number of Cuts, (in [1, 1000], optional) + :type number_cuts: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: switch_direction() + + Change the direction that a chain of bones points in (head and tail swap) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: symmetrize(*, direction='NEGATIVE_X', copy_bone_colors=False) + + Enforce symmetry, make copies of the selection or use existing + + :param direction: Direction, Which sides to copy from and to (when both are selected) (optional) + :type direction: Literal['NEGATIVE_X', 'POSITIVE_X'] + :param copy_bone_colors: Bone Colors, Copy colors to existing bones (optional) + :type copy_bone_colors: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.asset.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.asset.rst new file mode 100644 index 0000000..a33b62e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.asset.rst @@ -0,0 +1,190 @@ +Asset Operators +=============== + +.. module:: bpy.ops.asset + +.. function:: assign_action() + + Set this pose Action as active Action on the active Object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/pose_library/operators.py\:103 `__ + +.. function:: bundle_install(*, asset_library_reference='', filepath="", hide_props_region=True, check_existing=True, filter_blender=True, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=8, display_type='DEFAULT', sort_method='') + + Copy the current .blend file into an Asset Library. Only works on standalone .blend files (i.e. when no other files are referenced) + + :param asset_library_reference: asset_library_reference, (optional) + :type asset_library_reference: str + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: catalog_delete(*, catalog_id="") + + Remove an asset catalog from the asset library (contained assets will not be affected and show up as unassigned) + + :param catalog_id: Catalog ID, ID of the catalog to delete (optional, never None) + :type catalog_id: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: catalog_new(*, parent_path="") + + Create a new catalog to put assets in + + :param parent_path: Parent Path, Optional path defining the location to put the new catalog under (optional, never None) + :type parent_path: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: catalog_redo() + + Redo the last undone edit to the asset catalogs + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: catalog_undo() + + Undo the last edit to the asset catalogs + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: catalog_undo_push() + + Store the current state of the asset catalogs in the undo buffer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: catalogs_save() + + Make any edits to any catalogs permanent by writing the current set up to the asset library + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: clear(*, set_fake_user=False) + + Delete all asset metadata and turn the selected asset data-blocks back into normal data-blocks + + :param set_fake_user: Set Fake User, Ensure the data-block is saved, even when it is no longer marked as asset (optional) + :type set_fake_user: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clear_single(*, set_fake_user=False) + + Delete all asset metadata and turn the asset data-block back into a normal data-block + + :param set_fake_user: Set Fake User, Ensure the data-block is saved, even when it is no longer marked as asset (optional) + :type set_fake_user: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: library_refresh() + + Reread assets and asset catalogs from the asset library on disk + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: mark() + + Enable easier reuse of selected data-blocks through the Asset Browser, with the help of customizable metadata (like previews, descriptions and tags) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: mark_single() + + Enable easier reuse of a data-block through the Asset Browser, with the help of customizable metadata (like previews, descriptions and tags) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: open_containing_blend_file() + + Open the blend file that contains the active asset + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/assets.py\:103 `__ + +.. function:: screenshot_preview(*, p1=(0, 0), p2=(0, 0), force_square=True) + + Capture a screenshot to use as a preview for the selected asset + + :param p1: Point 1, First point of the screenshot in screenspace (array of 2 items, in [0, inf], optional) + :type p1: Sequence[int] + :param p2: Point 2, Second point of the screenshot in screenspace (array of 2 items, in [0, inf], optional) + :type p2: Sequence[int] + :param force_square: Force Square, If enabled, the screenshot will have the same height as width (optional) + :type force_square: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: tag_add() + + Add a new keyword tag to the active asset + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/assets.py\:42 `__ + +.. function:: tag_remove() + + Remove an existing keyword tag from the active asset + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/assets.py\:65 `__ + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.boid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.boid.rst new file mode 100644 index 0000000..4b7c439 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.boid.rst @@ -0,0 +1,56 @@ +Boid Operators +============== + +.. module:: bpy.ops.boid + +.. function:: rule_add(*, type='GOAL') + + Add a boid rule to the current boid state + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_boidrule_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rule_del() + + Delete current boid rule + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: rule_move_down() + + Move boid rule down in the list + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: rule_move_up() + + Move boid rule up in the list + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: state_add() + + Add a boid state to the particle system + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: state_del() + + Delete current boid state + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: state_move_down() + + Move boid state down in the list + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: state_move_up() + + Move boid state up in the list + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.brush.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.brush.rst new file mode 100644 index 0000000..1650ae0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.brush.rst @@ -0,0 +1,170 @@ +Brush Operators +=============== + +.. module:: bpy.ops.brush + +.. function:: asset_activate(*, asset_library_type='LOCAL', asset_library_identifier="", relative_asset_identifier="", use_toggle=False) + + Activate a brush asset as current sculpt and paint tool + + :param asset_library_type: Asset Library Type, (optional) + :type asset_library_type: Literal[:ref:`rna_enum_asset_library_type_items`] + :param asset_library_identifier: Asset Library Identifier, (optional, never None) + :type asset_library_identifier: str + :param relative_asset_identifier: Relative Asset Identifier, (optional, never None) + :type relative_asset_identifier: str + :param use_toggle: Toggle, Switch between the current and assigned brushes on consecutive uses. (optional) + :type use_toggle: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: asset_delete() + + Delete the active brush asset + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: asset_edit_metadata(*, catalog_path="", author="", description="") + + Edit asset information like the catalog, preview image, tags, or author + + :param catalog_path: Catalog, The asset's catalog path (optional, never None) + :type catalog_path: str + :param author: Author, (optional, never None) + :type author: str + :param description: Description, (optional, never None) + :type description: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: asset_load_preview(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='') + + Choose a preview image for the brush + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: asset_revert() + + Revert the active brush settings to the default values from the asset library + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: asset_save() + + Update the active brush asset in the asset library with current settings + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: asset_save_as(*, name="", asset_library_reference='', catalog_path="") + + Save a copy of the active brush asset into the default asset library, and make it the active brush + + :param name: Name, Name for the new brush asset (optional, never None) + :type name: str + :param asset_library_reference: Library, Asset library used to store the new brush (optional) + :type asset_library_reference: str + :param catalog_path: Catalog, Catalog to use for the new asset (optional, never None) + :type catalog_path: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scale_size(*, scalar=1.0) + + Change brush size by a scalar + + :param scalar: Scalar, Factor to scale brush size by (in [0, 2], optional) + :type scalar: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stencil_control(*, mode='TRANSLATION', texmode='PRIMARY') + + Control the stencil brush + + :param mode: Tool, (optional) + :type mode: Literal['TRANSLATION', 'SCALE', 'ROTATION'] + :param texmode: Tool, (optional) + :type texmode: Literal['PRIMARY', 'SECONDARY'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stencil_fit_image_aspect(*, use_repeat=True, use_scale=True, mask=False) + + When using an image texture, adjust the stencil size to fit the image aspect ratio + + :param use_repeat: Use Repeat, Use repeat mapping values (optional) + :type use_repeat: bool + :param use_scale: Use Scale, Use texture scale values (optional) + :type use_scale: bool + :param mask: Modify Mask Stencil, Modify either the primary or mask stencil (optional) + :type mask: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stencil_reset_transform(*, mask=False) + + Reset the stencil transformation to the default + + :param mask: Modify Mask Stencil, Modify either the primary or mask stencil (optional) + :type mask: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.buttons.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.buttons.rst new file mode 100644 index 0000000..501785f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.buttons.rst @@ -0,0 +1,155 @@ +Buttons Operators +================= + +.. module:: bpy.ops.buttons + +.. function:: clear_filter() + + Clear the search filter + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: context_menu() + + Display properties editor context_menu + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: directory_browse(*, directory="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=False, filter_blenlib=False, filemode=9, relative_path=True, display_type='DEFAULT', sort_method='') + + Open a directory browser, hold Shift to open the file, Alt to browse containing directory + + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: file_browse(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=False, filter_blenlib=False, filemode=9, relative_path=True, display_type='DEFAULT', sort_method='', filter_glob="") + + Open a file browser, hold Shift to open the file, Alt to browse containing directory + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param filter_glob: Glob Filter, Custom filter (optional, never None) + :type filter_glob: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: start_filter() + + Start entering filter text + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: toggle_pin() + + Keep the current data-block displayed + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.cachefile.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.cachefile.rst new file mode 100644 index 0000000..73b47ee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.cachefile.rst @@ -0,0 +1,150 @@ +Cachefile Operators +=================== + +.. module:: bpy.ops.cachefile + +.. function:: layer_add(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=True, filter_usd=True, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=8, relative_path=True, display_type='DEFAULT', sort_method='') + + Add an override layer to the archive + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_move(*, direction='UP') + + Move layer in the list, layers further down the list will overwrite data from the layers higher up + + :param direction: Direction, Direction to move the active layer towards (optional) + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_remove() + + Remove an override layer from the archive + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: open(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=True, filter_usd=True, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=8, relative_path=True, display_type='DEFAULT', sort_method='') + + Load a cache file + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reload() + + Update objects paths list with new data from the archive + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.camera.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.camera.rst new file mode 100644 index 0000000..f04bb50 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.camera.rst @@ -0,0 +1,37 @@ +Camera Operators +================ + +.. module:: bpy.ops.camera + +.. function:: preset_add(*, name="", remove_name=False, remove_active=False, use_focal_length=False) + + Add or remove a Camera Preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :param use_focal_length: Include Focal Length, Include focal length into the preset (optional) + :type use_focal_length: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: safe_areas_preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove a Safe Areas Preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.clip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.clip.rst new file mode 100644 index 0000000..55dc8eb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.clip.rst @@ -0,0 +1,991 @@ +Clip Operators +============== + +.. module:: bpy.ops.clip + +.. function:: add_marker(*, location=(0.0, 0.0)) + + Place new marker at specified location + + :param location: Location, Location of marker on frame (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_marker_at_click() + + Place new marker at the desired (clicked) position + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: add_marker_move(*, CLIP_OT_add_marker={}, TRANSFORM_OT_translate={}) + + Add new marker and move it on movie + + :param CLIP_OT_add_marker: Add Marker, Place new marker at specified location (optional, :func:`bpy.ops.clip.add_marker` keyword arguments) + :type CLIP_OT_add_marker: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_marker_slide(*, CLIP_OT_add_marker={}, TRANSFORM_OT_translate={}) + + Add new marker and slide it with mouse until mouse button release + + :param CLIP_OT_add_marker: Add Marker, Place new marker at specified location (optional, :func:`bpy.ops.clip.add_marker` keyword arguments) + :type CLIP_OT_add_marker: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: apply_solution_scale(*, distance=0.0) + + Apply scale on solution itself to make distance between selected tracks equals to desired + + :param distance: Distance, Distance between selected tracks (in [-inf, inf], optional) + :type distance: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: average_tracks(*, keep_original=True) + + Average selected tracks into active + + :param keep_original: Keep Original, Keep original tracks (optional) + :type keep_original: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bundles_to_mesh() + + Create vertex cloud using coordinates of reconstructed tracks + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/clip.py\:292 `__ + +.. function:: camera_preset_add(*, name="", remove_name=False, remove_active=False, use_focal_length=True) + + Add or remove a Tracking Camera Intrinsics Preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :param use_focal_length: Include Focal Length, Include focal length into the preset (optional) + :type use_focal_length: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: change_frame(*, frame=0) + + Interactively change the current frame number + + :param frame: Frame, (in [-1048574, 1048574], optional) + :type frame: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clean_tracks(*, frames=0, error=0.0, action='SELECT') + + Clean tracks with high error values or few frames + + :param frames: Tracked Frames, Affect tracks which are tracked less than the specified number of frames (in [0, inf], optional) + :type frames: int + :param error: Reprojection Error, Affect tracks which have a larger reprojection error (in [0, inf], optional) + :type error: float + :param action: Action, Cleanup action to execute (optional) + + - ``SELECT`` + Select -- Select unclean tracks. + - ``DELETE_TRACK`` + Delete Track -- Delete unclean tracks. + - ``DELETE_SEGMENTS`` + Delete Segments -- Delete unclean segments of tracks. + :type action: Literal['SELECT', 'DELETE_TRACK', 'DELETE_SEGMENTS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clear_solution() + + Clear all calculated data + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: clear_track_path(*, action='REMAINED', clear_active=False) + + Clear tracks after/before current position or clear the whole track + + :param action: Action, Clear action to execute (optional) + + - ``UPTO`` + Clear Up To -- Clear path up to current frame. + - ``REMAINED`` + Clear Remained -- Clear path at remaining frames (after current). + - ``ALL`` + Clear All -- Clear the whole path. + :type action: Literal['UPTO', 'REMAINED', 'ALL'] + :param clear_active: Clear Active, Clear active track only instead of all selected tracks (optional) + :type clear_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: constraint_to_fcurve() + + Create F-Curves for object which will copy object's movement caused by this constraint + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/clip.py\:530 `__ + +.. function:: copy_tracks() + + Copy the selected tracks to the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: create_plane_track() + + Create new plane track out of selected point tracks + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: cursor_set(*, location=(0.0, 0.0)) + + Set 2D cursor location + + :param location: Location, Cursor location in normalized clip coordinates (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete_marker(*, confirm=True) + + Delete marker for current frame from selected tracks + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete_proxy() + + Delete movie clip proxy files from the hard drive + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/clip.py\:359 `__ + +.. function:: delete_track(*, confirm=True) + + Delete selected tracks + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: detect_features(*, placement='FRAME', margin=16, threshold=0.5, min_distance=120) + + Automatically detect features and place markers to track + + :param placement: Placement, Placement for detected features (optional) + + - ``FRAME`` + Whole Frame -- Place markers across the whole frame. + - ``INSIDE_GPENCIL`` + Inside Annotated Area -- Place markers only inside areas outlined with the Annotation tool. + - ``OUTSIDE_GPENCIL`` + Outside Annotated Area -- Place markers only outside areas outlined with the Annotation tool. + :type placement: Literal['FRAME', 'INSIDE_GPENCIL', 'OUTSIDE_GPENCIL'] + :param margin: Margin, Only features further than margin pixels from the image edges are considered (in [0, inf], optional) + :type margin: int + :param threshold: Threshold, Threshold level to consider feature good enough for tracking (in [0.0001, inf], optional) + :type threshold: float + :param min_distance: Distance, Minimal distance accepted between two features (in [0, inf], optional) + :type min_distance: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: disable_markers(*, action='DISABLE') + + Disable/enable selected markers + + :param action: Action, Disable action to execute (optional) + + - ``DISABLE`` + Disable -- Disable selected markers. + - ``ENABLE`` + Enable -- Enable selected markers. + - ``TOGGLE`` + Toggle -- Toggle disabled flag for selected markers. + :type action: Literal['DISABLE', 'ENABLE', 'TOGGLE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dopesheet_select_channel(*, location=(0.0, 0.0), extend=False) + + Select movie tracking channel + + :param location: Location, Mouse location to select channel (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param extend: Extend, Extend selection rather than clearing the existing selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dopesheet_view_all() + + Reset viewable area to show full keyframe range + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: filter_tracks(*, track_threshold=5.0) + + Filter tracks which has weirdly looking spikes in motion curves + + :param track_threshold: Track Threshold, Filter Threshold to select problematic tracks (in [-inf, inf], optional) + :type track_threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/clip.py\:206 `__ + + +.. function:: frame_jump(*, position='PATHSTART') + + Jump to special frame + + :param position: Position, Position to jump to (optional) + + - ``PATHSTART`` + Path Start -- Jump to start of current path. + - ``PATHEND`` + Path End -- Jump to end of current path. + - ``FAILEDPREV`` + Previous Failed -- Jump to previous failed frame. + - ``FAILNEXT`` + Next Failed -- Jump to next failed frame. + :type position: Literal['PATHSTART', 'PATHEND', 'FAILEDPREV', 'FAILNEXT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: graph_center_current_frame() + + Scroll view so current frame would be centered + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: graph_delete_curve(*, confirm=True) + + Delete track corresponding to the selected curve + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: graph_delete_knot() + + Delete curve knots + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: graph_disable_markers(*, action='DISABLE') + + Disable/enable selected markers + + :param action: Action, Disable action to execute (optional) + + - ``DISABLE`` + Disable -- Disable selected markers. + - ``ENABLE`` + Enable -- Enable selected markers. + - ``TOGGLE`` + Toggle -- Toggle disabled flag for selected markers. + :type action: Literal['DISABLE', 'ENABLE', 'TOGGLE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: graph_select(*, location=(0.0, 0.0), extend=False) + + Select graph curves + + :param location: Location, Mouse location to select nearest entity (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param extend: Extend, Extend selection rather than clearing the existing selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: graph_select_all_markers(*, action='TOGGLE') + + Change selection of all markers of active track + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: graph_select_box(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, deselect=False, extend=True) + + Select curve points using box selection + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param deselect: Deselect, Deselect rather than select items (optional) + :type deselect: bool + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: graph_view_all() + + View all curves in editor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: hide_tracks(*, unselected=False) + + Hide selected tracks + + :param unselected: Unselected, Hide unselected tracks (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_tracks_clear() + + Clear hide selected tracks + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: join_tracks() + + Join selected tracks + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: keyframe_delete() + + Delete a keyframe from selected tracks at current frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: keyframe_insert() + + Insert a keyframe to selected tracks at current frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: lock_selection_toggle() + + Toggle Lock Selection option of the current clip editor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: lock_tracks(*, action='LOCK') + + Lock/unlock selected tracks + + :param action: Action, Lock action to execute (optional) + + - ``LOCK`` + Lock -- Lock selected tracks. + - ``UNLOCK`` + Unlock -- Unlock selected tracks. + - ``TOGGLE`` + Toggle -- Toggle locked flag for selected tracks. + :type action: Literal['LOCK', 'UNLOCK', 'TOGGLE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mode_set(*, mode='TRACKING') + + Set the clip interaction mode + + :param mode: Mode, (optional) + :type mode: Literal[:ref:`rna_enum_clip_editor_mode_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: new_image_from_plane_marker() + + Create new image from the content of the plane marker + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: open(*, directory="", files=None, hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=True, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='') + + Load a sequence of frames or a movie file + + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + + - ``DEFAULT`` + Default -- Automatically determine sort method for files. + - ``FILE_SORT_ALPHA`` + Name -- Sort the file list alphabetically. + - ``FILE_SORT_EXTENSION`` + Extension -- Sort the file list by extension/type. + - ``FILE_SORT_TIME`` + Modified Date -- Sort files by modification time. + - ``FILE_SORT_SIZE`` + Size -- Sort files by size. + - ``ASSET_CATALOG`` + Asset Catalog -- Sort the asset list so that assets in the same catalog are kept together. Within a single catalog, assets are ordered by name. The catalogs are in order of the flattened catalog hierarchy.. + :type sort_method: Literal['', 'DEFAULT', 'FILE_SORT_ALPHA', 'FILE_SORT_EXTENSION', 'FILE_SORT_TIME', 'FILE_SORT_SIZE', 'ASSET_CATALOG'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paste_tracks() + + Paste tracks from the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: prefetch() + + Prefetch frames from disk for faster playback/tracking + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: rebuild_proxy() + + Rebuild all selected proxies and timecode indices in the background + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: refine_markers(*, backwards=False) + + Refine selected markers positions by running the tracker from track's reference to current frame + + :param backwards: Backwards, Do backwards tracking (optional) + :type backwards: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reload() + + Reload clip + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select(*, extend=False, deselect_all=False, location=(0.0, 0.0)) + + Select tracking markers + + :param extend: Extend, Extend selection rather than clearing the existing selection (optional) + :type extend: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param location: Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + Change selection of all tracking markers + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET') + + Select markers using box selection + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_circle(*, x=0, y=0, radius=25, wait_for_input=True, mode='SET') + + Select markers using circle selection + + :param x: X, (in [-inf, inf], optional) + :type x: int + :param y: Y, (in [-inf, inf], optional) + :type y: int + :param radius: Radius, (in [1, inf], optional) + :type radius: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_grouped(*, group='ESTIMATED') + + Select all tracks from specified group + + :param group: Group, Select tracks by group (optional) + + - ``KEYFRAMED`` + Keyframed Tracks -- Select all keyframed tracks. + - ``ESTIMATED`` + Estimated Tracks -- Select all estimated tracks. + - ``TRACKED`` + Tracked Tracks -- Select all tracked tracks. + - ``LOCKED`` + Locked Tracks -- Select all locked tracks. + - ``DISABLED`` + Disabled Tracks -- Select all disabled tracks. + - ``COLOR`` + Tracks with Same Color -- Select all tracks with same color as active track. + - ``FAILED`` + Failed Tracks -- Select all tracks which failed to be reconstructed. + :type group: Literal['KEYFRAMED', 'ESTIMATED', 'TRACKED', 'LOCKED', 'DISABLED', 'COLOR', 'FAILED'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_lasso(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, mode='SET') + + Select markers using lasso selection + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_active_clip() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/clip.py\:221 `__ + +.. function:: set_axis(*, axis='X') + + Set the direction of a scene axis by rotating the camera (or its parent if present). This assumes that the selected track lies on a real axis connecting it to the origin + + :param axis: Axis, Axis to use to align bundle along (optional) + + - ``X`` + X -- Align bundle to X axis. + - ``Y`` + Y -- Align bundle to Y axis. + :type axis: Literal['X', 'Y'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_origin(*, use_median=False) + + Set active marker as origin by moving camera (or its parent if present) in 3D space + + :param use_median: Use Median, Set origin to median point of selected bundles (optional) + :type use_median: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_plane(*, plane='FLOOR') + + Set plane based on 3 selected bundles by moving camera (or its parent if present) in 3D space + + :param plane: Plane, Plane to be used for orientation (optional) + + - ``FLOOR`` + Floor -- Set floor plane. + - ``WALL`` + Wall -- Set wall plane. + :type plane: Literal['FLOOR', 'WALL'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_scale(*, distance=0.0) + + Set scale of scene by scaling camera (or its parent if present) + + :param distance: Distance, Distance between selected tracks (in [-inf, inf], optional) + :type distance: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_scene_frames() + + Set scene's start and end frame to match clip's start frame and length + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: set_solution_scale(*, distance=0.0) + + Set object solution scale using distance between two selected tracks + + :param distance: Distance, Distance between selected tracks (in [-inf, inf], optional) + :type distance: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_solver_keyframe(*, keyframe='KEYFRAME_A') + + Set keyframe used by solver + + :param keyframe: Keyframe, Keyframe to set (optional) + :type keyframe: Literal['KEYFRAME_A', 'KEYFRAME_B'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_viewport_background() + + Set current movie clip as a camera background in 3D Viewport (works only when a 3D Viewport is visible) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/clip.py\:420 `__ + +.. function:: setup_tracking_scene() + + Prepare scene for compositing 3D objects into this footage + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/clip.py\:936 `__ + +.. function:: slide_marker(*, offset=(0.0, 0.0)) + + Slide marker areas + + :param offset: Offset, Offset in floating-point units, 1.0 is the width and height of the image (array of 2 items, in [-inf, inf], optional) + :type offset: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: slide_plane_marker() + + Slide plane marker areas + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: solve_camera() + + Solve camera motion from tracks + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: stabilize_2d_add() + + Add selected tracks to 2D translation stabilization + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: stabilize_2d_remove() + + Remove selected track from translation stabilization + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: stabilize_2d_rotation_add() + + Add selected tracks to 2D rotation stabilization + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: stabilize_2d_rotation_remove() + + Remove selected track from rotation stabilization + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: stabilize_2d_rotation_select() + + Select tracks which are used for rotation stabilization + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: stabilize_2d_select() + + Select tracks which are used for translation stabilization + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: track_color_preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove a Clip Track Color Preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: track_copy_color() + + Copy color to all selected tracks + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: track_markers(*, backwards=False, sequence=False) + + Track selected markers + + :param backwards: Backwards, Do backwards tracking (optional) + :type backwards: bool + :param sequence: Track Sequence, Track marker during image sequence rather than single image (optional) + :type sequence: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: track_settings_as_default() + + Copy tracking settings from active track to default settings + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/clip.py\:965 `__ + +.. function:: track_settings_to_track() + + Copy tracking settings from active track to selected tracks + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/clip.py\:1014 `__ + +.. function:: track_to_empty() + + Create an Empty object which will be copying movement of active track + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/clip.py\:268 `__ + +.. function:: tracking_object_new() + + Add new object for tracking + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: tracking_object_remove() + + Remove object for tracking + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: tracking_settings_preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove a motion tracking settings preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: update_image_from_plane_marker() + + Update current image used by plane marker from the content of the plane marker + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_all(*, fit_view=False) + + View whole image with markers + + :param fit_view: Fit View, Fit frame to the viewport (optional) + :type fit_view: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_center_cursor() + + Center the view so that the cursor is in the middle of the view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_pan(*, offset=(0.0, 0.0)) + + Pan the view + + :param offset: Offset, Offset in floating-point units, 1.0 is the width and height of the image (array of 2 items, in [-inf, inf], optional) + :type offset: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_selected() + + View all selected elements + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_zoom(*, factor=0.0, use_cursor_init=True) + + Zoom in/out the view + + :param factor: Factor, Zoom factor, values higher than 1.0 zoom in, lower values zoom out (in [-inf, inf], optional) + :type factor: float + :param use_cursor_init: Use Mouse Position, Allow the initial mouse position to be used (optional) + :type use_cursor_init: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_zoom_in(*, location=(0.0, 0.0)) + + Zoom in the view + + :param location: Location, Cursor location in screen coordinates (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_zoom_out(*, location=(0.0, 0.0)) + + Zoom out the view + + :param location: Location, Cursor location in normalized (0.0 to 1.0) coordinates (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_zoom_ratio(*, ratio=0.0) + + Set the zoom ratio (based on clip size) + + :param ratio: Ratio, Zoom ratio, 1.0 is 1:1, higher is zoomed in, lower is zoomed out (in [-inf, inf], optional) + :type ratio: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.cloth.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.cloth.rst new file mode 100644 index 0000000..d970fcf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.cloth.rst @@ -0,0 +1,20 @@ +Cloth Operators +=============== + +.. module:: bpy.ops.cloth + +.. function:: preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove a Cloth Preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.collection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.collection.rst new file mode 100644 index 0000000..e871336 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.collection.rst @@ -0,0 +1,89 @@ +Collection Operators +==================== + +.. module:: bpy.ops.collection + +.. function:: create(*, name="") + + Create an object collection from selected objects + + :param name: Name, Name of the new collection (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: export_all() + + Invoke all configured exporters on this collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: exporter_add(*, name="") + + Add exporter to the exporter list + + :param name: Name, FileHandler idname (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: exporter_export(*, index=0) + + Invoke the export operation + + :param index: Index, Exporter index (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: exporter_move(*, direction='UP') + + Move exporter up or down in the exporter list + + :param direction: Direction, Direction to move the active exporter (optional) + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: exporter_remove(*, index=0) + + Remove exporter from the exporter list + + :param index: Index, Exporter index (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: objects_add_active(*, collection='') + + Add selected objects to one of the collections the active-object is part of. Optionally add to "All Collections" to ensure selected objects are included in the same collections as the active object + + :param collection: Collection, The collection to add other selected objects to (optional) + :type collection: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: objects_remove(*, collection='') + + Remove selected objects from a collection + + :param collection: Collection, The collection to remove this object from (optional) + :type collection: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: objects_remove_active(*, collection='') + + Remove the object from an object collection that contains the active object + + :param collection: Collection, The collection to remove other selected objects from (optional) + :type collection: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: objects_remove_all() + + Remove selected objects from all collections + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.console.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.console.rst new file mode 100644 index 0000000..e2e58be --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.console.rst @@ -0,0 +1,184 @@ +Console Operators +================= + +.. module:: bpy.ops.console + +.. function:: autocomplete() + + Evaluate the namespace up until the cursor and give a list of options or complete the name if there is only one + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/console.py\:61 `__ + +.. function:: banner() + + Print a message when the terminal initializes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/console.py\:104 `__ + +.. function:: clear(*, scrollback=True, history=False) + + Clear text by type + + :param scrollback: Scrollback, Clear the scrollback history (optional) + :type scrollback: bool + :param history: History, Clear the command history (optional) + :type history: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clear_line() + + Clear the line and store in history + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: copy(*, delete=False) + + Copy selected text to clipboard + + :param delete: Delete Selection, Whether to delete the selection after copying (optional) + :type delete: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy_as_script() + + Copy the console contents for use in a script + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/console.py\:82 `__ + +.. function:: delete(*, type='NEXT_CHARACTER') + + Delete text by cursor position + + :param type: Type, Which part of the text to delete (optional) + :type type: Literal['NEXT_CHARACTER', 'PREVIOUS_CHARACTER', 'NEXT_WORD', 'PREVIOUS_WORD'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: execute(*, interactive=False) + + Execute the current console line as a Python expression + + :param interactive: interactive, (optional) + :type interactive: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/console.py\:38 `__ + + +.. function:: history_append(*, text="", current_character=0, remove_duplicates=False) + + Append history at cursor position + + :param text: Text, Text to insert at the cursor position (optional, never None) + :type text: str + :param current_character: Cursor, The index of the cursor (in [0, inf], optional) + :type current_character: int + :param remove_duplicates: Remove Duplicates, Remove duplicate items in the history (optional) + :type remove_duplicates: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: history_cycle(*, reverse=False) + + Cycle through history + + :param reverse: Reverse, Reverse cycle history (optional) + :type reverse: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: indent() + + Add 4 spaces at line beginning + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: indent_or_autocomplete() + + Indent selected text or autocomplete + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: insert(*, text="") + + Insert text at cursor position + + :param text: Text, Text to insert at the cursor position (optional, never None) + :type text: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: language(*, language="") + + Set the current language for this console + + :param language: Language, (optional, never None) + :type language: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/console.py\:136 `__ + + +.. function:: move(*, type='LINE_BEGIN', select=False) + + Move cursor position + + :param type: Type, Where to move cursor to (optional) + :type type: Literal['LINE_BEGIN', 'LINE_END', 'PREVIOUS_CHARACTER', 'NEXT_CHARACTER', 'PREVIOUS_WORD', 'NEXT_WORD'] + :param select: Select, Whether to select while moving (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paste(*, selection=False) + + Paste text from clipboard + + :param selection: Selection, Paste text selected elsewhere rather than copied (X11/Wayland only) (optional) + :type selection: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scrollback_append(*, text="", type='OUTPUT') + + Append scrollback text by type + + :param text: Text, Text to insert at the cursor position (optional, never None) + :type text: str + :param type: Type, Console output type (optional) + :type type: Literal['OUTPUT', 'INPUT', 'INFO', 'ERROR'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all() + + Select all the text + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_set() + + Set the console selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_word() + + Select word at cursor position + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: unindent() + + Delete 4 spaces from line beginning + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.constraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.constraint.rst new file mode 100644 index 0000000..1d83c9d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.constraint.rst @@ -0,0 +1,276 @@ +Constraint Operators +==================== + +.. module:: bpy.ops.constraint + +.. function:: add_target() + + Add a target to the constraint + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/constraint.py\:26 `__ + +.. function:: apply(*, constraint="", owner='OBJECT', report=False) + + Apply constraint and remove from the stack + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :param report: Report, Create a notification after the operation (optional) + :type report: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: childof_clear_inverse(*, constraint="", owner='OBJECT') + + Clear inverse correction for Child Of constraint + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: childof_set_inverse(*, constraint="", owner='OBJECT') + + Set inverse correction for Child Of constraint + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy(*, constraint="", owner='OBJECT', report=False) + + Duplicate constraint at the same position in the stack + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :param report: Report, Create a notification after the operation (optional) + :type report: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy_to_selected(*, constraint="", owner='OBJECT') + + Copy constraint to other selected objects/bones + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete(*, constraint="", owner='OBJECT', report=False) + + Remove constraint from constraint stack + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :param report: Report, Create a notification after the operation (optional) + :type report: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: disable_keep_transform() + + Set the influence of this constraint to zero while trying to maintain the object's transformation. Other active constraints can still influence the final transformation + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/constraint.py\:86 `__ + +.. function:: followpath_path_animate(*, constraint="", owner='OBJECT', frame_start=1, length=100) + + Add default animation for path used by constraint if it isn't animated already + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :param frame_start: Start Frame, First frame of path animation (in [-1048574, 1048574], optional) + :type frame_start: int + :param length: Length, Number of frames that path animation should take (in [0, 1048574], optional) + :type length: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: limitdistance_reset(*, constraint="", owner='OBJECT') + + Reset limiting distance for Limit Distance Constraint + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: move_down(*, constraint="", owner='OBJECT') + + Move constraint down in constraint stack + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: move_to_index(*, constraint="", owner='OBJECT', index=0) + + Change the constraint's position in the list so it evaluates after the set number of others + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :param index: Index, The index to move the constraint to (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: move_up(*, constraint="", owner='OBJECT') + + Move constraint up in constraint stack + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: normalize_target_weights() + + Normalize weights of all target bones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/constraint.py\:61 `__ + +.. function:: objectsolver_clear_inverse(*, constraint="", owner='OBJECT') + + Clear inverse correction for Object Solver constraint + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: objectsolver_set_inverse(*, constraint="", owner='OBJECT') + + Set inverse correction for Object Solver constraint + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: remove_target(*, index=0) + + Remove the target from the constraint + + :param index: index, (in [-inf, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/constraint.py\:44 `__ + + +.. function:: stretchto_reset(*, constraint="", owner='OBJECT') + + Reset original length of bone for Stretch To Constraint + + :param constraint: Constraint, Name of the constraint to edit (optional, never None) + :type constraint: str + :param owner: Owner, The owner of this constraint (optional) + + - ``OBJECT`` + Object -- Edit a constraint on the active object. + - ``BONE`` + Bone -- Edit a constraint on the active bone. + :type owner: Literal['OBJECT', 'BONE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.curve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.curve.rst new file mode 100644 index 0000000..a7a75b1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.curve.rst @@ -0,0 +1,561 @@ +Curve Operators +=============== + +.. module:: bpy.ops.curve + +.. function:: cyclic_toggle(*, direction='CYCLIC_U') + + Make active spline closed/open loop + + :param direction: Direction, Direction to make surface cyclic in (optional) + :type direction: Literal['CYCLIC_U', 'CYCLIC_V'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: de_select_first() + + (De)select first of visible part of each NURBS + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: de_select_last() + + (De)select last of visible part of each NURBS + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: decimate(*, ratio=1.0) + + Simplify selected curves + + :param ratio: Ratio, (in [0, 1], optional) + :type ratio: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete(*, type='VERT') + + Delete selected control points or segments + + :param type: Type, Which elements to delete (optional) + :type type: Literal['VERT', 'SEGMENT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dissolve_verts() + + Delete selected control points, correcting surrounding handles + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: draw(*, error_threshold=0.0, fit_method='REFIT', corner_angle=1.22173, use_cyclic=True, stroke=None, wait_for_input=True) + + Draw a freehand spline + + :param error_threshold: Error, Error distance threshold (in object units) (in [0, 10], optional) + :type error_threshold: float + :param fit_method: Fit Method, (optional) + :type fit_method: Literal[:ref:`rna_enum_curve_fit_method_items`] + :param corner_angle: Corner Angle, (in [0, 3.14159], optional) + :type corner_angle: float + :param use_cyclic: Cyclic, (optional) + :type use_cyclic: bool + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate() + + Duplicate selected control points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate_move(*, CURVE_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Duplicate curve and move + + :param CURVE_OT_duplicate: Duplicate Curve, Duplicate selected control points (optional, :func:`bpy.ops.curve.duplicate` keyword arguments) + :type CURVE_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude(*, mode='TRANSLATION') + + Extrude selected control point(s) + + :param mode: Mode, (optional) + :type mode: Literal[:ref:`rna_enum_transform_mode_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_move(*, CURVE_OT_extrude={}, TRANSFORM_OT_translate={}) + + Extrude curve and move result + + :param CURVE_OT_extrude: Extrude, Extrude selected control point(s) (optional, :func:`bpy.ops.curve.extrude` keyword arguments) + :type CURVE_OT_extrude: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: handle_type_set(*, type='AUTOMATIC') + + Set type of handles for selected control points + + :param type: Type, Spline type (optional) + :type type: Literal['AUTOMATIC', 'VECTOR', 'ALIGNED', 'FREE_ALIGN', 'TOGGLE_FREE_ALIGN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide(*, unselected=False) + + Hide (un)selected control points + + :param unselected: Unselected, Hide unselected rather than selected (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: make_segment() + + Join two curves by their selected ends + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: match_texture_space() + + Match texture space to object's bounding box + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: normals_make_consistent(*, calc_length=False) + + Recalculate the direction of selected handles + + :param calc_length: Length, Recalculate handle length (optional) + :type calc_length: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: pen(*, extend=False, deselect=False, toggle=False, deselect_all=False, select_passthrough=False, extrude_point=False, extrude_handle='VECTOR', delete_point=False, insert_point=False, move_segment=False, select_point=False, move_point=False, close_spline=True, close_spline_method='OFF', toggle_vector=False, cycle_handle_type=False) + + Construct and edit splines + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param deselect: Deselect, Remove from selection (optional) + :type deselect: bool + :param toggle: Toggle Selection, Toggle the selection (optional) + :type toggle: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param select_passthrough: Only Select Unselected, Ignore the select action when the element is already selected (optional) + :type select_passthrough: bool + :param extrude_point: Extrude Point, Add a point connected to the last selected point (optional) + :type extrude_point: bool + :param extrude_handle: Extrude Handle Type, Type of the extruded handle (optional) + :type extrude_handle: Literal['AUTO', 'VECTOR'] + :param delete_point: Delete Point, Delete an existing point (optional) + :type delete_point: bool + :param insert_point: Insert Point, Insert Point into a curve segment (optional) + :type insert_point: bool + :param move_segment: Move Segment, Move an existing curve segment (optional) + :type move_segment: bool + :param select_point: Select Point, Select a point or its handles (optional) + :type select_point: bool + :param move_point: Move Point, Move a point or its handles (optional) + :type move_point: bool + :param close_spline: Close Spline, Make a spline cyclic by clicking endpoints (optional) + :type close_spline: bool + :param close_spline_method: Close Spline Method, The condition for close spline to activate (optional) + + - ``OFF`` + None. + - ``ON_PRESS`` + On Press -- Move handles after closing the spline. + - ``ON_CLICK`` + On Click -- Spline closes on release if not dragged. + :type close_spline_method: Literal['OFF', 'ON_PRESS', 'ON_CLICK'] + :param toggle_vector: Toggle Vector, Toggle between Vector and Auto handles (optional) + :type toggle_vector: bool + :param cycle_handle_type: Cycle Handle Type, Cycle between all four handle types (optional) + :type cycle_handle_type: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_bezier_circle_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a Bézier Circle + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_bezier_curve_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a Bézier Curve + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_nurbs_circle_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a Nurbs Circle + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_nurbs_curve_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a Nurbs Curve + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_nurbs_path_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a Path + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: radius_set(*, radius=1.0) + + Set per-point radius which is used for bevel tapering + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reveal(*, select=True) + + Reveal hidden control points + + :param select: Select, (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + (De)select all control points + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_less() + + Deselect control points at the boundary of each selection region + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked() + + Select all control points linked to the current selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked_pick(*, deselect=False) + + Select all control points linked to already selected ones + + :param deselect: Deselect, Deselect linked control points rather than selecting them (optional) + :type deselect: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_more() + + Select control points at the boundary of each selection region + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_next() + + Select control points following already selected ones along the curves + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_nth(*, skip=1, nth=1, offset=0) + + Deselect every Nth point starting from the active one + + :param skip: Deselected, Number of deselected elements in the repetitive sequence (in [1, inf], optional) + :type skip: int + :param nth: Selected, Number of selected elements in the repetitive sequence (in [1, inf], optional) + :type nth: int + :param offset: Offset, Offset from the starting point (in [-inf, inf], optional) + :type offset: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_previous() + + Select control points preceding already selected ones along the curves + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_random(*, ratio=0.5, seed=0, action='SELECT') + + Randomly select some control points + + :param ratio: Ratio, Portion of items to select randomly (in [0, 1], optional) + :type ratio: float + :param seed: Random Seed, Seed for the random number generator (in [0, inf], optional) + :type seed: int + :param action: Action, Selection action to execute (optional) + + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + :type action: Literal['SELECT', 'DESELECT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_row() + + Select a row of control points including active one. Successive use on the same point switches between U/V directions + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_similar(*, type='WEIGHT', compare='EQUAL', threshold=0.1) + + Select similar curve points by property type + + :param type: Type, (optional) + :type type: Literal['TYPE', 'RADIUS', 'WEIGHT', 'DIRECTION'] + :param compare: Compare, (optional) + :type compare: Literal['EQUAL', 'GREATER', 'LESS'] + :param threshold: Threshold, (in [0, inf], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: separate() + + Separate selected points from connected unselected points into a new object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shade_flat() + + Set shading to flat + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shade_smooth() + + Set shading to smooth + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shortest_path_pick() + + Select shortest path between two selections + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: smooth() + + Flatten angles of selected points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: smooth_radius() + + Interpolate radii of selected points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: smooth_tilt() + + Interpolate tilt of selected points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: smooth_weight() + + Interpolate weight of selected points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: spin(*, center=(0.0, 0.0, 0.0), axis=(0.0, 0.0, 0.0)) + + Extrude selected boundary row around pivot point and current view axis + + :param center: Center, Center in global view space (array of 3 items, in [-inf, inf], optional) + :type center: :class:`mathutils.Vector` | Sequence[float] + :param axis: Axis, Axis in global view space (array of 3 items, in [-1, 1], optional) + :type axis: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: spline_type_set(*, type='POLY', use_handles=False) + + Set type of active spline + + :param type: Type, Spline type (optional) + :type type: Literal['POLY', 'BEZIER', 'NURBS'] + :param use_handles: Handles, Use handles when converting Bézier curves into polygons (optional) + :type use_handles: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: spline_weight_set(*, weight=1.0) + + Set softbody goal weight for selected points + + :param weight: Weight, (in [0, 1], optional) + :type weight: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: split() + + Split off selected points from connected unselected points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: subdivide(*, number_cuts=1) + + Subdivide selected segments + + :param number_cuts: Number of Cuts, (in [1, 1000], optional) + :type number_cuts: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: switch_direction() + + Switch direction of selected splines + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: tilt_clear() + + Clear the tilt of selected control points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_add(*, location=(0.0, 0.0, 0.0)) + + Add a new control point (linked to only selected end-curve one, if any) + + :param location: Location, Location to add new vertex at (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.curves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.curves.rst new file mode 100644 index 0000000..a46c688 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.curves.rst @@ -0,0 +1,360 @@ +Curves Operators +================ + +.. module:: bpy.ops.curves + +.. function:: add_bezier(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add new Bézier curve + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_circle(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add new circle curve + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: attribute_set(*, value_float=0.0, value_float_vector_2d=(0.0, 0.0), value_float_vector_3d=(0.0, 0.0, 0.0), value_int=0, value_int_vector_2d=(0, 0), value_color=(1.0, 1.0, 1.0, 1.0), value_bool=False) + + Set values of the active attribute for selected elements + + :param value_float: Value, (in [-inf, inf], optional) + :type value_float: float + :param value_float_vector_2d: Value, (array of 2 items, in [-inf, inf], optional) + :type value_float_vector_2d: Sequence[float] + :param value_float_vector_3d: Value, (array of 3 items, in [-inf, inf], optional) + :type value_float_vector_3d: Sequence[float] + :param value_int: Value, (in [-inf, inf], optional) + :type value_int: int + :param value_int_vector_2d: Value, (array of 2 items, in [-inf, inf], optional) + :type value_int_vector_2d: Sequence[int] + :param value_color: Value, (array of 4 items, in [-inf, inf], optional) + :type value_color: Sequence[float] + :param value_bool: Value, (optional) + :type value_bool: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: convert_from_particle_system() + + Add a new curves object based on the current state of the particle system + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: convert_to_particle_system() + + Add a new or update an existing hair particle system on the surface object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: curve_type_set(*, type='POLY', use_handles=False) + + Set type of selected curves + + :param type: Type, Curve type (optional) + :type type: Literal[:ref:`rna_enum_curves_type_items`] + :param use_handles: Handles, Take handle information into account in the conversion (optional) + :type use_handles: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: cyclic_toggle() + + Make active curve closed/open loop + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete() + + Remove selected control points or curves + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: draw(*, error_threshold=0.0, fit_method='REFIT', corner_angle=1.22173, use_cyclic=True, stroke=None, wait_for_input=True, is_curve_2d=False, bezier_as_nurbs=False) + + Draw a freehand curve + + :param error_threshold: Error, Error distance threshold (in object units) (in [0, 10], optional) + :type error_threshold: float + :param fit_method: Fit Method, (optional) + :type fit_method: Literal[:ref:`rna_enum_curve_fit_method_items`] + :param corner_angle: Corner Angle, (in [0, 3.14159], optional) + :type corner_angle: float + :param use_cyclic: Cyclic, (optional) + :type use_cyclic: bool + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param is_curve_2d: Curve 2D, (optional) + :type is_curve_2d: bool + :param bezier_as_nurbs: As NURBS, (optional) + :type bezier_as_nurbs: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate() + + Copy selected points or curves + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate_move(*, CURVES_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Make copies of selected elements and move them + + :param CURVES_OT_duplicate: Duplicate, Copy selected points or curves (optional, :func:`bpy.ops.curves.duplicate` keyword arguments) + :type CURVES_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude() + + Extrude selected control point(s) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: extrude_move(*, CURVES_OT_extrude={}, TRANSFORM_OT_translate={}) + + Extrude curve and move result + + :param CURVES_OT_extrude: Extrude, Extrude selected control point(s) (optional, :func:`bpy.ops.curves.extrude` keyword arguments) + :type CURVES_OT_extrude: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: handle_type_set(*, type='AUTO') + + Set the handle type for bezier curves + + :param type: Type, (optional) + + - ``AUTO`` + Auto -- The location is automatically calculated to be smooth. + - ``VECTOR`` + Vector -- The location is calculated to point to the next/previous control point. + - ``ALIGN`` + Align -- The location is constrained to point in the opposite direction as the other handle. + - ``FREE_ALIGN`` + Free -- The handle can be moved anywhere, and does not influence the point's other handle. + - ``TOGGLE_FREE_ALIGN`` + Toggle Free/Align -- Replace Free handles with Align, and all Align with Free handles. + :type type: Literal['AUTO', 'VECTOR', 'ALIGN', 'FREE_ALIGN', 'TOGGLE_FREE_ALIGN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: pen(*, extend=False, deselect=False, toggle=False, deselect_all=False, select_passthrough=False, extrude_point=False, extrude_handle='VECTOR', delete_point=False, insert_point=False, move_segment=False, select_point=False, move_point=False, cycle_handle_type=False, size=0.01) + + Construct and edit Bézier curves + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param deselect: Deselect, Remove from selection (optional) + :type deselect: bool + :param toggle: Toggle Selection, Toggle the selection (optional) + :type toggle: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param select_passthrough: Only Select Unselected, Ignore the select action when the element is already selected (optional) + :type select_passthrough: bool + :param extrude_point: Extrude Point, Add a point connected to the last selected point (optional) + :type extrude_point: bool + :param extrude_handle: Extrude Handle Type, Type of the extruded handle (optional) + :type extrude_handle: Literal['AUTO', 'VECTOR'] + :param delete_point: Delete Point, Delete an existing point (optional) + :type delete_point: bool + :param insert_point: Insert Point, Insert Point into a curve segment (optional) + :type insert_point: bool + :param move_segment: Move Segment, Move an existing curve segment (optional) + :type move_segment: bool + :param select_point: Select Point, Select a point or its handles (optional) + :type select_point: bool + :param move_point: Move Point, Move a point or its handles (optional) + :type move_point: bool + :param cycle_handle_type: Cycle Handle Type, Cycle between all four handle types (optional) + :type cycle_handle_type: bool + :param size: Size, Diameter of new points (in [0, inf], optional) + :type size: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sculptmode_toggle() + + Enter/Exit sculpt mode for curves + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_all(*, action='TOGGLE') + + (De)select all control points + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_ends(*, amount_start=0, amount_end=1) + + Select end points of curves + + :param amount_start: Amount Front, Number of points to select from the front (in [0, inf], optional) + :type amount_start: int + :param amount_end: Amount Back, Number of points to select from the back (in [0, inf], optional) + :type amount_end: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_less() + + Shrink the selection by one point + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked() + + Select all points in curves with any point selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked_pick(*, deselect=False) + + Select all points in the curve under the cursor + + :param deselect: Deselect, Deselect linked control points rather than selecting them (optional) + :type deselect: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_more() + + Grow the selection by one point + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_random(*, seed=0, probability=0.5) + + Randomize existing selection or create new random selection + + :param seed: Seed, Source of randomness (in [-inf, inf], optional) + :type seed: int + :param probability: Probability, Chance of every point or curve being included in the selection (in [0, 1], optional) + :type probability: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: separate() + + Separate selected geometry into a new object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: set_selection_domain(*, domain='POINT') + + Change the mode used for selection masking in curves sculpt mode + + :param domain: Domain, (optional) + :type domain: Literal[:ref:`rna_enum_attribute_curves_domain_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: snap_curves_to_surface(*, attach_mode='NEAREST') + + Move curves so that the first point is exactly on the surface mesh + + :param attach_mode: Attach Mode, How to find the point on the surface to attach to (optional) + + - ``NEAREST`` + Nearest -- Find the closest point on the surface for the root point of every curve and move the root there. + - ``DEFORM`` + Deform -- Re-attach curves to a deformed surface using the existing attachment information. This only works when the topology of the surface mesh has not changed. + :type attach_mode: Literal['NEAREST', 'DEFORM'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: split() + + Split selected points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: subdivide(*, number_cuts=1) + + Subdivide selected curve segments + + :param number_cuts: Number of Cuts, (in [1, 1000], optional) + :type number_cuts: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: surface_set() + + Use the active object as surface for selected curves objects and set it as the parent + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: switch_direction() + + Reverse the direction of the selected curves + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: tilt_clear() + + Clear the tilt of selected control points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.dpaint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.dpaint.rst new file mode 100644 index 0000000..ef19c12 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.dpaint.rst @@ -0,0 +1,41 @@ +Dpaint Operators +================ + +.. module:: bpy.ops.dpaint + +.. function:: bake() + + Bake dynamic paint image sequence surface + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: output_toggle(*, output='A') + + Add or remove Dynamic Paint output data layer + + :param output: Output Toggle, (optional) + :type output: Literal['A', 'B'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: surface_slot_add() + + Add a new Dynamic Paint surface slot + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: surface_slot_remove() + + Remove the selected surface slot + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: type_toggle(*, type='CANVAS') + + Toggle whether given type is active or not + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_prop_dynamicpaint_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.ed.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.ed.rst new file mode 100644 index 0000000..8382ea4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.ed.rst @@ -0,0 +1,147 @@ +Ed Operators +============ + +.. module:: bpy.ops.ed + +.. function:: flush_edits() + + Flush edit data from active editing modes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: lib_id_fake_user_toggle() + + Save this data-block even if it has no users + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: lib_id_generate_preview() + + Create an automatic preview for the selected data-block + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: lib_id_generate_preview_from_object() + + Create a preview for this asset by rendering the active object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: lib_id_load_custom_preview(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='') + + Choose an image to help identify the data-block visually + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: lib_id_override_editable_toggle() + + Set if this library override data-block can be edited + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: lib_id_remove_preview() + + Remove the preview of this data-block + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: lib_id_unlink() + + Remove a usage of a data-block, clearing the assignment + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: redo() + + Redo previous action + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: undo() + + Undo previous action + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: undo_history(*, item=0) + + Undo or redo specific action in history + + :param item: Item, (in [0, inf], optional) + :type item: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: undo_push(*, message="Add an undo step *function may be moved*") + + Add an undo state (internal use only) + + :param message: Undo Message, (optional, never None) + :type message: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: undo_redo() + + Undo and redo previous action + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.export_anim.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.export_anim.rst new file mode 100644 index 0000000..2c85ab7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.export_anim.rst @@ -0,0 +1,47 @@ +Export Anim Operators +===================== + +.. module:: bpy.ops.export_anim + +.. function:: bvh(*, filepath="", check_existing=True, filter_glob="*.bvh", global_scale=1.0, frame_start=0, frame_end=0, rotate_mode='NATIVE', root_transform_only=False, sort_children_by_names=False) + + Save a BVH motion capture file from an armature + + :param filepath: File Path, Filepath used for exporting the file (optional, never None) + :type filepath: str + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :param global_scale: Scale, Scale the BVH by this value (in [0.0001, 1e+06], optional) + :type global_scale: float + :param frame_start: Start Frame, Starting frame to export (in [-inf, inf], optional) + :type frame_start: int + :param frame_end: End Frame, End frame to export (in [-inf, inf], optional) + :type frame_end: int + :param rotate_mode: Rotation, Rotation conversion (optional) + + - ``NATIVE`` + Euler (Native) -- Use the rotation order defined in the BVH file. + - ``XYZ`` + Euler (XYZ) -- Convert rotations to euler XYZ. + - ``XZY`` + Euler (XZY) -- Convert rotations to euler XZY. + - ``YXZ`` + Euler (YXZ) -- Convert rotations to euler YXZ. + - ``YZX`` + Euler (YZX) -- Convert rotations to euler YZX. + - ``ZXY`` + Euler (ZXY) -- Convert rotations to euler ZXY. + - ``ZYX`` + Euler (ZYX) -- Convert rotations to euler ZYX. + :type rotate_mode: Literal['NATIVE', 'XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'] + :param root_transform_only: Root Translation Only, Only write out translation channels for the root bone (optional) + :type root_transform_only: bool + :param sort_children_by_names: Sort Children By Name, Sort the children of each bone alphabetically (optional) + :type sort_children_by_names: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/io_anim_bvh/__init__.py\:286 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.export_scene.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.export_scene.rst new file mode 100644 index 0000000..920b508 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.export_scene.rst @@ -0,0 +1,470 @@ +Export Scene Operators +====================== + +.. module:: bpy.ops.export_scene + +.. function:: fbx(*, filepath="", check_existing=True, filter_glob="*.fbx", use_selection=False, use_visible=False, use_active_collection=False, collection="", global_scale=1.0, apply_unit_scale=True, apply_scale_options='FBX_SCALE_NONE', use_space_transform=True, bake_space_transform=False, object_types={'ARMATURE', 'CAMERA', 'EMPTY', 'LIGHT', 'MESH', 'OTHER'}, use_mesh_modifiers=True, use_mesh_modifiers_render=True, mesh_smooth_type='OFF', colors_type='SRGB', prioritize_active_color=False, use_subsurf=False, use_mesh_edges=False, use_tspace=False, use_triangles=False, use_custom_props=False, add_leaf_bones=True, primary_bone_axis='Y', secondary_bone_axis='X', use_armature_deform_only=False, armature_nodetype='NULL', bake_anim=True, bake_anim_use_all_bones=True, bake_anim_use_nla_strips=True, bake_anim_use_all_actions=True, bake_anim_force_startend_keying=True, bake_anim_step=1.0, bake_anim_simplify_factor=1.0, path_mode='AUTO', embed_textures=False, batch_mode='OFF', use_batch_own_dir=True, use_metadata=True, axis_forward='-Z', axis_up='Y') + + Write a FBX file + + :param filepath: File Path, Filepath used for exporting the file (optional, never None) + :type filepath: str + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :param use_selection: Selected Objects, Export selected and visible objects only (optional) + :type use_selection: bool + :param use_visible: Visible Objects, Export visible objects only (optional) + :type use_visible: bool + :param use_active_collection: Active Collection, Export only objects from the active collection (and its children) (optional) + :type use_active_collection: bool + :param collection: Source Collection, Export only objects from this collection (and its children) (optional, never None) + :type collection: str + :param global_scale: Scale, Scale all data (Some importers do not support scaled armatures!) (in [0.001, 1000], optional) + :type global_scale: float + :param apply_unit_scale: Apply Unit, Take into account current Blender units settings (if unset, raw Blender Units values are used as-is) (optional) + :type apply_unit_scale: bool + :param apply_scale_options: Apply Scalings, How to apply custom and units scalings in generated FBX file (Blender uses FBX scale to detect units on import, but many other applications do not handle the same way) (optional) + + - ``FBX_SCALE_NONE`` + All Local -- Apply custom scaling and units scaling to each object transformation, FBX scale remains at 1.0. + - ``FBX_SCALE_UNITS`` + FBX Units Scale -- Apply custom scaling to each object transformation, and units scaling to FBX scale. + - ``FBX_SCALE_CUSTOM`` + FBX Custom Scale -- Apply custom scaling to FBX scale, and units scaling to each object transformation. + - ``FBX_SCALE_ALL`` + FBX All -- Apply custom scaling and units scaling to FBX scale. + :type apply_scale_options: Literal['FBX_SCALE_NONE', 'FBX_SCALE_UNITS', 'FBX_SCALE_CUSTOM', 'FBX_SCALE_ALL'] + :param use_space_transform: Use Space Transform, Apply global space transform to the object rotations. When disabled only the axis space is written to the file and all object transforms are left as-is (optional) + :type use_space_transform: bool + :param bake_space_transform: Apply Transform, Bake space transform into object data, avoids getting unwanted rotations to objects when target space is not aligned with Blender's space (WARNING! experimental option, use at own risk, known to be broken with armatures/animations) (optional) + :type bake_space_transform: bool + :param object_types: Object Types, Which kind of object to export (optional) + + - ``EMPTY`` + Empty. + - ``CAMERA`` + Camera. + - ``LIGHT`` + Lamp. + - ``ARMATURE`` + Armature -- WARNING: not supported in dupli/group instances. + - ``MESH`` + Mesh. + - ``OTHER`` + Other -- Other geometry types, like curve, meta-ball, etc. (converted to meshes). + :type object_types: set[Literal['EMPTY', 'CAMERA', 'LIGHT', 'ARMATURE', 'MESH', 'OTHER']] + :param use_mesh_modifiers: Apply Modifiers, Apply modifiers to mesh objects (except Armature ones) - WARNING: prevents exporting shape keys (optional) + :type use_mesh_modifiers: bool + :param use_mesh_modifiers_render: Use Modifiers Render Setting, Use render settings when applying modifiers to mesh objects (DISABLED in Blender 2.8) (optional) + :type use_mesh_modifiers_render: bool + :param mesh_smooth_type: Smoothing, Export smoothing information (prefer 'Normals Only' option if your target importer understands custom normals) (optional) + + - ``OFF`` + Normals Only -- Export only normals instead of writing edge or face smoothing data. + - ``FACE`` + Face -- Write face smoothing. + - ``EDGE`` + Edge -- Write edge smoothing. + - ``SMOOTH_GROUP`` + Smoothing Groups -- Write face smoothing groups. + :type mesh_smooth_type: Literal['OFF', 'FACE', 'EDGE', 'SMOOTH_GROUP'] + :param colors_type: Vertex Colors, Export vertex color attributes (optional) + + - ``NONE`` + None -- Do not export color attributes. + - ``SRGB`` + sRGB -- Export colors in sRGB color space. + - ``LINEAR`` + Linear -- Export colors in linear color space. + :type colors_type: Literal['NONE', 'SRGB', 'LINEAR'] + :param prioritize_active_color: Prioritize Active Color, Make sure active color will be exported first. Could be important since some other software can discard other color attributes besides the first one (optional) + :type prioritize_active_color: bool + :param use_subsurf: Export Subdivision Surface, Export the last Catmull-Rom subdivision modifier as FBX subdivision (does not apply the modifier even if 'Apply Modifiers' is enabled) (optional) + :type use_subsurf: bool + :param use_mesh_edges: Loose Edges, Export loose edges (as two-vertices polygons) (optional) + :type use_mesh_edges: bool + :param use_tspace: Tangent Space, Add binormal and tangent vectors, together with normal they form the tangent space (will only work correctly with tris/quads only meshes!) (optional) + :type use_tspace: bool + :param use_triangles: Triangulate Faces, Convert all faces to triangles (optional) + :type use_triangles: bool + :param use_custom_props: Custom Properties, Export custom properties (optional) + :type use_custom_props: bool + :param add_leaf_bones: Add Leaf Bones, Append a final bone to the end of each chain to specify last bone length (use this when you intend to edit the armature from exported data) (optional) + :type add_leaf_bones: bool + :param primary_bone_axis: Primary Bone Axis, (optional) + :type primary_bone_axis: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param secondary_bone_axis: Secondary Bone Axis, (optional) + :type secondary_bone_axis: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param use_armature_deform_only: Only Deform Bones, Only write deforming bones (and non-deforming ones when they have deforming children) (optional) + :type use_armature_deform_only: bool + :param armature_nodetype: Armature FBXNode Type, FBX type of node (object) used to represent Blender's armatures (use the Null type unless you experience issues with the other app, as other choices may not import back perfectly into Blender...) (optional) + + - ``NULL`` + Null -- 'Null' FBX node, similar to Blender's Empty (default). + - ``ROOT`` + Root -- 'Root' FBX node, supposed to be the root of chains of bones.... + - ``LIMBNODE`` + LimbNode -- 'LimbNode' FBX node, a regular joint between two bones.... + :type armature_nodetype: Literal['NULL', 'ROOT', 'LIMBNODE'] + :param bake_anim: Baked Animation, Export baked keyframe animation (optional) + :type bake_anim: bool + :param bake_anim_use_all_bones: Key All Bones, Force exporting at least one key of animation for all bones (needed with some target applications, like UE4) (optional) + :type bake_anim_use_all_bones: bool + :param bake_anim_use_nla_strips: NLA Strips, Export each non-muted NLA strip as a separated FBX's AnimStack, if any, instead of global scene animation (optional) + :type bake_anim_use_nla_strips: bool + :param bake_anim_use_all_actions: All Actions, Export each action as a separated FBX's AnimStack, instead of global scene animation (note that animated objects will get all actions compatible with them, others will get no animation at all) (optional) + :type bake_anim_use_all_actions: bool + :param bake_anim_force_startend_keying: Force Start/End Keying, Always add a keyframe at start and end of actions for animated channels (optional) + :type bake_anim_force_startend_keying: bool + :param bake_anim_step: Sampling Rate, How often to evaluate animated values (in frames) (in [0.01, 100], optional) + :type bake_anim_step: float + :param bake_anim_simplify_factor: Simplify, How much to simplify baked values (0.0 to disable, the higher the more simplified) (in [0, 100], optional) + :type bake_anim_simplify_factor: float + :param path_mode: Path Mode, Method used to reference paths (optional) + + - ``AUTO`` + Auto -- Use relative paths with subdirectories only. + - ``ABSOLUTE`` + Absolute -- Always write absolute paths. + - ``RELATIVE`` + Relative -- Write relative paths where possible. + - ``MATCH`` + Match -- Match absolute/relative setting with input path. + - ``STRIP`` + Strip -- Filename only. + - ``COPY`` + Copy -- Copy the file to the destination path (or subdirectory). + :type path_mode: Literal['AUTO', 'ABSOLUTE', 'RELATIVE', 'MATCH', 'STRIP', 'COPY'] + :param embed_textures: Embed Textures, Embed textures in FBX binary file (only for "Copy" path mode!) (optional) + :type embed_textures: bool + :param batch_mode: Batch Mode, (optional) + + - ``OFF`` + Off -- Active scene to file. + - ``SCENE`` + Scene -- Each scene as a file. + - ``COLLECTION`` + Collection -- Each collection (data-block ones) as a file, does not include content of children collections. + - ``SCENE_COLLECTION`` + Scene Collections -- Each collection (including master, non-data-block ones) of each scene as a file, including content from children collections. + - ``ACTIVE_SCENE_COLLECTION`` + Active Scene Collections -- Each collection (including master, non-data-block one) of the active scene as a file, including content from children collections. + :type batch_mode: Literal['OFF', 'SCENE', 'COLLECTION', 'SCENE_COLLECTION', 'ACTIVE_SCENE_COLLECTION'] + :param use_batch_own_dir: Batch Own Dir, Create a dir for each exported file (optional) + :type use_batch_own_dir: bool + :param use_metadata: Use Metadata, (optional) + :type use_metadata: bool + :param axis_forward: Forward, (optional) + :type axis_forward: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param axis_up: Up, (optional) + :type axis_up: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/io_scene_fbx/__init__.py\:604 `__ + + +.. function:: gltf(*, filepath="", check_existing=True, export_import_convert_lighting_mode='SPEC', gltf_export_id="", export_use_gltfpack=False, export_gltfpack_tc=True, export_gltfpack_tq=8, export_gltfpack_si=1.0, export_gltfpack_sa=False, export_gltfpack_slb=False, export_gltfpack_vp=14, export_gltfpack_vt=12, export_gltfpack_vn=8, export_gltfpack_vc=8, export_gltfpack_vpi='Integer', export_gltfpack_noq=True, export_gltfpack_kn=False, export_format='', ui_tab='GENERAL', export_copyright="", export_image_format='AUTO', export_image_add_webp=False, export_image_webp_fallback=False, export_texture_dir="", export_jpeg_quality=75, export_image_quality=75, export_keep_originals=False, export_texcoords=True, export_normals=True, export_gn_mesh=False, export_draco_mesh_compression_enable=False, export_draco_mesh_compression_level=6, export_draco_position_quantization=14, export_draco_normal_quantization=10, export_draco_texcoord_quantization=12, export_draco_color_quantization=10, export_draco_generic_quantization=12, export_tangents=False, export_materials='EXPORT', export_unused_images=False, export_unused_textures=False, export_vertex_color='MATERIAL', export_vertex_color_name="Color", export_all_vertex_colors=True, export_active_vertex_color_when_no_material=True, export_attributes=False, use_mesh_edges=False, use_mesh_vertices=False, export_cameras=False, use_selection=False, use_visible=False, use_renderable=False, use_active_collection_with_nested=True, use_active_collection=False, use_active_scene=False, collection="", at_collection_center=False, export_extras=False, export_yup=True, export_apply=False, export_shared_accessors=False, export_animations=True, export_frame_range=False, export_frame_step=1, export_force_sampling=True, export_sampling_interpolation_fallback='LINEAR', export_pointer_animation=False, export_animation_mode='ACTIONS', export_nla_strips_merged_animation_name="Animation", export_def_bones=False, export_hierarchy_flatten_bones=False, export_hierarchy_flatten_objs=False, export_armature_object_remove=False, export_leaf_bone=False, export_optimize_animation_size=True, export_optimize_animation_keep_anim_armature=True, export_optimize_animation_keep_anim_object=False, export_optimize_disable_viewport=False, export_negative_frame='SLIDE', export_anim_slide_to_zero=False, export_bake_animation=False, export_merge_animation='ACTION', export_anim_single_armature=True, export_reset_pose_bones=True, export_current_frame=False, export_rest_position_armature=True, export_anim_scene_split_object=True, export_skins=True, export_influence_nb=4, export_all_influences=False, export_morph=True, export_morph_normal=True, export_morph_tangent=False, export_morph_animation=True, export_morph_reset_sk_data=True, export_lights=False, export_try_sparse_sk=True, export_try_omit_sparse_sk=False, export_gpu_instances=False, export_action_filter=False, export_convert_animation_pointer=False, export_nla_strips=True, export_original_specular=False, will_save_settings=False, export_hierarchy_full_collections=False, export_extra_animations=False, export_loglevel=-1, filter_glob="*.glb") + + Export scene as glTF 2.0 file + + :param filepath: File Path, Filepath used for exporting the file (optional, never None) + :type filepath: str + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param export_import_convert_lighting_mode: Lighting Mode, Optional backwards compatibility for non-standard render engines. Applies to lights (optional) + + - ``SPEC`` + Standard -- Physically-based glTF lighting units (cd, lx, nt). + - ``COMPAT`` + Unitless -- Non-physical, unitless lighting. Useful when exposure controls are not available. + - ``RAW`` + Raw (Deprecated) -- Blender lighting strengths with no conversion. + :type export_import_convert_lighting_mode: Literal['SPEC', 'COMPAT', 'RAW'] + :param gltf_export_id: Identifier, Identifier of caller (in case of add-on calling this exporter). Can be useful in case of Extension added by other add-ons (optional, never None) + :type gltf_export_id: str + :param export_use_gltfpack: Use Gltfpack, Use gltfpack to simplify the mesh and/or compress its textures (optional) + :type export_use_gltfpack: bool + :param export_gltfpack_tc: KTX2 Compression, Convert all textures to KTX2 with BasisU supercompression (optional) + :type export_gltfpack_tc: bool + :param export_gltfpack_tq: Texture Encoding Quality, Texture encoding quality (in [1, 10], optional) + :type export_gltfpack_tq: int + :param export_gltfpack_si: Mesh Simplification Ratio, Simplify meshes targeting triangle count ratio (in [0, 1], optional) + :type export_gltfpack_si: float + :param export_gltfpack_sa: Aggressive Mesh Simplification, Aggressively simplify to the target ratio disregarding quality (optional) + :type export_gltfpack_sa: bool + :param export_gltfpack_slb: Lock Mesh Border Vertices, Lock border vertices during simplification to avoid gaps on connected meshes (optional) + :type export_gltfpack_slb: bool + :param export_gltfpack_vp: Position Quantization, Use N-bit quantization for positions (in [1, 16], optional) + :type export_gltfpack_vp: int + :param export_gltfpack_vt: Texture Coordinate Quantization, Use N-bit quantization for texture coordinates (in [1, 16], optional) + :type export_gltfpack_vt: int + :param export_gltfpack_vn: Normal/Tangent Quantization, Use N-bit quantization for normals and tangents (in [1, 16], optional) + :type export_gltfpack_vn: int + :param export_gltfpack_vc: Vertex Color Quantization, Use N-bit quantization for colors (in [1, 16], optional) + :type export_gltfpack_vc: int + :param export_gltfpack_vpi: Vertex Position Attributes, Type to use for vertex position attributes (optional) + + - ``Integer`` + Integer -- Use integer attributes for positions. + - ``Normalized`` + Normalized -- Use normalized attributes for positions. + - ``Floating-point`` + Floating-point -- Use floating-point attributes for positions. + :type export_gltfpack_vpi: Literal['Integer', 'Normalized', 'Floating-point'] + :param export_gltfpack_noq: Disable Quantization, Disable quantization; produces much larger glTF files with no extensions (optional) + :type export_gltfpack_noq: bool + :param export_gltfpack_kn: Keep Named Nodes, Restrict some optimization to keep named nodes and meshes attached to named nodes so that named nodes can be transformed externally (optional) + :type export_gltfpack_kn: bool + :param export_format: Format, Output format. Binary is most efficient, but JSON may be easier to edit later (optional) + :type export_format: str + :param ui_tab: ui_tab, Export setting categories (optional) + + - ``GENERAL`` + General -- General settings. + - ``MESHES`` + Meshes -- Mesh settings. + - ``OBJECTS`` + Objects -- Object settings. + - ``ANIMATION`` + Animation -- Animation settings. + :type ui_tab: Literal['GENERAL', 'MESHES', 'OBJECTS', 'ANIMATION'] + :param export_copyright: Copyright, Legal rights and conditions for the model (optional, never None) + :type export_copyright: str + :param export_image_format: Images, Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for web applications due to the smaller file size. Alternatively they can be omitted if they are not needed (optional) + + - ``AUTO`` + Automatic -- Save PNGs as PNGs, JPEGs as JPEGs, WebPs as WebPs. For other formats, use PNG. + - ``JPEG`` + JPEG Format (.jpg) -- Save images as JPEGs. (Images that need alpha are saved as PNGs though.) Be aware of a possible loss in quality. + - ``WEBP`` + WebP Format -- Save images as WebPs as main image (no fallback). + - ``NONE`` + None -- Don't export images. + :type export_image_format: Literal['AUTO', 'JPEG', 'WEBP', 'NONE'] + :param export_image_add_webp: Create WebP, Creates WebP textures for every texture. For already WebP textures, nothing happens (optional) + :type export_image_add_webp: bool + :param export_image_webp_fallback: WebP Fallback, For all WebP textures, create a PNG fallback texture (optional) + :type export_image_webp_fallback: bool + :param export_texture_dir: Textures, Folder to place texture files in. Relative to the .gltf file (optional, never None) + :type export_texture_dir: str + :param export_jpeg_quality: JPEG Quality, Quality of JPEG export (in [0, 100], optional) + :type export_jpeg_quality: int + :param export_image_quality: Image Quality, Quality of image export (in [0, 100], optional) + :type export_image_quality: int + :param export_keep_originals: Keep Original, Keep original textures files if possible. WARNING: if you use more than one texture, where pbr standard requires only one, only one texture will be used. This can lead to unexpected results (optional) + :type export_keep_originals: bool + :param export_texcoords: UVs, Export UVs (texture coordinates) with meshes (optional) + :type export_texcoords: bool + :param export_normals: Normals, Export vertex normals with meshes (optional) + :type export_normals: bool + :param export_gn_mesh: Geometry Nodes Instances (Experimental), Export Geometry nodes instance meshes (optional) + :type export_gn_mesh: bool + :param export_draco_mesh_compression_enable: Draco Mesh Compression, Compress mesh using Draco (optional) + :type export_draco_mesh_compression_enable: bool + :param export_draco_mesh_compression_level: Compression Level, Compression level (0 = most speed, 6 = most compression, higher values currently not supported) (in [0, 10], optional) + :type export_draco_mesh_compression_level: int + :param export_draco_position_quantization: Position Quantization Bits, Quantization bits for position values (0 = no quantization) (in [0, 30], optional) + :type export_draco_position_quantization: int + :param export_draco_normal_quantization: Normal Quantization Bits, Quantization bits for normal values (0 = no quantization) (in [0, 30], optional) + :type export_draco_normal_quantization: int + :param export_draco_texcoord_quantization: Texcoord Quantization Bits, Quantization bits for texture coordinate values (0 = no quantization) (in [0, 30], optional) + :type export_draco_texcoord_quantization: int + :param export_draco_color_quantization: Color Quantization Bits, Quantization bits for color values (0 = no quantization) (in [0, 30], optional) + :type export_draco_color_quantization: int + :param export_draco_generic_quantization: Generic Quantization Bits, Quantization bits for generic values like weights or joints (0 = no quantization) (in [0, 30], optional) + :type export_draco_generic_quantization: int + :param export_tangents: Tangents, Export vertex tangents with meshes (optional) + :type export_tangents: bool + :param export_materials: Materials, Export materials (optional) + + - ``EXPORT`` + Export -- Export all materials used by included objects. + - ``PLACEHOLDER`` + Placeholder -- Do not export materials, but write multiple primitive groups per mesh, keeping material slot information. + - ``VIEWPORT`` + Viewport -- Export minimal materials as defined in Viewport display properties. + - ``NONE`` + No export -- Do not export materials, and combine mesh primitive groups, losing material slot information. + :type export_materials: Literal['EXPORT', 'PLACEHOLDER', 'VIEWPORT', 'NONE'] + :param export_unused_images: Unused Images, Export images not assigned to any material (optional) + :type export_unused_images: bool + :param export_unused_textures: Prepare Unused Textures, Export image texture nodes not assigned to any material. This feature is not standard and needs an external extension to be included in the glTF file (optional) + :type export_unused_textures: bool + :param export_vertex_color: Use Vertex Color, How to export vertex color (optional) + + - ``MATERIAL`` + Material -- Export vertex color when used by material. + - ``ACTIVE`` + Active -- Export active vertex color. + - ``NAME`` + Name -- Export vertex color with this name. + - ``NONE`` + None -- Do not export vertex color. + :type export_vertex_color: Literal['MATERIAL', 'ACTIVE', 'NAME', 'NONE'] + :param export_vertex_color_name: Vertex Color Name, Name of vertex color to export (optional, never None) + :type export_vertex_color_name: str + :param export_all_vertex_colors: Export All Vertex Colors, Export all vertex colors, even if not used by any material. If no Vertex Color is used in the mesh materials, a fake COLOR_0 will be created, in order to keep material unchanged (optional) + :type export_all_vertex_colors: bool + :param export_active_vertex_color_when_no_material: Export Active Vertex Color When No Material, When there is no material on object, export active vertex color (optional) + :type export_active_vertex_color_when_no_material: bool + :param export_attributes: Attributes, Export Attributes (when starting with underscore) (optional) + :type export_attributes: bool + :param use_mesh_edges: Loose Edges, Export loose edges as lines, using the material from the first material slot (optional) + :type use_mesh_edges: bool + :param use_mesh_vertices: Loose Points, Export loose points as glTF points, using the material from the first material slot (optional) + :type use_mesh_vertices: bool + :param export_cameras: Cameras, Export cameras (optional) + :type export_cameras: bool + :param use_selection: Selected Objects, Export selected objects only (optional) + :type use_selection: bool + :param use_visible: Visible Objects, Export visible objects only (optional) + :type use_visible: bool + :param use_renderable: Renderable Objects, Export renderable objects only (optional) + :type use_renderable: bool + :param use_active_collection_with_nested: Include Nested Collections, Include active collection and nested collections (optional) + :type use_active_collection_with_nested: bool + :param use_active_collection: Active Collection, Export objects in the active collection only (optional) + :type use_active_collection: bool + :param use_active_scene: Active Scene, Export active scene only (optional) + :type use_active_scene: bool + :param collection: Source Collection, Export only objects from this collection (and its children) (optional, never None) + :type collection: str + :param at_collection_center: Export at Collection Center, Export at Collection center of mass of root objects of the collection (optional) + :type at_collection_center: bool + :param export_extras: Custom Properties, Export custom properties as glTF extras (optional) + :type export_extras: bool + :param export_yup: +Y Up, Export using glTF convention, +Y up (optional) + :type export_yup: bool + :param export_apply: Apply Modifiers, Apply modifiers (excluding Armatures) to mesh objects -WARNING: prevents exporting shape keys (optional) + :type export_apply: bool + :param export_shared_accessors: Shared Accessors, Export Primitives using shared accessors for attributes (optional) + :type export_shared_accessors: bool + :param export_animations: Animations, Exports active actions and NLA tracks as glTF animations (optional) + :type export_animations: bool + :param export_frame_range: Limit to Playback Range, Clips animations to selected playback range (optional) + :type export_frame_range: bool + :param export_frame_step: Sampling Rate, How often to evaluate animated values (in frames) (in [1, 120], optional) + :type export_frame_step: int + :param export_force_sampling: Always Sample Animations, Apply sampling to all animations (optional) + :type export_force_sampling: bool + :param export_sampling_interpolation_fallback: Sampling Interpolation Fallback, Interpolation fallback for sampled animations, when the property is not keyed (optional) + + - ``LINEAR`` + Linear -- Linear interpolation between keyframes. + - ``STEP`` + Step -- No interpolation between keyframes. + :type export_sampling_interpolation_fallback: Literal['LINEAR', 'STEP'] + :param export_pointer_animation: Export Animation Pointer (Experimental), Export material, Light & Camera animation as Animation Pointer. Available only for baked animation mode 'NLA Tracks' and 'Scene' (optional) + :type export_pointer_animation: bool + :param export_animation_mode: Animation Mode, Export Animation mode (optional) + + - ``ACTIONS`` + Actions -- Export actions (actives and on NLA tracks) as separate animations. + - ``ACTIVE_ACTIONS`` + Active actions merged -- All the currently assigned actions become one glTF animation. + - ``BROADCAST`` + Broadcast actions -- Broadcast all compatible actions to all objects. Animated objects will get all actions compatible with them, others will get no animation at all. + - ``NLA_TRACKS`` + NLA Tracks -- Export individual NLA Tracks as separate animation. + - ``SCENE`` + Scene -- Export baked scene as a single animation. + :type export_animation_mode: Literal['ACTIONS', 'ACTIVE_ACTIONS', 'BROADCAST', 'NLA_TRACKS', 'SCENE'] + :param export_nla_strips_merged_animation_name: Merged Animation Name, Name of single glTF animation to be exported (optional, never None) + :type export_nla_strips_merged_animation_name: str + :param export_def_bones: Export Deformation Bones Only, Export Deformation bones only (optional) + :type export_def_bones: bool + :param export_hierarchy_flatten_bones: Flatten Bone Hierarchy, Flatten Bone Hierarchy. Useful in case of non decomposable transformation matrix (optional) + :type export_hierarchy_flatten_bones: bool + :param export_hierarchy_flatten_objs: Flatten Object Hierarchy, Flatten Object Hierarchy. Useful in case of non decomposable transformation matrix (optional) + :type export_hierarchy_flatten_objs: bool + :param export_armature_object_remove: Remove Armature Object, Remove Armature object if possible. If Armature has multiple root bones, object will not be removed (optional) + :type export_armature_object_remove: bool + :param export_leaf_bone: Add Leaf Bones, Append a final bone to the end of each chain to specify last bone length (use this when you intend to edit the armature from exported data) (optional) + :type export_leaf_bone: bool + :param export_optimize_animation_size: Optimize Animation Size, Reduce exported file size by removing duplicate keyframes (optional) + :type export_optimize_animation_size: bool + :param export_optimize_animation_keep_anim_armature: Force Keeping Channels for Bones, If all keyframes are identical in a rig, force keeping the minimal animation. When off, all possible channels for the bones will be exported, even if empty (minimal animation, 2 keyframes) (optional) + :type export_optimize_animation_keep_anim_armature: bool + :param export_optimize_animation_keep_anim_object: Force Keeping Channel for Objects, If all keyframes are identical for object transformations, force keeping the minimal animation (optional) + :type export_optimize_animation_keep_anim_object: bool + :param export_optimize_disable_viewport: Disable Viewport for Other Objects, When exporting animations, disable viewport for other objects, for performance (optional) + :type export_optimize_disable_viewport: bool + :param export_negative_frame: Negative Frames, Negative Frames are slid or cropped (optional) + + - ``SLIDE`` + Slide -- Slide animation to start at frame 0. + - ``CROP`` + Crop -- Keep only frames above frame 0. + :type export_negative_frame: Literal['SLIDE', 'CROP'] + :param export_anim_slide_to_zero: Set All glTF Animation Starting at 0, Set all glTF animation starting at 0.0s. Can be useful for looping animations (optional) + :type export_anim_slide_to_zero: bool + :param export_bake_animation: Bake All Objects Animations, Force exporting animation on every object. Can be useful when using constraints or driver. Also useful when exporting only selection (optional) + :type export_bake_animation: bool + :param export_merge_animation: Merge Animation, Merge Animations (optional) + + - ``NLA_TRACK`` + NLA Track Names -- Merge by NLA Track Names. + - ``ACTION`` + Actions -- Merge by Actions. + - ``NONE`` + No Merge -- Do Not Merge Animations. + :type export_merge_animation: Literal['NLA_TRACK', 'ACTION', 'NONE'] + :param export_anim_single_armature: Export all Armature Actions, Export all actions, bound to a single armature. WARNING: Option does not support exports including multiple armatures (optional) + :type export_anim_single_armature: bool + :param export_reset_pose_bones: Reset Pose Bones Between Actions, Reset pose bones between each action exported. This is needed when some bones are not keyed on some animations (optional) + :type export_reset_pose_bones: bool + :param export_current_frame: Use Current Frame as Object Rest Transformations, Export the scene in the current animation frame. When off, frame 0 is used as rest transformations for objects (optional) + :type export_current_frame: bool + :param export_rest_position_armature: Use Rest Position Armature, Export armatures using rest position as joints' rest pose. When off, current frame pose is used as rest pose (optional) + :type export_rest_position_armature: bool + :param export_anim_scene_split_object: Split Animation by Object, Export Scene as seen in Viewport, But split animation by Object (optional) + :type export_anim_scene_split_object: bool + :param export_skins: Skinning, Export skinning (armature) data (optional) + :type export_skins: bool + :param export_influence_nb: Bone Influences, Choose how many Bone influences to export (in [1, inf], optional) + :type export_influence_nb: int + :param export_all_influences: Include All Bone Influences, Allow export of all joint vertex influences. Models may appear incorrectly in many viewers (optional) + :type export_all_influences: bool + :param export_morph: Shape Keys, Export shape keys (morph targets) (optional) + :type export_morph: bool + :param export_morph_normal: Shape Key Normals, Export vertex normals with shape keys (morph targets) (optional) + :type export_morph_normal: bool + :param export_morph_tangent: Shape Key Tangents, Export vertex tangents with shape keys (morph targets) (optional) + :type export_morph_tangent: bool + :param export_morph_animation: Shape Key Animations, Export shape keys animations (morph targets) (optional) + :type export_morph_animation: bool + :param export_morph_reset_sk_data: Reset Shape Keys Between Actions, Reset shape keys between each action exported. This is needed when some SK channels are not keyed on some animations (optional) + :type export_morph_reset_sk_data: bool + :param export_lights: Punctual Lights, Export directional, point, and spot lights. Uses "KHR_lights_punctual" glTF extension (optional) + :type export_lights: bool + :param export_try_sparse_sk: Use Sparse Accessor if Better, Try using Sparse Accessor if it saves space (optional) + :type export_try_sparse_sk: bool + :param export_try_omit_sparse_sk: Omitting Sparse Accessor if Data is Empty, Omitting Sparse Accessor if data is empty (optional) + :type export_try_omit_sparse_sk: bool + :param export_gpu_instances: GPU Instances, Export using EXT_mesh_gpu_instancing. Limited to children of a given Empty. Multiple materials might be omitted (optional) + :type export_gpu_instances: bool + :param export_action_filter: Filter Actions, Filter Actions to be exported (optional) + :type export_action_filter: bool + :param export_convert_animation_pointer: Convert TRS/Weights to Animation Pointer, Export TRS and weights as Animation Pointer. Using KHR_animation_pointer extension (optional) + :type export_convert_animation_pointer: bool + :param export_nla_strips: Group by NLA Track, When on, multiple actions become part of the same glTF animation if they're pushed onto NLA tracks with the same name. When off, all the currently assigned actions become one glTF animation (optional) + :type export_nla_strips: bool + :param export_original_specular: Export Original PBR Specular, Export original glTF PBR Specular, instead of Blender Principled Shader Specular (optional) + :type export_original_specular: bool + :param will_save_settings: Remember Export Settings, Store glTF export settings in the Blender project (optional) + :type will_save_settings: bool + :param export_hierarchy_full_collections: Full Collection Hierarchy, Export full hierarchy, including intermediate collections (optional) + :type export_hierarchy_full_collections: bool + :param export_extra_animations: Prepare Extra Animations, Export additional animations.This feature is not standard and needs an external extension to be included in the glTF file(optional) + :type export_extra_animations: bool + :param export_loglevel: Log Level, Log Level (in [-inf, inf], optional) + :type export_loglevel: int + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/io_scene_gltf2/__init__.py\:1084 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.extensions.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.extensions.rst new file mode 100644 index 0000000..bdd64a8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.extensions.rst @@ -0,0 +1,360 @@ +Extensions Operators +==================== + +.. module:: bpy.ops.extensions + +.. function:: package_disable() + + Turn off this extension + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3592 `__ + +.. function:: package_install(*, repo_directory="", repo_index=-1, pkg_id="", enable_on_install=True, url="", do_legacy_replace=False) + + Download and install the extension + + :param repo_directory: Repo Directory, (optional, never None) + :type repo_directory: str + :param repo_index: Repo Index, (in [-inf, inf], optional) + :type repo_index: int + :param pkg_id: Package ID, (optional, never None) + :type pkg_id: str + :param enable_on_install: Enable on Install, Enable after installing (optional) + :type enable_on_install: bool + :param url: URL, (optional, never None) + :type url: str + :param do_legacy_replace: Do Legacy Replace, (optional) + :type do_legacy_replace: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:1501 `__ + + +.. function:: package_install_files(*, filter_glob="*.zip;*.py", directory="", files=None, filepath="", repo='', enable_on_install=True, target='', overwrite=True, url="") + + Install extensions from files into a locally managed repository + + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :param directory: Directory, (optional, never None) + :type directory: str + :param files: files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param filepath: filepath, (optional, never None) + :type filepath: str + :param repo: User Repository, The user repository to install extensions into (optional) + :type repo: str + :param enable_on_install: Enable on Install, Enable after installing (optional) + :type enable_on_install: bool + :param target: Legacy Target Path, Path to install legacy add-on packages to (optional) + :type target: str + :param overwrite: Legacy Overwrite, Remove existing add-ons with the same ID (optional) + :type overwrite: bool + :param url: URL, (optional, never None) + :type url: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:1501 `__ + + +.. function:: package_install_marked(*, enable_on_install=True) + + Undocumented, consider `contributing `__. + + :param enable_on_install: Enable on Install, Enable after installing (optional) + :type enable_on_install: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:1501 `__ + + +.. function:: package_mark_clear(*, pkg_id="", repo_index=-1) + + Undocumented, consider `contributing `__. + + :param pkg_id: Package ID, (optional, never None) + :type pkg_id: str + :param repo_index: Repo Index, (in [-inf, inf], optional) + :type repo_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3679 `__ + + +.. function:: package_mark_clear_all() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3726 `__ + +.. function:: package_mark_set(*, pkg_id="", repo_index=-1) + + Undocumented, consider `contributing `__. + + :param pkg_id: Package ID, (optional, never None) + :type pkg_id: str + :param repo_index: Repo Index, (in [-inf, inf], optional) + :type repo_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3665 `__ + + +.. function:: package_mark_set_all() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3690 `__ + +.. function:: package_obsolete_marked() + + Zeroes package versions, useful for development - to test upgrading + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3783 `__ + +.. function:: package_show_clear(*, pkg_id="", repo_index=-1) + + Undocumented, consider `contributing `__. + + :param pkg_id: Package ID, (optional, never None) + :type pkg_id: str + :param repo_index: Repo Index, (in [-inf, inf], optional) + :type repo_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3752 `__ + + +.. function:: package_show_set(*, pkg_id="", repo_index=-1) + + Undocumented, consider `contributing `__. + + :param pkg_id: Package ID, (optional, never None) + :type pkg_id: str + :param repo_index: Repo Index, (in [-inf, inf], optional) + :type repo_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3738 `__ + + +.. function:: package_show_settings(*, pkg_id="", repo_index=-1) + + Undocumented, consider `contributing `__. + + :param pkg_id: Package ID, (optional, never None) + :type pkg_id: str + :param repo_index: Repo Index, (in [-inf, inf], optional) + :type repo_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3766 `__ + + +.. function:: package_theme_disable(*, pkg_id="", repo_index=-1) + + Reset to the default theme if this theme is active + + :param pkg_id: Package ID, (optional, never None) + :type pkg_id: str + :param repo_index: Repo Index, (in [-inf, inf], optional) + :type repo_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3620 `__ + + +.. function:: package_theme_enable(*, pkg_id="", repo_index=-1) + + Turn on this theme + + :param pkg_id: Package ID, (optional, never None) + :type pkg_id: str + :param repo_index: Repo Index, (in [-inf, inf], optional) + :type repo_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3606 `__ + + +.. function:: package_uninstall(*, repo_directory="", repo_index=-1, pkg_id="") + + Disable and uninstall the extension + + :param repo_directory: Repo Directory, (optional, never None) + :type repo_directory: str + :param repo_index: Repo Index, (in [-inf, inf], optional) + :type repo_index: int + :param pkg_id: Package ID, (optional, never None) + :type pkg_id: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:1501 `__ + + +.. function:: package_uninstall_marked() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:1501 `__ + +.. function:: package_uninstall_system() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3583 `__ + +.. function:: package_upgrade_all(*, use_active_only=False) + + Upgrade installed extensions to their latest version from remote repositories + + :param use_active_only: Active Only, Only upgrade the active repository (optional) + :type use_active_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:1501 `__ + + +.. function:: repo_enable_from_drop(*, repo_index=-1) + + Undocumented, consider `contributing `__. + + :param repo_index: Repo Index, (in [-inf, inf], optional) + :type repo_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:1834 `__ + + +.. function:: repo_lock_all() + + Lock repositories - to test locking + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3852 `__ + +.. function:: repo_refresh_all(*, use_active_only=False) + + Refresh extension & legacy add-ons, reloading modules & meta-data (similar to restarting) + + :param use_active_only: Active Only, Only refresh the active repository (optional) + :type use_active_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:1743 `__ + + +.. function:: repo_sync(*, repo_directory="", repo_index=-1) + + Undocumented, consider `contributing `__. + + :param repo_directory: Repo Directory, (optional, never None) + :type repo_directory: str + :param repo_index: Repo Index, (in [-inf, inf], optional) + :type repo_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:1501 `__ + + +.. function:: repo_sync_all(*, use_active_only=False) + + Refresh the list of extensions for all the remote repositories + + :param use_active_only: Active Only, Only sync the active repository (optional) + :type use_active_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:1501 `__ + + +.. function:: repo_unlock() + + Remove the repository file-system lock + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:1921 `__ + +.. function:: repo_unlock_all() + + Unlock repositories - to test unlocking + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3878 `__ + +.. function:: status_clear() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3651 `__ + +.. function:: status_clear_errors() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3640 `__ + +.. function:: userpref_allow_online() + + Allow internet access. Blender may access configured online extension repositories. Installed third party add-ons may access the internet for their own functionality + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:4003 `__ + +.. function:: userpref_allow_online_popup() + + Allow internet access. Blender may access configured online extension repositories. Installed third party add-ons may access the internet for their own functionality + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:4017 `__ + +.. function:: userpref_show_for_update() + + Open extensions preferences + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3943 `__ + +.. function:: userpref_show_online() + + Show system preferences "Network" panel to allow online access + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3983 `__ + +.. function:: userpref_tags_set(*, value=False, data_path="") + + Set the value of all tags + + :param value: Value, Enable or disable all tags (optional) + :type value: bool + :param data_path: Data Path, (optional, never None) + :type data_path: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/bl_pkg/bl_extension_ops.py\:3912 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.file.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.file.rst new file mode 100644 index 0000000..0f434b6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.file.rst @@ -0,0 +1,436 @@ +File Operators +============== + +.. module:: bpy.ops.file + +.. function:: autopack_toggle() + + Automatically pack all external files into the .blend file + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: bookmark_add() + + Add a bookmark for the selected/active directory + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: bookmark_cleanup() + + Delete all invalid bookmarks + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: bookmark_delete(*, index=-1) + + Delete selected bookmark + + :param index: Index, (in [-1, 20000], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bookmark_move(*, direction='TOP') + + Move the active bookmark up/down in the list + + :param direction: Direction, Direction to move the active bookmark towards (optional) + + - ``TOP`` + Top -- Top of the list. + - ``UP`` + Up. + - ``DOWN`` + Down. + - ``BOTTOM`` + Bottom -- Bottom of the list. + :type direction: Literal['TOP', 'UP', 'DOWN', 'BOTTOM'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: cancel() + + Cancel file operation + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete() + + Move selected files to the trash or recycle bin + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: directory_new(*, directory="", open=False, confirm=True) + + Create a new directory + + :param directory: Directory, Name of new directory (optional, never None) + :type directory: str + :param open: Open, Open new directory (optional) + :type open: bool + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: edit_directory_path() + + Start editing directory field + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: execute() + + Execute selected file + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: external_operation(*, operation='OPEN') + + Perform external operation on a file or folder + + :param operation: Operation, Operation to perform on the selected file or path (optional) + + - ``OPEN`` + Open -- Open the file. + - ``FOLDER_OPEN`` + Open Folder -- Open the folder. + - ``EDIT`` + Edit -- Edit the file. + - ``NEW`` + New -- Create a new file of this type. + - ``FIND`` + Find File -- Search for files of this type. + - ``SHOW`` + Show -- Show this file. + - ``PLAY`` + Play -- Play this file. + - ``BROWSE`` + Browse -- Browse this file. + - ``PREVIEW`` + Preview -- Preview this file. + - ``PRINT`` + Print -- Print this file. + - ``INSTALL`` + Install -- Install this file. + - ``RUNAS`` + Run As User -- Run as specific user. + - ``PROPERTIES`` + Properties -- Show OS Properties for this item. + - ``FOLDER_FIND`` + Find in Folder -- Search for items in this folder. + - ``CMD`` + Command Prompt Here -- Open a command prompt here. + :type operation: Literal['OPEN', 'FOLDER_OPEN', 'EDIT', 'NEW', 'FIND', 'SHOW', 'PLAY', 'BROWSE', 'PREVIEW', 'PRINT', 'INSTALL', 'RUNAS', 'PROPERTIES', 'FOLDER_FIND', 'CMD'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: filenum(*, increment=1) + + Increment number in filename + + :param increment: Increment, (in [-100, 100], optional) + :type increment: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: filepath_drop(*, filepath="Path") + + Undocumented, consider `contributing `__. + + :param filepath: (optional, never None) + :type filepath: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: find_missing_files(*, find_all=False, directory="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=False, filter_blenlib=False, filemode=9, display_type='DEFAULT', sort_method='') + + Try to find missing external files + + :param find_all: Find All, Find all files in the search path (not just missing) (optional) + :type find_all: bool + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hidedot() + + Toggle hide hidden dot files + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: highlight() + + Highlight selected file(s) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: make_paths_absolute() + + Make all paths to external files absolute + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: make_paths_relative() + + Make all paths to external files relative to current .blend + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: mouse_execute() + + Perform the current execute action for the file under the cursor (e.g. open the file) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: next() + + Move to next folder + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: pack_all() + + Pack all used external files into this .blend + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: pack_libraries() + + Store all data-blocks linked from other .blend files in the current .blend file. Library references are preserved so the linked data-blocks can be unpacked again + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: parent() + + Move to parent directory + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: previous() + + Move to previous folder + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: refresh() + + Refresh the file list + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: rename() + + Rename file or file directory + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: report_missing_files() + + Report all missing external files + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: reset_recent() + + Reset recent files + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select(*, wait_to_deselect_others=False, use_select_on_click=False, mouse_x=0, mouse_y=0, extend=False, fill=False, open=True, deselect_all=False, only_activate_if_selected=False, pass_through=False) + + Handle mouse clicks to select and activate items + + :param wait_to_deselect_others: Wait to Deselect Others, (optional) + :type wait_to_deselect_others: bool + :param use_select_on_click: Act on Click, Instead of selecting on mouse press, wait to see if there's drag event. Otherwise select on mouse release (optional) + :type use_select_on_click: bool + :param mouse_x: Mouse X, (in [-inf, inf], optional) + :type mouse_x: int + :param mouse_y: Mouse Y, (in [-inf, inf], optional) + :type mouse_y: int + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param fill: Fill, Select everything beginning with the last selection (optional) + :type fill: bool + :param open: Open, Open a directory when selecting it (optional) + :type open: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param only_activate_if_selected: Only Activate if Selected, Do not change selection if the item under the cursor is already selected, only activate it (optional) + :type only_activate_if_selected: bool + :param pass_through: Pass Through, Even on successful execution, pass the event on so other operators can execute on it as well (optional) + :type pass_through: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + Select or deselect all files + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_bookmark(*, dir="") + + Select a bookmarked directory + + :param dir: Directory, (optional, never None) + :type dir: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET') + + Activate/select the file(s) contained in the border + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_walk(*, direction='UP', extend=False, fill=False) + + Select/Deselect files by walking through them + + :param direction: Walk Direction, Select/Deselect element in this direction (optional) + :type direction: Literal['UP', 'DOWN', 'LEFT', 'RIGHT'] + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param fill: Fill, Select everything beginning with the last selection (optional) + :type fill: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: smoothscroll() + + Smooth scroll to make editable file visible + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: sort_column_ui_context() + + Change sorting to use column under cursor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: start_filter() + + Start entering filter text + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: unpack_all(*, method='USE_LOCAL') + + Unpack all files packed into this .blend to external ones + + :param method: Method, How to unpack (optional) + :type method: Literal['USE_LOCAL', 'WRITE_LOCAL', 'USE_ORIGINAL', 'WRITE_ORIGINAL', 'KEEP', 'REMOVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: unpack_item(*, method='USE_LOCAL', id_name="", id_type=19785) + + Unpack this file to an external file + + :param method: Method, How to unpack (optional) + :type method: Literal['USE_LOCAL', 'WRITE_LOCAL', 'USE_ORIGINAL', 'WRITE_ORIGINAL'] + :param id_name: ID Name, Name of ID block to unpack (optional, never None) + :type id_name: str + :param id_type: ID Type, Identifier type of ID block (in [0, inf], optional) + :type id_type: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: unpack_libraries() + + Restore all packed linked data-blocks to their original locations + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_selected() + + Scroll the selected files into view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.fluid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.fluid.rst new file mode 100644 index 0000000..654eb92 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.fluid.rst @@ -0,0 +1,98 @@ +Fluid Operators +=============== + +.. module:: bpy.ops.fluid + +.. function:: bake_all() + + Bake Entire Fluid Simulation + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: bake_data() + + Bake Fluid Data + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: bake_guides() + + Bake Fluid Guiding + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: bake_mesh() + + Bake Fluid Mesh + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: bake_noise() + + Bake Fluid Noise + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: bake_particles() + + Bake Fluid Particles + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: free_all() + + Free Entire Fluid Simulation + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: free_data() + + Free Fluid Data + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: free_guides() + + Free Fluid Guiding + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: free_mesh() + + Free Fluid Mesh + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: free_noise() + + Free Fluid Noise + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: free_particles() + + Free Fluid Particles + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: pause_bake() + + Pause Bake + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove a Fluid Preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.font.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.font.rst new file mode 100644 index 0000000..11222f7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.font.rst @@ -0,0 +1,290 @@ +Font Operators +============== + +.. module:: bpy.ops.font + +.. function:: case_set(*, case='LOWER') + + Set font case + + :param case: Case, Lower or upper case (optional) + :type case: Literal['LOWER', 'UPPER'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: case_toggle() + + Toggle font case + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: change_character(*, delta=1) + + Change font character code + + :param delta: Delta, Number to increase or decrease character code with (in [-255, 255], optional) + :type delta: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: change_spacing(*, delta=1.0) + + Change font spacing + + :param delta: Delta, Amount to decrease or increase character spacing with (in [-inf, inf], optional) + :type delta: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete(*, type='PREVIOUS_CHARACTER') + + Delete text by cursor position + + :param type: Type, Which part of the text to delete (optional) + :type type: Literal['NEXT_CHARACTER', 'PREVIOUS_CHARACTER', 'NEXT_WORD', 'PREVIOUS_WORD', 'SELECTION', 'NEXT_OR_SELECTION', 'PREVIOUS_OR_SELECTION'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: line_break() + + Insert line break at cursor position + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: move(*, type='LINE_BEGIN') + + Move cursor to position type + + :param type: Type, Where to move cursor to (optional) + :type type: Literal['LINE_BEGIN', 'LINE_END', 'TEXT_BEGIN', 'TEXT_END', 'PREVIOUS_CHARACTER', 'NEXT_CHARACTER', 'PREVIOUS_WORD', 'NEXT_WORD', 'PREVIOUS_LINE', 'NEXT_LINE', 'PREVIOUS_PAGE', 'NEXT_PAGE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: move_select(*, type='LINE_BEGIN') + + Move the cursor while selecting + + :param type: Type, Where to move cursor to, to make a selection (optional) + :type type: Literal['LINE_BEGIN', 'LINE_END', 'TEXT_BEGIN', 'TEXT_END', 'PREVIOUS_CHARACTER', 'NEXT_CHARACTER', 'PREVIOUS_WORD', 'NEXT_WORD', 'PREVIOUS_LINE', 'NEXT_LINE', 'PREVIOUS_PAGE', 'NEXT_PAGE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: open(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=True, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, display_type='THUMBNAIL', sort_method='') + + Load a new font from a file + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all() + + Select all text + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_word() + + Select word under cursor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: selection_set() + + Set cursor selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: style_set(*, style='BOLD', clear=False) + + Set font style + + :param style: Style, Style to set selection to (optional) + :type style: Literal['BOLD', 'ITALIC', 'UNDERLINE', 'SMALL_CAPS'] + :param clear: Clear, Clear style rather than setting it (optional) + :type clear: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: style_toggle(*, style='BOLD') + + Toggle font style + + :param style: Style, Style to set selection to (optional) + :type style: Literal['BOLD', 'ITALIC', 'UNDERLINE', 'SMALL_CAPS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: text_copy() + + Copy selected text to clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: text_cut() + + Cut selected text to clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: text_insert(*, text="", accent=False) + + Insert text at cursor position + + :param text: Text, Text to insert at the cursor position (optional, never None) + :type text: str + :param accent: Accent Mode, Next typed character will strike through previous, for special character input (optional) + :type accent: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: text_insert_unicode() + + Insert Unicode Character + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: text_paste(*, selection=False) + + Paste text from clipboard + + :param selection: Selection, Paste text selected elsewhere rather than copied (X11/Wayland only) (optional) + :type selection: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: text_paste_from_file(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=True, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, display_type='DEFAULT', sort_method='') + + Paste contents from file + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: textbox_add() + + Add a new text box + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: textbox_remove(*, index=0) + + Remove the text box + + :param index: Index, The current text box (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: unlink() + + Unlink active font data-block + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.geometry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.geometry.rst new file mode 100644 index 0000000..bd13247 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.geometry.rst @@ -0,0 +1,93 @@ +Geometry Operators +================== + +.. module:: bpy.ops.geometry + +.. function:: attribute_add(*, name="", domain='POINT', data_type='FLOAT') + + Add attribute to geometry + + :param name: Name, Name of new attribute (optional, never None) + :type name: str + :param domain: Domain, Type of element that attribute is stored on (optional) + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :param data_type: Data Type, Type of data stored in attribute (optional) + :type data_type: Literal[:ref:`rna_enum_attribute_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: attribute_convert(*, mode='GENERIC', domain='POINT', data_type='FLOAT') + + Change how the attribute is stored + + :param mode: Mode, (optional) + :type mode: Literal['GENERIC', 'VERTEX_GROUP'] + :param domain: Domain, Which geometry element to move the attribute to (optional) + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :param data_type: Data Type, (optional) + :type data_type: Literal[:ref:`rna_enum_attribute_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: attribute_remove() + + Remove attribute from geometry + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: color_attribute_add(*, name="", domain='POINT', data_type='FLOAT_COLOR', color=(0.0, 0.0, 0.0, 1.0)) + + Add color attribute to geometry + + :param name: Name, Name of new color attribute (optional, never None) + :type name: str + :param domain: Domain, Type of element that attribute is stored on (optional) + :type domain: Literal[:ref:`rna_enum_color_attribute_domain_items`] + :param data_type: Data Type, Type of data stored in attribute (optional) + :type data_type: Literal[:ref:`rna_enum_color_attribute_type_items`] + :param color: Color, Default fill color (array of 4 items, in [0, inf], optional) + :type color: Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: color_attribute_convert(*, domain='POINT', data_type='FLOAT_COLOR') + + Change how the color attribute is stored + + :param domain: Domain, Type of element that attribute is stored on (optional) + :type domain: Literal[:ref:`rna_enum_color_attribute_domain_items`] + :param data_type: Data Type, Type of data stored in attribute (optional) + :type data_type: Literal[:ref:`rna_enum_color_attribute_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: color_attribute_duplicate() + + Duplicate color attribute + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: color_attribute_remove() + + Remove color attribute from geometry + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: color_attribute_render_set(*, name="Color") + + Set default color attribute used for rendering + + :param name: Name, Name of color attribute (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: geometry_randomization(*, value=False) + + Toggle geometry randomization for debugging purposes + + :param value: Value, Randomize the order of geometry elements (e.g. vertices or edges) after some operations where there are no guarantees about the order. This avoids accidentally depending on something that may change in the future (optional) + :type value: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.gizmogroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.gizmogroup.rst new file mode 100644 index 0000000..52bb74f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.gizmogroup.rst @@ -0,0 +1,28 @@ +Gizmogroup Operators +==================== + +.. module:: bpy.ops.gizmogroup + +.. function:: gizmo_select(*, extend=False, deselect=False, toggle=False, deselect_all=False, select_passthrough=False) + + Select the currently highlighted gizmo + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param deselect: Deselect, Remove from selection (optional) + :type deselect: bool + :param toggle: Toggle Selection, Toggle the selection (optional) + :type toggle: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param select_passthrough: Only Select Unselected, Ignore the select action when the element is already selected (optional) + :type select_passthrough: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: gizmo_tweak() + + Tweak the active gizmo + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.gpencil.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.gpencil.rst new file mode 100644 index 0000000..e0fef9f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.gpencil.rst @@ -0,0 +1,98 @@ +Gpencil Operators +================= + +.. module:: bpy.ops.gpencil + +.. function:: annotate(*, mode='DRAW', arrowstyle_start='NONE', arrowstyle_end='NONE', use_stabilizer=False, stabilizer_factor=0.75, stabilizer_radius=35, stroke=None, wait_for_input=True) + + Make annotations on the active data + + :param mode: Mode, Way to interpret mouse movements (optional) + + - ``DRAW`` + Draw Freehand -- Draw freehand stroke(s). + - ``DRAW_STRAIGHT`` + Draw Straight Lines -- Draw straight line segment(s). + - ``DRAW_POLY`` + Draw Poly Line -- Click to place endpoints of straight line segments (connected). + - ``ERASER`` + Eraser -- Erase Annotation strokes. + :type mode: Literal['DRAW', 'DRAW_STRAIGHT', 'DRAW_POLY', 'ERASER'] + :param arrowstyle_start: Start Arrow Style, Stroke start style (optional) + + - ``NONE`` + None -- Don't use any arrow/style in corner. + - ``ARROW`` + Arrow -- Use closed arrow style. + - ``ARROW_OPEN`` + Open Arrow -- Use open arrow style. + - ``ARROW_OPEN_INVERTED`` + Segment -- Use perpendicular segment style. + - ``DIAMOND`` + Square -- Use square style. + :type arrowstyle_start: Literal['NONE', 'ARROW', 'ARROW_OPEN', 'ARROW_OPEN_INVERTED', 'DIAMOND'] + :param arrowstyle_end: End Arrow Style, Stroke end style (optional) + + - ``NONE`` + None -- Don't use any arrow/style in corner. + - ``ARROW`` + Arrow -- Use closed arrow style. + - ``ARROW_OPEN`` + Open Arrow -- Use open arrow style. + - ``ARROW_OPEN_INVERTED`` + Segment -- Use perpendicular segment style. + - ``DIAMOND`` + Square -- Use square style. + :type arrowstyle_end: Literal['NONE', 'ARROW', 'ARROW_OPEN', 'ARROW_OPEN_INVERTED', 'DIAMOND'] + :param use_stabilizer: Stabilize Stroke, Helper to draw smooth and clean lines. Press Shift for an invert effect (even if this option is not active) (optional) + :type use_stabilizer: bool + :param stabilizer_factor: Stabilizer Stroke Factor, Higher values give a smoother stroke (in [0, 1], optional) + :type stabilizer_factor: float + :param stabilizer_radius: Stabilizer Stroke Radius, Minimum distance from last point before stroke continues (in [0, 200], optional) + :type stabilizer_radius: int + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param wait_for_input: Wait for Input, Wait for first click instead of painting immediately (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: annotation_active_frame_delete() + + Delete the active frame for the active Annotation Layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: annotation_add() + + Add new Annotation data-block + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: data_unlink() + + Unlink active Annotation data-block + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: layer_annotation_add() + + Add new Annotation layer or note for the active data-block + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: layer_annotation_move(*, type='UP') + + Move the active Annotation layer up/down in the list + + :param type: Type, (optional) + :type type: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_annotation_remove() + + Remove active Annotation layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.graph.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.graph.rst new file mode 100644 index 0000000..adceade --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.graph.rst @@ -0,0 +1,827 @@ +Graph Operators +=============== + +.. module:: bpy.ops.graph + +.. function:: bake_keys() + + Add keyframes on every frame between the selected keyframes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: blend_offset(*, factor=0.0) + + Shift selected keys to the value of the neighboring keys as a block + + :param factor: Offset Factor, Control which key to offset towards and how far (in [-inf, inf], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: blend_to_default(*, factor=0.0) + + Blend selected keys to their default value from their current position + + :param factor: Factor, How much to blend to the default value (in [-inf, inf], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: blend_to_ease(*, factor=0.0) + + Blends keyframes from current state to an ease-in or ease-out curve + + :param factor: Blend, Favor either original data or ease curve (in [-inf, inf], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: blend_to_neighbor(*, factor=0.0) + + Blend selected keyframes to their left or right neighbor + + :param factor: Blend, The blend factor with 0 being the current frame (in [-inf, inf], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: breakdown(*, factor=0.0) + + Move selected keyframes to an inbetween position relative to adjacent keys + + :param factor: Factor, Favor either the left or the right key (in [-inf, inf], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: butterworth_smooth(*, cutoff_frequency=3.0, filter_order=4, samples_per_frame=1, blend=1.0, blend_in_out=1) + + Smooth an F-Curve while maintaining the general shape of the curve + + :param cutoff_frequency: Frequency Cutoff (Hz), Lower values give a smoother curve (in [0, inf], optional) + :type cutoff_frequency: float + :param filter_order: Filter Order, Higher values produce a harder frequency cutoff (in [1, 32], optional) + :type filter_order: int + :param samples_per_frame: Samples per Frame, How many samples to calculate per frame, helps with subframe data (in [1, 64], optional) + :type samples_per_frame: int + :param blend: Blend, How much to blend to the smoothed curve (in [0, inf], optional) + :type blend: float + :param blend_in_out: Blend In/Out, Linearly blend the smooth data to the border frames of the selection (in [0, inf], optional) + :type blend_in_out: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clean(*, threshold=0.001, channels=False) + + Simplify F-Curves by removing closely spaced keyframes + + :param threshold: Threshold, (in [0, inf], optional) + :type threshold: float + :param channels: Channels, (optional) + :type channels: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: click_insert(*, frame=1.0, value=1.0, extend=False) + + Insert new keyframe at the cursor position for the active F-Curve + + :param frame: Frame Number, Frame to insert keyframe on (in [-inf, inf], optional) + :type frame: float + :param value: Value, Value for keyframe on (in [-inf, inf], optional) + :type value: float + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clickselect(*, wait_to_deselect_others=False, use_select_on_click=False, mouse_x=0, mouse_y=0, extend=False, deselect_all=False, column=False, curves=False) + + Select keyframes by clicking on them + + :param wait_to_deselect_others: Wait to Deselect Others, (optional) + :type wait_to_deselect_others: bool + :param use_select_on_click: Act on Click, Instead of selecting on mouse press, wait to see if there's drag event. Otherwise select on mouse release (optional) + :type use_select_on_click: bool + :param mouse_x: Mouse X, (in [-inf, inf], optional) + :type mouse_x: int + :param mouse_y: Mouse Y, (in [-inf, inf], optional) + :type mouse_y: int + :param extend: Extend Select, Toggle keyframe selection instead of leaving newly selected keyframes only (optional) + :type extend: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param column: Column Select, Select all keyframes that occur on the same frame as the one under the mouse (optional) + :type column: bool + :param curves: Only Curves, Select all the keyframes in the curve (optional) + :type curves: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy() + + Copy selected keyframes to the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: cursor_set(*, frame=0.0, value=0.0) + + Interactively set the current frame and value cursor + + :param frame: Frame, (in [-1.04857e+06, 1.04857e+06], optional) + :type frame: float + :param value: Value, (in [-inf, inf], optional) + :type value: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: decimate(*, mode='RATIO', factor=0.333333, remove_error_margin=0.0) + + Decimate F-Curves by removing keyframes that influence the curve shape the least + + :param mode: Mode, Which mode to use for decimation (optional) + + - ``RATIO`` + Ratio -- Use a percentage to specify how many keyframes you want to remove. + - ``ERROR`` + Error Margin -- Use an error margin to specify how much the curve is allowed to deviate from the original path. + :type mode: Literal['RATIO', 'ERROR'] + :param factor: Factor, The ratio of keyframes to remove (in [0, 1], optional) + :type factor: float + :param remove_error_margin: Max Error Margin, How much the new decimated curve is allowed to deviate from the original (in [0, inf], optional) + :type remove_error_margin: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete(*, confirm=True) + + Remove all selected keyframes + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: driver_delete_invalid() + + Delete all visible drivers considered invalid + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: driver_variables_copy() + + Copy the driver variables of the active driver + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: driver_variables_paste(*, replace=False) + + Add copied driver variables to the active driver + + :param replace: Replace Existing, Replace existing driver variables, instead of just appending to the end of the existing list (optional) + :type replace: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate(*, mode='TRANSLATION') + + Make a copy of all selected keyframes + + :param mode: Mode, (optional) + :type mode: Literal[:ref:`rna_enum_transform_mode_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_move(*, GRAPH_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Make a copy of all selected keyframes and move them + + :param GRAPH_OT_duplicate: Duplicate Keyframes, Make a copy of all selected keyframes (optional, :func:`bpy.ops.graph.duplicate` keyword arguments) + :type GRAPH_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: ease(*, factor=0.0, sharpness=2.0) + + Align keyframes on a ease-in or ease-out curve + + :param factor: Curve Bend, Defines if the keys should be aligned on an ease-in or ease-out curve (in [-inf, inf], optional) + :type factor: float + :param sharpness: Sharpness, Higher values make the change more abrupt (in [0.001, inf], optional) + :type sharpness: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: easing_type(*, type='AUTO') + + Set easing type for the F-Curve segments starting from the selected keyframes + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_beztriple_interpolation_easing_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: equalize_handles(*, side='LEFT', handle_length=5.0, flatten=False) + + Ensure selected keyframes' handles have equal length, optionally making them horizontal. Automatic, Automatic Clamped, or Vector handle types will be converted to Aligned + + :param side: Side, Side of the keyframes' Bézier handles to affect (optional) + + - ``LEFT`` + Left -- Equalize selected keyframes' left handles. + - ``RIGHT`` + Right -- Equalize selected keyframes' right handles. + - ``BOTH`` + Both -- Equalize both of a keyframe's handles. + :type side: Literal['LEFT', 'RIGHT', 'BOTH'] + :param handle_length: Handle Length, Length to make selected keyframes' Bézier handles (in [0.1, inf], optional) + :type handle_length: float + :param flatten: Flatten, Make the values of the selected keyframes' handles the same as their respective keyframes (optional) + :type flatten: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: euler_filter() + + Fix large jumps and flips in the selected Euler Rotation F-Curves arising from rotation values being clipped when baking physics + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: extrapolation_type(*, type='CONSTANT') + + Set extrapolation mode for selected F-Curves + + :param type: Type, (optional) + + - ``CONSTANT`` + Constant Extrapolation -- Values on endpoint keyframes are held. + - ``LINEAR`` + Linear Extrapolation -- Straight-line slope of end segments are extended past the endpoint keyframes. + - ``MAKE_CYCLIC`` + Make Cyclic (F-Modifier) -- Add Cycles F-Modifier if one does not exist already. + - ``CLEAR_CYCLIC`` + Clear Cyclic (F-Modifier) -- Remove Cycles F-Modifier if not needed anymore. + :type type: Literal['CONSTANT', 'LINEAR', 'MAKE_CYCLIC', 'CLEAR_CYCLIC'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: fmodifier_add(*, type='NULL', only_active=False) + + Add F-Modifier to the active/selected F-Curves + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_fmodifier_type_items`] + :param only_active: Only Active, Only add F-Modifier to active F-Curve (optional) + :type only_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: fmodifier_copy() + + Copy the F-Modifier(s) of the active F-Curve + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: fmodifier_paste(*, only_active=False, replace=False) + + Add copied F-Modifiers to the selected F-Curves + + :param only_active: Only Active, Only paste F-Modifiers on active F-Curve (optional) + :type only_active: bool + :param replace: Replace Existing, Replace existing F-Modifiers, instead of just appending to the end of the existing list (optional) + :type replace: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: frame_jump() + + Place the cursor on the midpoint of selected keyframes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: gaussian_smooth(*, factor=1.0, sigma=0.33, filter_width=6) + + Smooth the curve using a Gaussian filter + + :param factor: Factor, How much to blend to the default value (in [0, inf], optional) + :type factor: float + :param sigma: Sigma, The shape of the gaussian distribution, lower values make it sharper (in [0.001, inf], optional) + :type sigma: float + :param filter_width: Filter Width, How far to each side the operator will average the key values (in [1, 64], optional) + :type filter_width: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: ghost_curves_clear() + + Clear F-Curve snapshots (Ghosts) for active Graph Editor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: ghost_curves_create() + + Create snapshot (Ghosts) of selected F-Curves as background aid for active Graph Editor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: handle_type(*, type='FREE') + + Set type of handle for selected keyframes + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_keyframe_handle_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide(*, unselected=False) + + Hide selected curves from Graph Editor view + + :param unselected: Unselected, Hide unselected rather than selected curves (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: interpolation_type(*, type='CONSTANT') + + Set interpolation mode for the F-Curve segments starting from the selected keyframes + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_beztriple_interpolation_mode_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_insert(*, type='ALL') + + Insert keyframes for the specified channels + + :param type: Type, (optional) + + - ``ALL`` + All Channels -- Insert a keyframe on all visible and editable F-Curves using each curve's current value. + - ``SEL`` + Only Selected Channels -- Insert a keyframe on selected F-Curves using each curve's current value. + - ``ACTIVE`` + Only Active F-Curve -- Insert a keyframe on the active F-Curve using the curve's current value. + - ``CURSOR_ACTIVE`` + Active Channels at Cursor -- Insert a keyframe for the active F-Curve at the cursor point. + - ``CURSOR_SEL`` + Selected Channels at Cursor -- Insert a keyframe for selected F-Curves at the cursor point. + :type type: Literal['ALL', 'SEL', 'ACTIVE', 'CURSOR_ACTIVE', 'CURSOR_SEL'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyframe_jump(*, next=True) + + Jump to previous/next keyframe + + :param next: Next Keyframe, (optional) + :type next: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keys_to_samples() + + Convert selected channels to an uneditable set of samples to save storage space + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: match_slope(*, factor=0.0) + + Blend selected keys to the slope of neighboring ones + + :param factor: Factor, Defines which keys to use as slope and how much to blend towards them (in [-inf, inf], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mirror(*, type='CFRA') + + Flip selected keyframes over the selected mirror line + + :param type: Type, (optional) + + - ``CFRA`` + By Times Over Current Frame -- Flip times of selected keyframes using the current frame as the mirror line. + - ``VALUE`` + By Values Over Cursor Value -- Flip values of selected keyframes using the cursor value (Y/Horizontal component) as the mirror line. + - ``YAXIS`` + By Times Over Zero Time -- Flip times of selected keyframes, effectively reversing the order they appear in. + - ``XAXIS`` + By Values Over Zero Value -- Flip values of selected keyframes (i.e. negative values become positive, and vice versa). + - ``MARKER`` + By Times Over First Selected Marker -- Flip times of selected keyframes using the first selected marker as the reference point. + :type type: Literal['CFRA', 'VALUE', 'YAXIS', 'XAXIS', 'MARKER'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paste(*, offset='START', value_offset='NONE', merge='MIX', flipped=False) + + Paste keyframes from the internal clipboard for the selected channels, starting on the current frame + + :param offset: Frame Offset, Paste time offset of keys (optional) + :type offset: Literal[:ref:`rna_enum_keyframe_paste_offset_items`] + :param value_offset: Value Offset, Paste keys with a value offset (optional) + :type value_offset: Literal[:ref:`rna_enum_keyframe_paste_offset_value_items`] + :param merge: Type, Method of merging pasted keys and existing (optional) + :type merge: Literal[:ref:`rna_enum_keyframe_paste_merge_items`] + :param flipped: Flipped, Paste keyframes from mirrored bones if they exist (optional) + :type flipped: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: previewrange_set() + + Set Preview Range based on range of selected keyframes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: push_pull(*, factor=1.0) + + Exaggerate or minimize the value of the selected keys + + :param factor: Factor, Control how far to push or pull the keys (in [-inf, inf], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reveal(*, select=True) + + Make previously hidden curves visible again in Graph Editor view + + :param select: Select, (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: samples_to_keys() + + Convert selected channels from samples to keyframes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: scale_average(*, factor=1.0) + + Scale selected key values by their combined average + + :param factor: Scale Factor, The scale factor applied to the curve segments (in [-inf, inf], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scale_from_neighbor(*, factor=0.0, anchor='LEFT') + + Increase or decrease the value of selected keys in relationship to the neighboring one + + :param factor: Factor, The factor to scale keys with (in [-inf, inf], optional) + :type factor: float + :param anchor: Reference Key, Which end of the segment to use as a reference to scale from (optional) + :type anchor: Literal['LEFT', 'RIGHT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + Toggle selection of all keyframes + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, axis_range=False, include_handles=True, tweak=False, use_curve_selection=True, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET') + + Select all keyframes within the specified region + + :param axis_range: Axis Range, (optional) + :type axis_range: bool + :param include_handles: Include Handles, Are handles tested individually against the selection criteria, independently from their keys. When unchecked, handles are (de)selected in unison with their keys (optional) + :type include_handles: bool + :param tweak: Tweak, Operator has been activated using a click-drag event (optional) + :type tweak: bool + :param use_curve_selection: Select Curves, Allow selecting all the keyframes of a curve by selecting the calculated F-curve (optional) + :type use_curve_selection: bool + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_circle(*, x=0, y=0, radius=25, wait_for_input=True, mode='SET', include_handles=True, use_curve_selection=True) + + Select keyframe points using circle selection + + :param x: X, (in [-inf, inf], optional) + :type x: int + :param y: Y, (in [-inf, inf], optional) + :type y: int + :param radius: Radius, (in [1, inf], optional) + :type radius: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :param include_handles: Include Handles, Are handles tested individually against the selection criteria, independently from their keys. When unchecked, handles are (de)selected in unison with their keys (optional) + :type include_handles: bool + :param use_curve_selection: Select Curves, Allow selecting all the keyframes of a curve by selecting the curve itself (optional) + :type use_curve_selection: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_column(*, mode='KEYS') + + Select all keyframes on the specified frame(s) + + :param mode: Mode, (optional) + :type mode: Literal['KEYS', 'CFRA', 'MARKERS_COLUMN', 'MARKERS_BETWEEN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_key_handles(*, left_handle_action='SELECT', right_handle_action='SELECT', key_action='KEEP') + + For selected keyframes, select/deselect any combination of the key itself and its handles + + :param left_handle_action: Left Handle, Effect on the left handle (optional) + + - ``SELECT`` + Select. + - ``DESELECT`` + Deselect. + - ``KEEP`` + Keep -- Leave as is. + :type left_handle_action: Literal['SELECT', 'DESELECT', 'KEEP'] + :param right_handle_action: Right Handle, Effect on the right handle (optional) + + - ``SELECT`` + Select. + - ``DESELECT`` + Deselect. + - ``KEEP`` + Keep -- Leave as is. + :type right_handle_action: Literal['SELECT', 'DESELECT', 'KEEP'] + :param key_action: Key, Effect on the key itself (optional) + + - ``SELECT`` + Select. + - ``DESELECT`` + Deselect. + - ``KEEP`` + Keep -- Leave as is. + :type key_action: Literal['SELECT', 'DESELECT', 'KEEP'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_lasso(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, mode='SET', include_handles=True, use_curve_selection=True) + + Select keyframe points using lasso selection + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :param include_handles: Include Handles, Are handles tested individually against the selection criteria, independently from their keys. When unchecked, handles are (de)selected in unison with their keys (optional) + :type include_handles: bool + :param use_curve_selection: Select Curves, Allow selecting all the keyframes of a curve by selecting the curve itself (optional) + :type use_curve_selection: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_leftright(*, mode='CHECK', extend=False) + + Select keyframes to the left or the right of the current frame + + :param mode: Mode, (optional) + :type mode: Literal['CHECK', 'LEFT', 'RIGHT'] + :param extend: Extend Select, (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_less() + + Deselect keyframes on ends of selection islands + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked() + + Select keyframes occurring in the same F-Curves as selected ones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_more() + + Select keyframes beside already selected ones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shear(*, factor=0.0, direction='FROM_LEFT') + + Affect the value of the keys linearly, keeping the same relationship between them using either the left or the right key as reference + + :param factor: Shear Factor, The amount of shear to apply (in [-inf, inf], optional) + :type factor: float + :param direction: Direction, Which end of the segment to use as a reference to shear from (optional) + + - ``FROM_LEFT`` + From Left -- Shear the keys using the left key as reference. + - ``FROM_RIGHT`` + From Right -- Shear the keys using the right key as reference. + :type direction: Literal['FROM_LEFT', 'FROM_RIGHT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: smooth() + + Apply weighted moving means to make selected F-Curves less bumpy + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: snap(*, type='CFRA') + + Snap selected keyframes to the chosen times/values + + :param type: Type, (optional) + + - ``CFRA`` + Selection to Current Frame -- Snap selected keyframes to the current frame. + - ``VALUE`` + Selection to Cursor Value -- Set values of selected keyframes to the cursor value (Y/Horizontal component). + - ``NEAREST_FRAME`` + Selection to Nearest Frame -- Snap selected keyframes to the nearest (whole) frame (use to fix accidental subframe offsets). + - ``NEAREST_SECOND`` + Selection to Nearest Second -- Snap selected keyframes to the nearest second. + - ``NEAREST_MARKER`` + Selection to Nearest Marker -- Snap selected keyframes to the nearest marker. + - ``HORIZONTAL`` + Flatten Handles -- Flatten handles for a smoother transition. + :type type: Literal['CFRA', 'VALUE', 'NEAREST_FRAME', 'NEAREST_SECOND', 'NEAREST_MARKER', 'HORIZONTAL'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: snap_cursor_value() + + Place the cursor value on the average value of selected keyframes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: sound_to_samples(*, filepath="", check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=True, filter_python=False, filter_font=False, filter_sound=True, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='', low=0.0, high=100000.0, attack=0.005, release=0.2, threshold=0.0, use_accumulate=False, use_additive=False, use_square=False, sthreshold=0.1) + + Bakes a sound wave to samples on selected channels + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param low: Lowest Frequency, Cutoff frequency of a high-pass filter that is applied to the audio data (in [0, 100000], optional) + :type low: float + :param high: Highest Frequency, Cutoff frequency of a low-pass filter that is applied to the audio data (in [0, 100000], optional) + :type high: float + :param attack: Attack Time, Value for the envelope calculation that tells how fast the envelope can rise (the lower the value the steeper it can rise) (in [0, 2], optional) + :type attack: float + :param release: Release Time, Value for the envelope calculation that tells how fast the envelope can fall (the lower the value the steeper it can fall) (in [0, 5], optional) + :type release: float + :param threshold: Threshold, Minimum amplitude value needed to influence the envelope (in [0, 1], optional) + :type threshold: float + :param use_accumulate: Accumulate, Only the positive differences of the envelope amplitudes are summarized to produce the output (optional) + :type use_accumulate: bool + :param use_additive: Additive, The amplitudes of the envelope are summarized (or, when Accumulate is enabled, both positive and negative differences are accumulated) (optional) + :type use_additive: bool + :param use_square: Square, The output is a square curve (negative values always result in -1, and positive ones in 1) (optional) + :type use_square: bool + :param sthreshold: Square Threshold, Square only: all values with an absolute amplitude lower than that result in 0 (in [0, 1], optional) + :type sthreshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: time_offset(*, frame_offset=0.0) + + Shifts the value of selected keys in time + + :param frame_offset: Frame Offset, How far in frames to offset the animation (in [-inf, inf], optional) + :type frame_offset: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_all(*, include_handles=True) + + Reset viewable area to show full keyframe range + + :param include_handles: Include Handles, Include handles of keyframes when calculating extents (optional) + :type include_handles: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_frame() + + Move the view to the current frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_selected(*, include_handles=True) + + Reset viewable area to show selected keyframe range + + :param include_handles: Include Handles, Include handles of keyframes when calculating extents (optional) + :type include_handles: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.grease_pencil.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.grease_pencil.rst new file mode 100644 index 0000000..24529d8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.grease_pencil.rst @@ -0,0 +1,1437 @@ +Grease Pencil Operators +======================= + +.. module:: bpy.ops.grease_pencil + +.. function:: active_frame_delete(*, all=False) + + Delete the active Grease Pencil frame(s) + + :param all: Delete all, Delete active keyframes of all layers (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bake_grease_pencil_animation(*, frame_start=1, frame_end=250, step=1, only_selected=False, frame_target=1, project_type='KEEP') + + Bake Grease Pencil object transform to Grease Pencil keyframes + + :param frame_start: Start Frame, The start frame (in [1, 100000], optional) + :type frame_start: int + :param frame_end: End Frame, The end frame of animation (in [1, 100000], optional) + :type frame_end: int + :param step: Step, Step between generated frames (in [1, 100], optional) + :type step: int + :param only_selected: Only Selected Keyframes, Convert only selected keyframes (optional) + :type only_selected: bool + :param frame_target: Target Frame, Destination frame (in [1, 100000], optional) + :type frame_target: int + :param project_type: Projection Type, (optional) + + - ``KEEP`` + No Reproject. + - ``FRONT`` + Front -- Reproject the strokes using the X-Z plane. + - ``SIDE`` + Side -- Reproject the strokes using the Y-Z plane. + - ``TOP`` + Top -- Reproject the strokes using the X-Y plane. + - ``VIEW`` + View -- Reproject the strokes to end up on the same plane, as if drawn from the current viewpoint using 'Cursor' Stroke Placement. + - ``CURSOR`` + Cursor -- Reproject the strokes using the orientation of 3D cursor. + :type project_type: Literal['KEEP', 'FRONT', 'SIDE', 'TOP', 'VIEW', 'CURSOR'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: brush_stroke(*, stroke=None, mode='NORMAL', brush_toggle='None', pen_flip=False) + + Draw a new stroke in the active Grease Pencil object + + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param mode: Stroke Mode, Action taken when a paint stroke is made (optional) + + - ``NORMAL`` + Regular -- Apply brush normally. + - ``INVERT`` + Invert -- Invert action of brush for duration of stroke. + :type mode: Literal['NORMAL', 'INVERT'] + :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke (optional) + + - ``None`` + None -- Apply brush normally. + - ``SMOOTH`` + Smooth -- Switch to smooth brush for duration of stroke. + - ``ERASE`` + Erase -- Switch to erase brush for duration of stroke. + - ``MASK`` + Mask -- Switch to mask brush for duration of stroke. + :type brush_toggle: Literal['None', 'SMOOTH', 'ERASE', 'MASK'] + :param pen_flip: Pen Flip, Whether a tablet's eraser mode is being used (optional) + :type pen_flip: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: caps_set(*, type='ROUND') + + Change curve caps mode (rounded or flat) + + :param type: Type, (optional) + + - ``ROUND`` + Rounded -- Set as default rounded. + - ``FLAT`` + Flat. + - ``START`` + Toggle Start. + - ``END`` + Toggle End. + :type type: Literal['ROUND', 'FLAT', 'START', 'END'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clean_loose(*, limit=1) + + Remove loose points + + :param limit: Limit, Number of points to consider stroke as loose (in [1, inf], optional) + :type limit: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: convert_curve_type(*, type='POLY', threshold=0.01) + + Convert type of selected curves + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_curves_type_items`] + :param threshold: Threshold, The distance that the resulting points are allowed to be within (in [0, 100], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy() + + Copy the selected Grease Pencil points or strokes to the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: cyclical_set(*, type='TOGGLE', subdivide_cyclic_segment=True) + + Close or open the selected stroke adding a segment from last to first point + + :param type: Type, (optional) + :type type: Literal['CLOSE', 'OPEN', 'TOGGLE'] + :param subdivide_cyclic_segment: Match Point Density, Add point in the new segment to keep the same density (optional) + :type subdivide_cyclic_segment: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete(*, mode='ALL') + + Delete selected strokes or points + + :param mode: Mode, The kind of strokes or fills to delete (optional) + + - ``ALL`` + All -- Delete all selected strokes or points. + - ``STROKES`` + Only Strokes -- Delete only strokes and not fills. + - ``FILLS`` + Only Fills -- Delete only fills and not strokes. + :type mode: Literal['ALL', 'STROKES', 'FILLS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete_breakdown() + + Remove breakdown frames generated by interpolating between two Grease Pencil frames + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete_frame(*, type='ACTIVE_FRAME') + + Delete Grease Pencil Frame(s) + + :param type: Type, Method used for deleting Grease Pencil frames (optional) + + - ``ACTIVE_FRAME`` + Active Frame -- Deletes current frame in the active layer. + - ``ALL_FRAMES`` + All Active Frames -- Delete active frames for all layers. + :type type: Literal['ACTIVE_FRAME', 'ALL_FRAMES'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dissolve(*, type='POINTS') + + Delete selected points without splitting strokes + + :param type: Type, Method used for dissolving stroke points (optional) + + - ``POINTS`` + Dissolve -- Dissolve selected points. + - ``BETWEEN`` + Dissolve Between -- Dissolve points between selected points. + - ``UNSELECT`` + Dissolve Unselect -- Dissolve all unselected points. + :type type: Literal['POINTS', 'BETWEEN', 'UNSELECT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate() + + Duplicate the selected points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate_move(*, GREASE_PENCIL_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Make copies of the selected Grease Pencil strokes and move them + + :param GREASE_PENCIL_OT_duplicate: Duplicate, Duplicate the selected points (optional, :func:`bpy.ops.grease_pencil.duplicate` keyword arguments) + :type GREASE_PENCIL_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: erase_box(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True) + + Erase points in the box region + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: erase_lasso(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35) + + Erase points in the lasso region + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude() + + Extrude the selected points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: extrude_move(*, GREASE_PENCIL_OT_extrude={}, TRANSFORM_OT_translate={}) + + Extrude selected points and move them + + :param GREASE_PENCIL_OT_extrude: Extrude Stroke Points, Extrude the selected points (optional, :func:`bpy.ops.grease_pencil.extrude` keyword arguments) + :type GREASE_PENCIL_OT_extrude: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: fill(*, invert=False, precision=False) + + Fill with color the shape formed by strokes + + :param invert: Invert, Find boundary of unfilled instead of filled regions (optional) + :type invert: bool + :param precision: Precision, Use precision movement for extension lines (optional) + :type precision: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: frame_clean_duplicate(*, selected=False) + + Remove any keyframe that is a duplicate of the previous one + + :param selected: Selected, Only delete selected keyframes (optional) + :type selected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: frame_duplicate(*, all=False) + + Make a copy of the active Grease Pencil frame(s) + + :param all: Duplicate all, Duplicate active keyframes of all layer (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: insert_blank_frame(*, all_layers=False, duration=0) + + Insert a blank frame on the current scene frame + + :param all_layers: All Layers, Insert a blank frame in all editable layers (optional) + :type all_layers: bool + :param duration: Duration, (in [0, 1048574], optional) + :type duration: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: interpolate(*, shift=0.0, layers='ACTIVE', exclude_breakdowns=False, use_selection=False, flip='AUTO', smooth_steps=1, smooth_factor=0.0) + + Interpolate Grease Pencil strokes between frames + + :param shift: Shift, Bias factor for which frame has more influence on the interpolated strokes (in [-1, 1], optional) + :type shift: float + :param layers: Layer, Layers included in the interpolation (optional) + :type layers: Literal['ACTIVE', 'ALL'] + :param exclude_breakdowns: Exclude Breakdowns, Exclude existing Breakdowns keyframes as interpolation extremes (optional) + :type exclude_breakdowns: bool + :param use_selection: Use Selection, Use only selected strokes for interpolating (optional) + :type use_selection: bool + :param flip: Flip Mode, Invert destination stroke to match start and end with source stroke (optional) + :type flip: Literal['NONE', 'FLIP', 'AUTO'] + :param smooth_steps: Iterations, Number of times to smooth newly created strokes (in [1, 3], optional) + :type smooth_steps: int + :param smooth_factor: Smooth, Amount of smoothing to apply to interpolated strokes, to reduce jitter/noise (in [0, 2], optional) + :type smooth_factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: interpolate_sequence(*, step=1, layers='ACTIVE', exclude_breakdowns=False, use_selection=False, flip='AUTO', smooth_steps=1, smooth_factor=0.0, type='LINEAR', easing='EASE_IN', back=1.702, amplitude=0.15, period=0.15) + + Generate 'in-betweens' to smoothly interpolate between Grease Pencil frames + + :param step: Step, Number of frames between generated interpolated frames (in [1, 1048574], optional) + :type step: int + :param layers: Layer, Layers included in the interpolation (optional) + :type layers: Literal['ACTIVE', 'ALL'] + :param exclude_breakdowns: Exclude Breakdowns, Exclude existing Breakdowns keyframes as interpolation extremes (optional) + :type exclude_breakdowns: bool + :param use_selection: Use Selection, Use only selected strokes for interpolating (optional) + :type use_selection: bool + :param flip: Flip Mode, Invert destination stroke to match start and end with source stroke (optional) + :type flip: Literal['NONE', 'FLIP', 'AUTO'] + :param smooth_steps: Iterations, Number of times to smooth newly created strokes (in [1, 3], optional) + :type smooth_steps: int + :param smooth_factor: Smooth, Amount of smoothing to apply to interpolated strokes, to reduce jitter/noise (in [0, 2], optional) + :type smooth_factor: float + :param type: Type, Interpolation method to use the next time 'Interpolate Sequence' is run (optional) + + - ``LINEAR`` + Linear -- Straight-line interpolation between A and B (i.e. no ease in/out). + - ``CUSTOM`` + Custom -- Custom interpolation defined using a curve map. + - ``SINE`` + Sinusoidal -- Sinusoidal easing (weakest, almost linear but with a slight curvature). + - ``QUAD`` + Quadratic -- Quadratic easing. + - ``CUBIC`` + Cubic -- Cubic easing. + - ``QUART`` + Quartic -- Quartic easing. + - ``QUINT`` + Quintic -- Quintic easing. + - ``EXPO`` + Exponential -- Exponential easing (dramatic). + - ``CIRC`` + Circular -- Circular easing (strongest and most dynamic). + - ``BACK`` + Back -- Cubic easing with overshoot and settle. + - ``BOUNCE`` + Bounce -- Exponentially decaying parabolic bounce, like when objects collide. + - ``ELASTIC`` + Elastic -- Exponentially decaying sine wave, like an elastic band. + :type type: Literal['LINEAR', 'CUSTOM', 'SINE', 'QUAD', 'CUBIC', 'QUART', 'QUINT', 'EXPO', 'CIRC', 'BACK', 'BOUNCE', 'ELASTIC'] + :param easing: Easing, Which ends of the segment between the preceding and following Grease Pencil frames easing interpolation is applied to (optional) + :type easing: Literal[:ref:`rna_enum_beztriple_interpolation_easing_items`] + :param back: Back, Amount of overshoot for 'back' easing (in [0, inf], optional) + :type back: float + :param amplitude: Amplitude, Amount to boost elastic bounces for 'elastic' easing (in [0, inf], optional) + :type amplitude: float + :param period: Period, Time between bounces for elastic easing (in [-inf, inf], optional) + :type period: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: join_fills() + + Join selected strokes into one fill to create holes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: join_selection(*, type='JOINSTROKES') + + New stroke from selected points/strokes + + :param type: Type, Defines how the operator will behave on the selection in the active layer (optional) + + - ``JOINSTROKES`` + Join Strokes -- Join the selected strokes into one stroke. + - ``SPLITCOPY`` + Split and Copy -- Copy the selected points to a new stroke. + - ``SPLIT`` + Split -- Split the selected point to a new stroke. + :type type: Literal['JOINSTROKES', 'SPLITCOPY', 'SPLIT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_active(*, layer=0) + + Set the active Grease Pencil layer + + :param layer: Grease Pencil Layer, (in [0, inf], optional) + :type layer: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_add(*, new_layer_name="Layer") + + Add a new Grease Pencil layer in the active object + + :param new_layer_name: Name, Name of the new layer (optional, never None) + :type new_layer_name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_duplicate(*, empty_keyframes=False) + + Make a copy of the active Grease Pencil layer + + :param empty_keyframes: Empty Keyframes, Add Empty Keyframes (optional) + :type empty_keyframes: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_duplicate_object(*, only_active=True, mode='ALL') + + Make a copy of the active Grease Pencil layer to selected object + + :param only_active: Only Active, Copy only active Layer, uncheck to append all layers (optional) + :type only_active: bool + :param mode: Mode, (optional) + :type mode: Literal['ALL', 'ACTIVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_group_add(*, new_layer_group_name="") + + Add a new Grease Pencil layer group in the active object + + :param new_layer_group_name: Name, Name of the new layer group (optional, never None) + :type new_layer_group_name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_group_color_tag(*, color_tag='COLOR1') + + Change layer group icon + + :param color_tag: Color Tag, (optional) + :type color_tag: Literal['NONE', 'COLOR1', 'COLOR2', 'COLOR3', 'COLOR4', 'COLOR5', 'COLOR6', 'COLOR7', 'COLOR8'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_group_remove(*, keep_children=False) + + Remove Grease Pencil layer group in the active object + + :param keep_children: Keep children nodes, Keep the children nodes of the group and only delete the group itself (optional) + :type keep_children: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_hide(*, unselected=False) + + Hide selected/unselected Grease Pencil layers + + :param unselected: Unselected, Hide unselected rather than selected layers (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_isolate(*, affect_visibility=False) + + Make only active layer visible/editable + + :param affect_visibility: Affect Visibility, Also affect the visibility (optional) + :type affect_visibility: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_lock_all(*, lock=True) + + Lock all Grease Pencil layers to prevent them from being accidentally modified + + :param lock: Lock Value, Lock/Unlock all layers (optional) + :type lock: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_mask_add(*, name="") + + Add new layer as masking + + :param name: Layer, Name of the layer (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_mask_remove() + + Remove Layer Mask + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: layer_mask_reorder(*, direction='UP') + + Reorder the active Grease Pencil mask layer up/down in the list + + :param direction: Direction, (optional) + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_merge(*, mode='ACTIVE') + + Combine layers based on the mode into one layer + + :param mode: Mode, (optional) + + - ``ACTIVE`` + Active -- Combine the active layer with the layer just below (if it exists). + - ``GROUP`` + Group -- Combine layers in the active group into a single layer. + - ``ALL`` + All -- Combine all layers into a single layer. + :type mode: Literal['ACTIVE', 'GROUP', 'ALL'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_move(*, direction='UP') + + Move the active Grease Pencil layer or Group + + :param direction: Direction, (optional) + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_remove() + + Remove the active Grease Pencil layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: layer_reveal() + + Show all Grease Pencil layers + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_copy_to_object(*, only_active=True) + + Append Materials of the active Grease Pencil to other object + + :param only_active: Only Active, Append only active material, uncheck to append all materials (optional) + :type only_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: material_hide(*, invert=False) + + Hide active/inactive Grease Pencil material(s) + + :param invert: Invert, Hide inactive materials instead of the active one (optional) + :type invert: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: material_isolate(*, affect_visibility=False) + + Toggle whether the active material is the only one that is editable and/or visible + + :param affect_visibility: Affect Visibility, In addition to toggling the editability, also affect the visibility (optional) + :type affect_visibility: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: material_lock_all() + + Lock all Grease Pencil materials to prevent them from being accidentally modified + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_lock_unselected() + + Lock any material not used in any selected stroke + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_lock_unused() + + Lock and hide any material not used + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_reveal() + + Unhide all hidden Grease Pencil materials + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_select(*, deselect=False) + + Select/Deselect all Grease Pencil strokes using current material + + :param deselect: Deselect, Unselect strokes (optional) + :type deselect: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: material_unlock_all() + + Unlock all Grease Pencil materials so that they can be edited + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: move_to_layer(*, target_layer_name="", add_new_layer=False) + + Move selected strokes to another layer + + :param target_layer_name: Name, Target Grease Pencil Layer (optional, never None) + :type target_layer_name: str + :param add_new_layer: New Layer, Move selection to a new layer (optional) + :type add_new_layer: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: outline(*, type='VIEW', radius=0.01, offset_factor=-1.0, corner_subdivisions=2) + + Convert selected strokes to perimeter + + :param type: Projection Mode, (optional) + :type type: Literal['VIEW', 'FRONT', 'SIDE', 'TOP', 'CURSOR', 'CAMERA'] + :param radius: Radius, (in [0, 10], optional) + :type radius: float + :param offset_factor: Offset Factor, (in [-1, 1], optional) + :type offset_factor: float + :param corner_subdivisions: Corner Subdivisions, (in [0, 10], optional) + :type corner_subdivisions: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paintmode_toggle(*, back=False) + + Enter/Exit paint mode for Grease Pencil strokes + + :param back: Return to Previous Mode, Return to previous mode (optional) + :type back: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paste(*, type='ACTIVE', paste_back=False, keep_world_transform=False) + + Paste Grease Pencil points or strokes from the internal clipboard to the active layer + + :param type: Type, (optional) + :type type: Literal['ACTIVE', 'LAYER'] + :param paste_back: Paste on Back, Add pasted strokes behind all strokes (optional) + :type paste_back: bool + :param keep_world_transform: Keep World Transform, Keep the world transform of strokes from the clipboard unchanged (optional) + :type keep_world_transform: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: pen(*, extend=False, deselect=False, toggle=False, deselect_all=False, select_passthrough=False, extrude_point=False, extrude_handle='VECTOR', delete_point=False, insert_point=False, move_segment=False, select_point=False, move_point=False, cycle_handle_type=False, size=0.01) + + Construct and edit splines + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param deselect: Deselect, Remove from selection (optional) + :type deselect: bool + :param toggle: Toggle Selection, Toggle the selection (optional) + :type toggle: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param select_passthrough: Only Select Unselected, Ignore the select action when the element is already selected (optional) + :type select_passthrough: bool + :param extrude_point: Extrude Point, Add a point connected to the last selected point (optional) + :type extrude_point: bool + :param extrude_handle: Extrude Handle Type, Type of the extruded handle (optional) + :type extrude_handle: Literal['AUTO', 'VECTOR'] + :param delete_point: Delete Point, Delete an existing point (optional) + :type delete_point: bool + :param insert_point: Insert Point, Insert Point into a curve segment (optional) + :type insert_point: bool + :param move_segment: Move Segment, Move an existing curve segment (optional) + :type move_segment: bool + :param select_point: Select Point, Select a point or its handles (optional) + :type select_point: bool + :param move_point: Move Point, Move a point or its handles (optional) + :type move_point: bool + :param cycle_handle_type: Cycle Handle Type, Cycle between all four handle types (optional) + :type cycle_handle_type: bool + :param size: Size, Diameter of new points (in [0, inf], optional) + :type size: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_arc(*, subdivision=62, type='ARC') + + Create predefined Grease Pencil stroke arcs + + :param subdivision: Subdivisions, Number of subdivisions per segment (in [0, inf], optional) + :type subdivision: int + :param type: Type, Type of shape (optional) + :type type: Literal['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_box(*, subdivision=3, type='BOX') + + Create predefined Grease Pencil stroke boxes + + :param subdivision: Subdivisions, Number of subdivisions per segment (in [0, inf], optional) + :type subdivision: int + :param type: Type, Type of shape (optional) + :type type: Literal['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_circle(*, subdivision=94, type='CIRCLE') + + Create predefined Grease Pencil stroke circles + + :param subdivision: Subdivisions, Number of subdivisions per segment (in [0, inf], optional) + :type subdivision: int + :param type: Type, Type of shape (optional) + :type type: Literal['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_curve(*, subdivision=62, type='CURVE') + + Create predefined Grease Pencil stroke curve shapes + + :param subdivision: Subdivisions, Number of subdivisions per segment (in [0, inf], optional) + :type subdivision: int + :param type: Type, Type of shape (optional) + :type type: Literal['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_line(*, subdivision=6, type='LINE') + + Create predefined Grease Pencil stroke lines + + :param subdivision: Subdivisions, Number of subdivisions per segment (in [0, inf], optional) + :type subdivision: int + :param type: Type, Type of shape (optional) + :type type: Literal['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_polyline(*, subdivision=6, type='POLYLINE') + + Create predefined Grease Pencil stroke polylines + + :param subdivision: Subdivisions, Number of subdivisions per segment (in [0, inf], optional) + :type subdivision: int + :param type: Type, Type of shape (optional) + :type type: Literal['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: relative_layer_mask_add(*, mode='ABOVE') + + Mask active layer with layer above or below + + :param mode: Mode, Which relative layer (above or below) to use as a mask (optional) + :type mode: Literal['ABOVE', 'BELOW'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/grease_pencil.py\:39 `__ + + +.. function:: remove_fill_guides(*, mode='ALL_FRAMES') + + Remove all the strokes that were created from the fill tool as guides + + :param mode: Mode, (optional) + :type mode: Literal['ACTIVE_FRAME', 'ALL_FRAMES'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reorder(*, direction='TOP') + + Change the display order of the selected strokes + + :param direction: Direction, (optional) + :type direction: Literal['TOP', 'UP', 'DOWN', 'BOTTOM'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reproject(*, type='VIEW', keep_original=False, offset=0.0) + + Reproject the selected strokes from the current viewpoint as if they had been newly drawn (e.g. to fix problems from accidental 3D cursor movement or accidental viewport changes, or for matching deforming geometry) + + :param type: Projection Type, (optional) + + - ``FRONT`` + Front -- Reproject the strokes using the X-Z plane. + - ``SIDE`` + Side -- Reproject the strokes using the Y-Z plane. + - ``TOP`` + Top -- Reproject the strokes using the X-Y plane. + - ``VIEW`` + View -- Reproject the strokes to end up on the same plane, as if drawn from the current viewpoint using 'Cursor' Stroke Placement. + - ``SURFACE`` + Surface -- Reproject the strokes on to the scene geometry, as if drawn using 'Surface' placement. + - ``CURSOR`` + Cursor -- Reproject the strokes using the orientation of 3D cursor. + :type type: Literal['FRONT', 'SIDE', 'TOP', 'VIEW', 'SURFACE', 'CURSOR'] + :param keep_original: Keep Original, Keep original strokes and create a copy before reprojecting (optional) + :type keep_original: bool + :param offset: Surface Offset, (in [0, 10], optional) + :type offset: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reset_uvs() + + Reset UV transformation to default values + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: sculpt_paint(*, stroke=None, mode='NORMAL', brush_toggle='None', pen_flip=False) + + Sculpt strokes in the active Grease Pencil object + + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param mode: Stroke Mode, Action taken when a paint stroke is made (optional) + + - ``NORMAL`` + Regular -- Apply brush normally. + - ``INVERT`` + Invert -- Invert action of brush for duration of stroke. + :type mode: Literal['NORMAL', 'INVERT'] + :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke (optional) + + - ``None`` + None -- Apply brush normally. + - ``SMOOTH`` + Smooth -- Switch to smooth brush for duration of stroke. + - ``ERASE`` + Erase -- Switch to erase brush for duration of stroke. + - ``MASK`` + Mask -- Switch to mask brush for duration of stroke. + :type brush_toggle: Literal['None', 'SMOOTH', 'ERASE', 'MASK'] + :param pen_flip: Pen Flip, Whether a tablet's eraser mode is being used (optional) + :type pen_flip: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sculptmode_toggle(*, back=False) + + Enter/Exit sculpt mode for Grease Pencil strokes + + :param back: Return to Previous Mode, Return to previous mode (optional) + :type back: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + (De)select all visible strokes + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_alternate(*, deselect_ends=False) + + Select alternated points in strokes with already selected points + + :param deselect_ends: Deselect Ends, (De)select the first and last point of each stroke (optional) + :type deselect_ends: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_by_stroke_type(*, type='STROKE', deselect=False) + + Select/Deselect all strokes or fills + + :param type: Type, (optional) + :type type: Literal['STROKE', 'FILL'] + :param deselect: Deselect, Unselect strokes (optional) + :type deselect: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_ends(*, amount_start=0, amount_end=1) + + Select end points of strokes + + :param amount_start: Amount Start, Number of points to select from the start (in [0, inf], optional) + :type amount_start: int + :param amount_end: Amount End, Number of points to select from the end (in [0, inf], optional) + :type amount_end: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_fill() + + Select all curves in a fill + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_less() + + Shrink the selection by one point + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked() + + Select all points in curves with any point selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_more() + + Grow the selection by one point + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_random(*, ratio=0.5, seed=0, action='SELECT') + + Selects random points from the current strokes selection + + :param ratio: Ratio, Portion of items to select randomly (in [0, 1], optional) + :type ratio: float + :param seed: Random Seed, Seed for the random number generator (in [0, inf], optional) + :type seed: int + :param action: Action, Selection action to execute (optional) + + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + :type action: Literal['SELECT', 'DESELECT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_similar(*, mode='LAYER', threshold=0.1) + + Select all strokes with similar characteristics + + :param mode: Mode, (optional) + :type mode: Literal['LAYER', 'MATERIAL', 'VERTEX_COLOR', 'RADIUS', 'OPACITY'] + :param threshold: Threshold, (in [0, inf], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: separate(*, mode='SELECTED') + + Separate the selected geometry into a new Grease Pencil object + + :param mode: Mode, (optional) + + - ``SELECTED`` + Selection -- Separate selected geometry. + - ``MATERIAL`` + By Material -- Separate by material. + - ``LAYER`` + By Layer -- Separate by layer. + :type mode: Literal['SELECTED', 'MATERIAL', 'LAYER'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: separate_fills(*, individual=True) + + Separate the selected strokes from current fill + + :param individual: Individual, Create a separate fill for each individual stroke (optional) + :type individual: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_active_material() + + Set the selected stroke material as the active material + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: set_corner_type(*, corner_type='SHARP', miter_angle=0.785398) + + Set the corner type of the selected points + + :param corner_type: Corner Type, (optional) + :type corner_type: Literal['ROUND', 'FLAT', 'SHARP'] + :param miter_angle: Miter Cut Angle, All corners sharper than the Miter angle will be cut flat (in [0, 3.14159], optional) + :type miter_angle: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_curve_resolution(*, resolution=12) + + Set resolution of selected curves + + :param resolution: Resolution, The resolution to use for each curve segment (in [0, 10000], optional) + :type resolution: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_curve_type(*, type='POLY', use_handles=False) + + Set type of selected curves + + :param type: Type, Curve type (optional) + :type type: Literal[:ref:`rna_enum_curves_type_items`] + :param use_handles: Handles, Take handle information into account in the conversion (optional) + :type use_handles: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_handle_type(*, type='AUTO') + + Set the handle type for Bézier curves + + :param type: Type, (optional) + + - ``AUTO`` + Auto -- The location is automatically calculated to be smooth. + - ``VECTOR`` + Vector -- The location is calculated to point to the next/previous control point. + - ``ALIGN`` + Align -- The location is constrained to point in the opposite direction as the other handle. + - ``FREE_ALIGN`` + Free -- The handle can be moved anywhere, and does not influence the point's other handle. + - ``TOGGLE_FREE_ALIGN`` + Toggle Free/Align -- Replace Free handles with Align, and all Align with Free handles. + :type type: Literal['AUTO', 'VECTOR', 'ALIGN', 'FREE_ALIGN', 'TOGGLE_FREE_ALIGN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_material(*, slot='DEFAULT') + + Set active material + + :param slot: Material Slot, (optional) + :type slot: Literal['DEFAULT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_selection_mode(*, mode='POINT') + + Change the selection mode for Grease Pencil strokes + + :param mode: Mode, (optional) + :type mode: Literal[:ref:`rna_enum_grease_pencil_selectmode_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_start_point() + + Select which point is the beginning of the curve + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: set_stroke_type(*, type='STROKE') + + Set the stroke type (stroke, fill, or both) of the selected strokes + + :param type: Type, (optional) + :type type: Literal['STROKE', 'FILL', 'BOTH'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_uniform_opacity(*, opacity_stroke=1.0, opacity_fill=0.5) + + Set all stroke points to same opacity + + :param opacity_stroke: Stroke Opacity, (in [0, 1], optional) + :type opacity_stroke: float + :param opacity_fill: Fill Opacity, (in [0, 1], optional) + :type opacity_fill: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_uniform_thickness(*, thickness=0.1) + + Set all stroke points to same thickness + + :param thickness: Thickness, Thickness (in [0, 1000], optional) + :type thickness: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: snap_cursor_to_selected() + + Snap cursor to center of selected points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: snap_to_cursor(*, use_offset=True) + + Snap selected points/strokes to the cursor + + :param use_offset: With Offset, Offset the entire stroke instead of selected points only (optional) + :type use_offset: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: snap_to_grid() + + Snap selected points to the nearest grid points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: stroke_material_set(*, material="") + + Assign the active material slot to the selected strokes + + :param material: Material, Name of the material (optional, never None) + :type material: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stroke_merge_by_distance(*, threshold=0.001, use_unselected=False) + + Merge points by distance + + :param threshold: Threshold, (in [0, 100], optional) + :type threshold: float + :param use_unselected: Unselected, Use whole stroke, not only selected points (optional) + :type use_unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stroke_reset_vertex_color(*, mode='BOTH') + + Reset vertex color for all or selected strokes + + :param mode: Mode, (optional) + :type mode: Literal['STROKE', 'FILL', 'BOTH'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stroke_simplify(*, factor=0.01, length=0.05, distance=0.01, steps=1, mode='FIXED') + + Simplify selected strokes + + :param factor: Factor, (in [0, 100], optional) + :type factor: float + :param length: Length, (in [0, 100], optional) + :type length: float + :param distance: Distance, (in [0, 100], optional) + :type distance: float + :param steps: Steps, (in [0, 50], optional) + :type steps: int + :param mode: Mode, Method used for simplifying stroke points (optional) + + - ``FIXED`` + Fixed -- Delete alternating vertices in the stroke, except extremes. + - ``ADAPTIVE`` + Adaptive -- Use a Ramer-Douglas-Peucker algorithm to simplify the stroke preserving main shape. + - ``SAMPLE`` + Sample -- Re-sample the stroke with segments of the specified length. + - ``MERGE`` + Merge -- Simplify the stroke by merging vertices closer than a given distance. + :type mode: Literal['FIXED', 'ADAPTIVE', 'SAMPLE', 'MERGE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stroke_smooth(*, iterations=10, factor=1.0, smooth_ends=False, keep_shape=False, smooth_position=True, smooth_radius=True, smooth_opacity=False) + + Smooth selected strokes + + :param iterations: Iterations, (in [1, 100], optional) + :type iterations: int + :param factor: Factor, (in [0, 1], optional) + :type factor: float + :param smooth_ends: Smooth Endpoints, (optional) + :type smooth_ends: bool + :param keep_shape: Keep Shape, (optional) + :type keep_shape: bool + :param smooth_position: Position, (optional) + :type smooth_position: bool + :param smooth_radius: Radius, (optional) + :type smooth_radius: bool + :param smooth_opacity: Opacity, (optional) + :type smooth_opacity: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stroke_split() + + Split selected points to a new stroke + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: stroke_subdivide(*, number_cuts=1, only_selected=True) + + Subdivide between continuous selected points of the stroke adding a point half way between them + + :param number_cuts: Number of Cuts, (in [1, 32], optional) + :type number_cuts: int + :param only_selected: Selected Points, Smooth only selected points in the stroke (optional) + :type only_selected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stroke_subdivide_smooth(*, GREASE_PENCIL_OT_stroke_subdivide={}, GREASE_PENCIL_OT_stroke_smooth={}) + + Subdivide strokes and smooth them + + :param GREASE_PENCIL_OT_stroke_subdivide: Subdivide Stroke, Subdivide between continuous selected points of the stroke adding a point half way between them (optional, :func:`bpy.ops.grease_pencil.stroke_subdivide` keyword arguments) + :type GREASE_PENCIL_OT_stroke_subdivide: dict[str, Any] + :param GREASE_PENCIL_OT_stroke_smooth: Smooth Stroke, Smooth selected strokes (optional, :func:`bpy.ops.grease_pencil.stroke_smooth` keyword arguments) + :type GREASE_PENCIL_OT_stroke_smooth: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stroke_switch_direction() + + Change direction of the points of the selected strokes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: stroke_trim(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35) + + Delete stroke points in between intersecting strokes + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: texture_gradient(*, xstart=0, xend=0, ystart=0, yend=0, flip=False, cursor=5) + + Draw a line to set the fill material gradient for the selected strokes + + :param xstart: X Start, (in [-inf, inf], optional) + :type xstart: int + :param xend: X End, (in [-inf, inf], optional) + :type xend: int + :param ystart: Y Start, (in [-inf, inf], optional) + :type ystart: int + :param yend: Y End, (in [-inf, inf], optional) + :type yend: int + :param flip: Flip, (optional) + :type flip: bool + :param cursor: Cursor, Mouse cursor style to use during the modal operator (in [0, inf], optional) + :type cursor: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_brush_stroke(*, stroke=None, mode='NORMAL', brush_toggle='None', pen_flip=False) + + Draw on vertex colors in the active Grease Pencil object + + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param mode: Stroke Mode, Action taken when a paint stroke is made (optional) + + - ``NORMAL`` + Regular -- Apply brush normally. + - ``INVERT`` + Invert -- Invert action of brush for duration of stroke. + :type mode: Literal['NORMAL', 'INVERT'] + :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke (optional) + + - ``None`` + None -- Apply brush normally. + - ``SMOOTH`` + Smooth -- Switch to smooth brush for duration of stroke. + - ``ERASE`` + Erase -- Switch to erase brush for duration of stroke. + - ``MASK`` + Mask -- Switch to mask brush for duration of stroke. + :type brush_toggle: Literal['None', 'SMOOTH', 'ERASE', 'MASK'] + :param pen_flip: Pen Flip, Whether a tablet's eraser mode is being used (optional) + :type pen_flip: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_color_brightness_contrast(*, mode='BOTH', brightness=0.0, contrast=0.0) + + Adjust vertex color brightness/contrast + + :param mode: Mode, (optional) + :type mode: Literal['STROKE', 'FILL', 'BOTH'] + :param brightness: Brightness, (in [-1, 1], optional) + :type brightness: float + :param contrast: Contrast, (in [-1, 1], optional) + :type contrast: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_color_hsv(*, mode='BOTH', h=0.5, s=1.0, v=1.0) + + Adjust vertex color HSV values + + :param mode: Mode, (optional) + :type mode: Literal['STROKE', 'FILL', 'BOTH'] + :param h: Hue, (in [0, 1], optional) + :type h: float + :param s: Saturation, (in [0, 2], optional) + :type s: float + :param v: Value, (in [0, 2], optional) + :type v: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_color_invert(*, mode='BOTH') + + Invert RGB values + + :param mode: Mode, (optional) + :type mode: Literal['STROKE', 'FILL', 'BOTH'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_color_levels(*, mode='BOTH', offset=0.0, gain=1.0) + + Adjust levels of vertex colors + + :param mode: Mode, (optional) + :type mode: Literal['STROKE', 'FILL', 'BOTH'] + :param offset: Offset, Value to add to colors (in [-1, 1], optional) + :type offset: float + :param gain: Gain, Value to multiply colors by (in [0, inf], optional) + :type gain: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_color_set(*, mode='BOTH', factor=1.0) + + Set active color to all selected vertices + + :param mode: Mode, (optional) + :type mode: Literal['STROKE', 'FILL', 'BOTH'] + :param factor: Factor, Mix Factor (in [0, 1], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_normalize() + + Normalize weights of the active vertex group + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_group_normalize_all(*, lock_active=True) + + Normalize the weights of all vertex groups, so that for each vertex, the sum of all weights is 1.0 + + :param lock_active: Lock Active, Keep the values of the active group while normalizing others (optional) + :type lock_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_smooth(*, factor=0.5, repeat=1) + + Smooth the weights of the active vertex group + + :param factor: Factor, (in [0, 1], optional) + :type factor: float + :param repeat: Iterations, (in [1, 10000], optional) + :type repeat: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertexmode_toggle(*, back=False) + + Enter/Exit vertex paint mode for Grease Pencil strokes + + :param back: Return to Previous Mode, Return to previous mode (optional) + :type back: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: weight_brush_stroke(*, stroke=None, mode='NORMAL', brush_toggle='None', pen_flip=False) + + Draw weight on stroke points in the active Grease Pencil object + + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param mode: Stroke Mode, Action taken when a paint stroke is made (optional) + + - ``NORMAL`` + Regular -- Apply brush normally. + - ``INVERT`` + Invert -- Invert action of brush for duration of stroke. + :type mode: Literal['NORMAL', 'INVERT'] + :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke (optional) + + - ``None`` + None -- Apply brush normally. + - ``SMOOTH`` + Smooth -- Switch to smooth brush for duration of stroke. + - ``ERASE`` + Erase -- Switch to erase brush for duration of stroke. + - ``MASK`` + Mask -- Switch to mask brush for duration of stroke. + :type brush_toggle: Literal['None', 'SMOOTH', 'ERASE', 'MASK'] + :param pen_flip: Pen Flip, Whether a tablet's eraser mode is being used (optional) + :type pen_flip: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: weight_invert() + + Invert the weight of active vertex group + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: weight_sample() + + Set the weight of the Draw tool to the weight of the vertex under the mouse cursor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: weight_toggle_direction() + + Toggle Add/Subtract for the weight paint draw tool + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: weightmode_toggle(*, back=False) + + Enter/Exit weight paint mode for Grease Pencil strokes + + :param back: Return to Previous Mode, Return to previous mode (optional) + :type back: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.image.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.image.rst new file mode 100644 index 0000000..843ce22 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.image.rst @@ -0,0 +1,957 @@ +Image Operators +=============== + +.. module:: bpy.ops.image + +.. function:: add_render_slot() + + Add a new render slot + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: change_frame(*, frame=0) + + Interactively change the current frame number + + :param frame: Frame, (in [-1048574, 1048574], optional) + :type frame: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clear_render_border() + + Clear the boundaries of the render region and disable render region + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: clear_render_slot() + + Clear the currently selected render slot + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: clipboard_copy() + + Copy the image to the clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: clipboard_paste() + + Paste new image from the clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: convert_to_mesh_plane(*, interpolation='Linear', extension='CLIP', use_auto_refresh=True, relative=True, shader='PRINCIPLED', emit_strength=1.0, use_transparency=True, render_method='DITHERED', use_backface_culling=False, show_transparent_back=True, overwrite_material=True, name_from='OBJECT', delete_ref=True) + + Convert selected reference images to textured mesh plane + + :param interpolation: Interpolation, Texture interpolation (optional) + + - ``Linear`` + Linear -- Linear interpolation. + - ``Closest`` + Closest -- No interpolation (sample closest texel). + - ``Cubic`` + Cubic -- Cubic interpolation. + - ``Smart`` + Smart -- Bicubic when magnifying, else bilinear (OSL only). + :type interpolation: Literal['Linear', 'Closest', 'Cubic', 'Smart'] + :param extension: Extension, How the image is extrapolated past its original bounds (optional) + + - ``CLIP`` + Clip -- Clip to image size and set exterior pixels as transparent. + - ``EXTEND`` + Extend -- Extend by repeating edge pixels of the image. + - ``REPEAT`` + Repeat -- Cause the image to repeat horizontally and vertically. + :type extension: Literal['CLIP', 'EXTEND', 'REPEAT'] + :param use_auto_refresh: Auto Refresh, Always refresh image on frame changes (optional) + :type use_auto_refresh: bool + :param relative: Relative Paths, Use relative file paths (optional) + :type relative: bool + :param shader: Shader, Node shader to use (optional) + + - ``PRINCIPLED`` + Principled -- Principled shader. + - ``SHADELESS`` + Shadeless -- Only visible to camera and reflections. + - ``EMISSION`` + Emission -- Emission shader. + :type shader: Literal['PRINCIPLED', 'SHADELESS', 'EMISSION'] + :param emit_strength: Emission Strength, Strength of emission (in [0, inf], optional) + :type emit_strength: float + :param use_transparency: Use Alpha, Use alpha channel for transparency (optional) + :type use_transparency: bool + :param render_method: Render Method, (optional) + + - ``DITHERED`` + Dithered -- Allows for grayscale hashed transparency, and compatible with render passes and ray-tracing. Also known as deferred rendering.. + - ``BLENDED`` + Blended -- Allows for colored transparency, but incompatible with render passes and ray-tracing. Also known as forward rendering.. + :type render_method: Literal['DITHERED', 'BLENDED'] + :param use_backface_culling: Backface Culling, Use backface culling to hide the back side of faces (optional) + :type use_backface_culling: bool + :param show_transparent_back: Show Backface, Render multiple transparent layers (may introduce transparency sorting problems) (optional) + :type show_transparent_back: bool + :param overwrite_material: Overwrite Material, Overwrite existing material with the same name (optional) + :type overwrite_material: bool + :param name_from: Name After, Name for new mesh object and material (optional) + + - ``OBJECT`` + Source Object -- Name after object source with a suffix. + - ``IMAGE`` + Source Image -- Name from loaded image. + :type name_from: Literal['OBJECT', 'IMAGE'] + :param delete_ref: Delete Reference Object, Delete empty image object once mesh plane is created (optional) + :type delete_ref: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/image_as_planes.py\:1133 `__ + + +.. function:: curves_point_set(*, point='BLACK_POINT', size=1) + + Set black point or white point for curves + + :param point: Point, Set black point or white point for curves (optional) + :type point: Literal['BLACK_POINT', 'WHITE_POINT'] + :param size: Sample Size, (in [1, 128], optional) + :type size: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: cycle_render_slot(*, reverse=False) + + Cycle through all non-void render slots + + :param reverse: Cycle in Reverse, (optional) + :type reverse: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: external_edit(*, filepath="") + + Edit image in an external application + + :param filepath: filepath, (optional, never None) + :type filepath: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/image.py\:54 `__ + + +.. function:: file_browse(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=True, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='') + + Open an image file browser, hold Shift to open the file, Alt to browse containing directory + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: flip(*, use_flip_x=False, use_flip_y=False) + + Flip the image + + :param use_flip_x: Horizontal, Flip the image horizontally (optional) + :type use_flip_x: bool + :param use_flip_y: Vertical, Flip the image vertically (optional) + :type use_flip_y: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: import_as_mesh_planes(*, interpolation='Linear', extension='CLIP', use_auto_refresh=True, relative=True, shader='PRINCIPLED', emit_strength=1.0, use_transparency=True, render_method='DITHERED', use_backface_culling=False, show_transparent_back=True, overwrite_material=True, filepath="", align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), files=None, directory="", filter_image=True, filter_movie=True, filter_folder=True, force_reload=False, image_sequence=False, offset=True, offset_axis='+X', offset_amount=0.1, align_axis='CAM_AX', prev_align_axis='NONE', align_track=False, size_mode='ABSOLUTE', fill_mode='FILL', height=1.0, factor=600.0) + + Create mesh plane(s) from image files with the appropriate aspect ratio + + :param interpolation: Interpolation, Texture interpolation (optional) + + - ``Linear`` + Linear -- Linear interpolation. + - ``Closest`` + Closest -- No interpolation (sample closest texel). + - ``Cubic`` + Cubic -- Cubic interpolation. + - ``Smart`` + Smart -- Bicubic when magnifying, else bilinear (OSL only). + :type interpolation: Literal['Linear', 'Closest', 'Cubic', 'Smart'] + :param extension: Extension, How the image is extrapolated past its original bounds (optional) + + - ``CLIP`` + Clip -- Clip to image size and set exterior pixels as transparent. + - ``EXTEND`` + Extend -- Extend by repeating edge pixels of the image. + - ``REPEAT`` + Repeat -- Cause the image to repeat horizontally and vertically. + :type extension: Literal['CLIP', 'EXTEND', 'REPEAT'] + :param use_auto_refresh: Auto Refresh, Always refresh image on frame changes (optional) + :type use_auto_refresh: bool + :param relative: Relative Paths, Use relative file paths (optional) + :type relative: bool + :param shader: Shader, Node shader to use (optional) + + - ``PRINCIPLED`` + Principled -- Principled shader. + - ``SHADELESS`` + Shadeless -- Only visible to camera and reflections. + - ``EMISSION`` + Emission -- Emission shader. + :type shader: Literal['PRINCIPLED', 'SHADELESS', 'EMISSION'] + :param emit_strength: Emission Strength, Strength of emission (in [0, inf], optional) + :type emit_strength: float + :param use_transparency: Use Alpha, Use alpha channel for transparency (optional) + :type use_transparency: bool + :param render_method: Render Method, (optional) + + - ``DITHERED`` + Dithered -- Allows for grayscale hashed transparency, and compatible with render passes and ray-tracing. Also known as deferred rendering.. + - ``BLENDED`` + Blended -- Allows for colored transparency, but incompatible with render passes and ray-tracing. Also known as forward rendering.. + :type render_method: Literal['DITHERED', 'BLENDED'] + :param use_backface_culling: Backface Culling, Use backface culling to hide the back side of faces (optional) + :type use_backface_culling: bool + :param show_transparent_back: Show Backface, Render multiple transparent layers (may introduce transparency sorting problems) (optional) + :type show_transparent_back: bool + :param overwrite_material: Overwrite Material, Overwrite existing material with the same name (optional) + :type overwrite_material: bool + :param filepath: File Path, Filepath used for importing the file (optional, never None) + :type filepath: str + :param align: Align, (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param files: files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param directory: directory, (optional, never None) + :type directory: str + :param filter_image: filter_image, (optional) + :type filter_image: bool + :param filter_movie: filter_movie, (optional) + :type filter_movie: bool + :param filter_folder: filter_folder, (optional) + :type filter_folder: bool + :param force_reload: Force Reload, Force reload the image if it is already opened elsewhere in Blender (optional) + :type force_reload: bool + :param image_sequence: Detect Image Sequences, Import sequentially numbered images as an animated image sequence instead of separate planes (optional) + :type image_sequence: bool + :param offset: Offset Planes, Offset planes from each other. If disabled, multiple planes will be created at the same location (optional) + :type offset: bool + :param offset_axis: Offset Direction, How planes are oriented relative to each others' local axis (optional) + + - ``+X`` + +X -- Side by Side to the Left. + - ``+Y`` + +Y -- Side by Side, Downward. + - ``+Z`` + +Z -- Stacked Above. + - ``-X`` + -X -- Side by Side to the Right. + - ``-Y`` + -Y -- Side by Side, Upward. + - ``-Z`` + -Z -- Stacked Below. + :type offset_axis: Literal['+X', '+Y', '+Z', '-X', '-Y', '-Z'] + :param offset_amount: Offset Distance, Set distance between each plane (in [-inf, inf], optional) + :type offset_amount: float + :param align_axis: Align, How to align the planes (optional) + + - ``+X`` + +X -- Facing positive X. + - ``+Y`` + +Y -- Facing positive Y. + - ``+Z`` + +Z -- Facing positive Z. + - ``-X`` + -X -- Facing negative X. + - ``-Y`` + -Y -- Facing negative Y. + - ``-Z`` + -Z -- Facing negative Z. + - ``CAM`` + Face Camera -- Facing camera. + - ``CAM_AX`` + Camera's Main Axis -- Facing the camera's dominant axis. + :type align_axis: Literal['+X', '+Y', '+Z', '-X', '-Y', '-Z', 'CAM', 'CAM_AX'] + :param prev_align_axis: prev_align_axis, (optional) + + - ``+X`` + +X -- Facing positive X. + - ``+Y`` + +Y -- Facing positive Y. + - ``+Z`` + +Z -- Facing positive Z. + - ``-X`` + -X -- Facing negative X. + - ``-Y`` + -Y -- Facing negative Y. + - ``-Z`` + -Z -- Facing negative Z. + - ``CAM`` + Face Camera -- Facing camera. + - ``CAM_AX`` + Camera's Main Axis -- Facing the camera's dominant axis. + - ``NONE`` + Undocumented. + :type prev_align_axis: Literal['+X', '+Y', '+Z', '-X', '-Y', '-Z', 'CAM', 'CAM_AX', 'NONE'] + :param align_track: Track Camera, Add a constraint to make the planes track the camera (optional) + :type align_track: bool + :param size_mode: Size Mode, Method for computing the plane size (optional) + + - ``ABSOLUTE`` + Absolute -- Use absolute size. + - ``CAMERA`` + Scale to Camera Frame -- Scale to fit or fill the camera frame. + - ``DPI`` + Pixels per Inch -- Scale based on pixels per inch. + - ``DPBU`` + Pixels per Blender Unit -- Scale based on pixels per Blender Unit. + :type size_mode: Literal['ABSOLUTE', 'CAMERA', 'DPI', 'DPBU'] + :param fill_mode: Scale, Method to scale the plane with the camera frame (optional) + + - ``FILL`` + Fill -- Fill camera frame, spilling outside the frame. + - ``FIT`` + Fit -- Fit entire image within the camera frame. + :type fill_mode: Literal['FILL', 'FIT'] + :param height: Height, Height of the created plane (in [0.001, inf], optional) + :type height: float + :param factor: Definition, Number of pixels per inch or Blender Unit (in [1, inf], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/image_as_planes.py\:857 `__ + + +.. function:: invert(*, invert_r=False, invert_g=False, invert_b=False, invert_a=False) + + Invert image's channels + + :param invert_r: Red, Invert red channel (optional) + :type invert_r: bool + :param invert_g: Green, Invert green channel (optional) + :type invert_g: bool + :param invert_b: Blue, Invert blue channel (optional) + :type invert_b: bool + :param invert_a: Alpha, Invert alpha channel (optional) + :type invert_a: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: match_movie_length() + + Set the image's frame range to match the video's duration + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: new(*, name="Untitled", width=1024, height=1024, color=(0.0, 0.0, 0.0, 1.0), alpha=True, generated_type='BLANK', float=False, use_stereo_3d=False, tiled=False) + + Create a new image + + :param name: Name, Image data-block name (optional, never None) + :type name: str + :param width: Width, Image width (in [1, inf], optional) + :type width: int + :param height: Height, Image height (in [1, inf], optional) + :type height: int + :param color: Color, Default fill color (array of 4 items, in [0, inf], optional) + :type color: Sequence[float] + :param alpha: Alpha, Create an image with an alpha channel (optional) + :type alpha: bool + :param generated_type: Generated Type, Fill the image with a grid for UV map testing (optional) + :type generated_type: Literal[:ref:`rna_enum_image_generated_type_items`] + :param float: 32-bit Float, Create image with 32-bit floating-point bit depth (optional) + :type float: bool + :param use_stereo_3d: Stereo 3D, Create an image with left and right views (optional) + :type use_stereo_3d: bool + :param tiled: Tiled, Create a tiled image (optional) + :type tiled: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: open(*, allow_path_tokens=True, filepath="", directory="", files=None, hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=True, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='', use_sequence_detection=True, use_udim_detecting=True) + + Open image + + :param allow_path_tokens: Allow the path to contain substitution tokens (optional) + :type allow_path_tokens: bool + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param use_sequence_detection: Detect Sequences, Automatically detect animated sequences in selected images (based on file names) (optional) + :type use_sequence_detection: bool + :param use_udim_detecting: Detect UDIMs, Detect selected UDIM files and load all matching tiles (optional) + :type use_udim_detecting: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: open_images(*, directory="", files=None, relative_path=True, use_sequence_detection=True, use_udim_detection=True) + + Undocumented, consider `contributing `__. + + :param directory: directory, (optional, never None) + :type directory: str + :param files: files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param relative_path: Use relative path, (optional) + :type relative_path: bool + :param use_sequence_detection: Use sequence detection, (optional) + :type use_sequence_detection: bool + :param use_udim_detection: Use UDIM detection, (optional) + :type use_udim_detection: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/image.py\:238 `__ + + +.. function:: pack() + + Pack an image as embedded data into the .blend file + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: project_apply() + + Project edited image back onto the object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/image.py\:192 `__ + +.. function:: project_edit() + + Edit a snapshot of the 3D Viewport in an external image editor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/image.py\:122 `__ + +.. function:: read_viewlayers() + + Read all the current scene's view layers from cache, as needed + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: reload() + + Reload current image from disk + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: remove_render_slot() + + Remove the current render slot + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: render_border(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True) + + Set the boundaries of the render region and enable render region + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: replace(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=True, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='') + + Replace current image by another one from disk + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: resize(*, size=(0, 0), all_udims=False) + + Resize the image + + :param size: Size, (array of 2 items, in [1, inf], optional) + :type size: Sequence[int] + :param all_udims: All UDIM Tiles, Scale all the image's UDIM tiles (optional) + :type all_udims: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rotate_orthogonal(*, degrees='90') + + Rotate the image + + :param degrees: Degrees, Amount of rotation in degrees (90, 180, 270) (optional) + + - ``90`` + 90 Degrees -- Rotate 90 degrees clockwise. + - ``180`` + 180 Degrees -- Rotate 180 degrees clockwise. + - ``270`` + 270 Degrees -- Rotate 270 degrees clockwise. + :type degrees: Literal['90', '180', '270'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sample(*, size=1) + + Use mouse to sample a color in current image + + :param size: Sample Size, (in [1, 128], optional) + :type size: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sample_line(*, xstart=0, xend=0, ystart=0, yend=0, flip=False, cursor=5) + + Sample a line and show it in Scope panels + + :param xstart: X Start, (in [-inf, inf], optional) + :type xstart: int + :param xend: X End, (in [-inf, inf], optional) + :type xend: int + :param ystart: Y Start, (in [-inf, inf], optional) + :type ystart: int + :param yend: Y End, (in [-inf, inf], optional) + :type yend: int + :param flip: Flip, (optional) + :type flip: bool + :param cursor: Cursor, Mouse cursor style to use during the modal operator (in [0, inf], optional) + :type cursor: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: save() + + Save the image with current name and settings + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: save_all_modified() + + Save all modified images + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: save_as(*, save_as_render=False, copy=False, allow_path_tokens=True, filepath="", check_existing=True, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=True, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='') + + Save the image with another name and/or settings + + :param save_as_render: Save As Render, Save image with render color management.For display image formats like PNG, apply view and display transform.For intermediate image formats like OpenEXR, use the default render output color space(optional) + :type save_as_render: bool + :param copy: Copy, Create a new image file without modifying the current image in Blender (optional) + :type copy: bool + :param allow_path_tokens: Allow the path to contain substitution tokens (optional) + :type allow_path_tokens: bool + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: save_sequence() + + Save a sequence of images + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: tile_add(*, number=1002, count=1, label="", fill=True, color=(0.0, 0.0, 0.0, 1.0), generated_type='BLANK', width=1024, height=1024, float=False, alpha=True) + + Adds a tile to the image + + :param number: Number, UDIM number of the tile (in [1001, 2000], optional) + :type number: int + :param count: Count, How many tiles to add (in [1, inf], optional) + :type count: int + :param label: Label, Optional tile label (optional, never None) + :type label: str + :param fill: Fill, Fill new tile with a generated image (optional) + :type fill: bool + :param color: Color, Default fill color (array of 4 items, in [0, inf], optional) + :type color: Sequence[float] + :param generated_type: Generated Type, Fill the image with a grid for UV map testing (optional) + :type generated_type: Literal[:ref:`rna_enum_image_generated_type_items`] + :param width: Width, Image width (in [1, inf], optional) + :type width: int + :param height: Height, Image height (in [1, inf], optional) + :type height: int + :param float: 32-bit Float, Create image with 32-bit floating-point bit depth (optional) + :type float: bool + :param alpha: Alpha, Create an image with an alpha channel (optional) + :type alpha: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: tile_fill(*, color=(0.0, 0.0, 0.0, 1.0), generated_type='BLANK', width=1024, height=1024, float=False, alpha=True) + + Fill the current tile with a generated image + + :param color: Color, Default fill color (array of 4 items, in [0, inf], optional) + :type color: Sequence[float] + :param generated_type: Generated Type, Fill the image with a grid for UV map testing (optional) + :type generated_type: Literal[:ref:`rna_enum_image_generated_type_items`] + :param width: Width, Image width (in [1, inf], optional) + :type width: int + :param height: Height, Image height (in [1, inf], optional) + :type height: int + :param float: 32-bit Float, Create image with 32-bit floating-point bit depth (optional) + :type float: bool + :param alpha: Alpha, Create an image with an alpha channel (optional) + :type alpha: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: tile_remove() + + Removes a tile from the image + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: unpack(*, method='USE_LOCAL', id="") + + Save an image packed in the .blend file to disk + + :param method: Method, How to unpack (optional) + :type method: Literal[:ref:`rna_enum_unpack_method_items`] + :param id: Image Name, Image data-block name to unpack (optional, never None) + :type id: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_all(*, fit_view=False) + + View the entire image + + :param fit_view: Fit View, Fit frame to the viewport (optional) + :type fit_view: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_center_cursor() + + Center the view so that the cursor is in the middle of the view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_cursor_center(*, fit_view=False) + + Set 2D cursor to center view location + + :param fit_view: Fit View, Fit frame to the viewport (optional) + :type fit_view: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_pan(*, offset=(0.0, 0.0)) + + Pan the view + + :param offset: Offset, Offset in floating-point units, 1.0 is the width and height of the image (array of 2 items, in [-inf, inf], optional) + :type offset: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_selected() + + View all selected UVs + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_zoom(*, factor=0.0, use_cursor_init=True) + + Zoom in/out the image + + :param factor: Factor, Zoom factor, values higher than 1.0 zoom in, lower values zoom out (in [-inf, inf], optional) + :type factor: float + :param use_cursor_init: Use Mouse Position, Allow the initial mouse position to be used (optional) + :type use_cursor_init: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_zoom_border(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, zoom_out=False) + + Zoom in the view to the nearest item contained in the border + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param zoom_out: Zoom Out, (optional) + :type zoom_out: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_zoom_in(*, location=(0.0, 0.0)) + + Zoom in the image (centered around 2D cursor) + + :param location: Location, Cursor location in screen coordinates (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_zoom_out(*, location=(0.0, 0.0)) + + Zoom out the image (centered around 2D cursor) + + :param location: Location, Cursor location in screen coordinates (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_zoom_ratio(*, ratio=0.0) + + Set zoom ratio of the view + + :param ratio: Ratio, Zoom ratio, 1.0 is 1:1, higher is zoomed in, lower is zoomed out (in [-inf, inf], optional) + :type ratio: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.import_anim.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.import_anim.rst new file mode 100644 index 0000000..2bdabca --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.import_anim.rst @@ -0,0 +1,55 @@ +Import Anim Operators +===================== + +.. module:: bpy.ops.import_anim + +.. function:: bvh(*, filepath="", filter_glob="*.bvh", target='ARMATURE', global_scale=1.0, frame_start=1, use_fps_scale=False, update_scene_fps=False, update_scene_duration=False, use_cyclic=False, rotate_mode='NATIVE', axis_forward='-Z', axis_up='Y') + + Load a BVH motion capture file + + :param filepath: File Path, Filepath used for importing the file (optional, never None) + :type filepath: str + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :param target: Target, Import target type (optional) + :type target: Literal['ARMATURE', 'OBJECT'] + :param global_scale: Scale, Scale the BVH by this value (in [0.0001, 1e+06], optional) + :type global_scale: float + :param frame_start: Start Frame, Starting frame for the animation (in [-inf, inf], optional) + :type frame_start: int + :param use_fps_scale: Scale FPS, Scale the frame-rate from the BVH to the current scenes, otherwise each BVH frame maps directly to a Blender frame (optional) + :type use_fps_scale: bool + :param update_scene_fps: Update Scene FPS, Set the scene frame-rate to that of the BVH file (note that this nullifies the 'Scale FPS' option, as the scale will be 1:1) (optional) + :type update_scene_fps: bool + :param update_scene_duration: Update Scene Duration, Extend the scene's duration to the BVH duration (never shortens the scene) (optional) + :type update_scene_duration: bool + :param use_cyclic: Loop, Loop the animation playback (optional) + :type use_cyclic: bool + :param rotate_mode: Rotation, Rotation conversion (optional) + + - ``QUATERNION`` + Quaternion -- Convert rotations to quaternions. + - ``NATIVE`` + Euler (Native) -- Use the rotation order defined in the BVH file. + - ``XYZ`` + Euler (XYZ) -- Convert rotations to euler XYZ. + - ``XZY`` + Euler (XZY) -- Convert rotations to euler XZY. + - ``YXZ`` + Euler (YXZ) -- Convert rotations to euler YXZ. + - ``YZX`` + Euler (YZX) -- Convert rotations to euler YZX. + - ``ZXY`` + Euler (ZXY) -- Convert rotations to euler ZXY. + - ``ZYX`` + Euler (ZYX) -- Convert rotations to euler ZYX. + :type rotate_mode: Literal['QUATERNION', 'NATIVE', 'XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'] + :param axis_forward: Forward, (optional) + :type axis_forward: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param axis_up: Up, (optional) + :type axis_up: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/io_anim_bvh/__init__.py\:118 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.import_curve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.import_curve.rst new file mode 100644 index 0000000..9c20d01 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.import_curve.rst @@ -0,0 +1,22 @@ +Import Curve Operators +====================== + +.. module:: bpy.ops.import_curve + +.. function:: svg(*, filepath="", filter_glob="*.svg", directory="", files=None) + + Load a SVG file + + :param filepath: File Path, Filepath used for importing the file (optional, never None) + :type filepath: str + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :param directory: directory, (optional, never None) + :type directory: str + :param files: File Path, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/io_curve_svg/__init__.py\:61 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.import_scene.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.import_scene.rst new file mode 100644 index 0000000..82bf1ea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.import_scene.rst @@ -0,0 +1,146 @@ +Import Scene Operators +====================== + +.. module:: bpy.ops.import_scene + +.. function:: fbx(*, filepath="", directory="", filter_glob="*.fbx", files=None, ui_tab='MAIN', use_manual_orientation=False, global_scale=1.0, bake_space_transform=False, use_custom_normals=True, colors_type='SRGB', use_image_search=True, use_alpha_decals=False, decal_offset=0.0, use_anim=True, anim_offset=1.0, use_subsurf=False, use_custom_props=True, use_custom_props_enum_as_string=True, ignore_leaf_bones=False, force_connect_children=False, automatic_bone_orientation=False, primary_bone_axis='Y', secondary_bone_axis='X', use_prepost_rot=True, mtl_name_collision_mode='MAKE_UNIQUE', axis_forward='-Z', axis_up='Y') + + Load a FBX file + + :param filepath: File Path, Filepath used for importing the file (optional, never None) + :type filepath: str + :param directory: directory, (optional, never None) + :type directory: str + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :param files: File Path, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param ui_tab: ui_tab, Import options categories (optional) + + - ``MAIN`` + Main -- Main basic settings. + - ``ARMATURE`` + Armatures -- Armature-related settings. + :type ui_tab: Literal['MAIN', 'ARMATURE'] + :param use_manual_orientation: Manual Orientation, Specify orientation and scale, instead of using embedded data in FBX file (optional) + :type use_manual_orientation: bool + :param global_scale: Scale, (in [0.001, 1000], optional) + :type global_scale: float + :param bake_space_transform: Apply Transform, Bake space transform into object data, avoids getting unwanted rotations to objects when target space is not aligned with Blender's space (WARNING! experimental option, use at own risk, known to be broken with armatures/animations) (optional) + :type bake_space_transform: bool + :param use_custom_normals: Custom Normals, Import custom normals, if available (otherwise Blender will recompute them) (optional) + :type use_custom_normals: bool + :param colors_type: Vertex Colors, Import vertex color attributes (optional) + + - ``NONE`` + None -- Do not import color attributes. + - ``SRGB`` + sRGB -- Expect file colors in sRGB color space. + - ``LINEAR`` + Linear -- Expect file colors in linear color space. + :type colors_type: Literal['NONE', 'SRGB', 'LINEAR'] + :param use_image_search: Image Search, Search subdirs for any associated images (WARNING: may be slow) (optional) + :type use_image_search: bool + :param use_alpha_decals: Alpha Decals, Treat materials with alpha as decals (no shadow casting) (optional) + :type use_alpha_decals: bool + :param decal_offset: Decal Offset, Displace geometry of alpha meshes (in [0, 1], optional) + :type decal_offset: float + :param use_anim: Import Animation, Import FBX animation (optional) + :type use_anim: bool + :param anim_offset: Animation Offset, Offset to apply to animation during import, in frames (in [-inf, inf], optional) + :type anim_offset: float + :param use_subsurf: Subdivision Data, Import FBX subdivision information as subdivision surface modifiers (optional) + :type use_subsurf: bool + :param use_custom_props: Custom Properties, Import user properties as custom properties (optional) + :type use_custom_props: bool + :param use_custom_props_enum_as_string: Import Enums As Strings, Store enumeration values as strings (optional) + :type use_custom_props_enum_as_string: bool + :param ignore_leaf_bones: Ignore Leaf Bones, Ignore the last bone at the end of each chain (used to mark the length of the previous bone) (optional) + :type ignore_leaf_bones: bool + :param force_connect_children: Force Connect Children, Force connection of children bones to their parent, even if their computed head/tail positions do not match (can be useful with pure-joints-type armatures) (optional) + :type force_connect_children: bool + :param automatic_bone_orientation: Automatic Bone Orientation, Try to align the major bone axis with the bone children (optional) + :type automatic_bone_orientation: bool + :param primary_bone_axis: Primary Bone Axis, (optional) + :type primary_bone_axis: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param secondary_bone_axis: Secondary Bone Axis, (optional) + :type secondary_bone_axis: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param use_prepost_rot: Use Pre/Post Rotation, Use pre/post rotation from FBX transform (you may have to disable that in some cases) (optional) + :type use_prepost_rot: bool + :param mtl_name_collision_mode: Material Name Collision, Behavior when the name of an imported material conflicts with an existing material (optional) + + - ``MAKE_UNIQUE`` + Make Unique -- Import each FBX material as a unique Blender material. + - ``REFERENCE_EXISTING`` + Reference Existing -- If a material with the same name already exists, reference that instead of importing. + :type mtl_name_collision_mode: Literal['MAKE_UNIQUE', 'REFERENCE_EXISTING'] + :param axis_forward: Forward, (optional) + :type axis_forward: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param axis_up: Up, (optional) + :type axis_up: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/io_scene_fbx/__init__.py\:222 `__ + + +.. function:: gltf(*, filepath="", export_import_convert_lighting_mode='SPEC', filter_glob="*.glb;*.gltf", directory="", files=None, loglevel=0, import_pack_images=True, merge_vertices=False, import_shading='NORMALS', bone_heuristic='BLENDER', disable_bone_shape=False, bone_shape_scale_factor=1.0, guess_original_bind_pose=True, import_webp_texture=False, import_unused_materials=False, import_select_created_objects=True, import_scene_extras=True, import_scene_as_collection=True, import_merge_material_slots=True) + + Load a glTF 2.0 file + + :param filepath: File Path, Filepath used for importing the file (optional, never None) + :type filepath: str + :param export_import_convert_lighting_mode: Lighting Mode, Optional backwards compatibility for non-standard render engines. Applies to lights (optional) + + - ``SPEC`` + Standard -- Physically-based glTF lighting units (cd, lx, nt). + - ``COMPAT`` + Unitless -- Non-physical, unitless lighting. Useful when exposure controls are not available. + - ``RAW`` + Raw (Deprecated) -- Blender lighting strengths with no conversion. + :type export_import_convert_lighting_mode: Literal['SPEC', 'COMPAT', 'RAW'] + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :param directory: directory, (optional, never None) + :type directory: str + :param files: File Path, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param loglevel: Log Level, Log Level (in [-inf, inf], optional) + :type loglevel: int + :param import_pack_images: Pack Images, Pack all images into .blend file (optional) + :type import_pack_images: bool + :param merge_vertices: Merge Vertices, The glTF format requires discontinuous normals, UVs, and other vertex attributes to be stored as separate vertices, as required for rendering on typical graphics hardware. This option attempts to combine co-located vertices where possible. Currently cannot combine verts with different normals (optional) + :type merge_vertices: bool + :param import_shading: Shading, How normals are computed during import (optional) + :type import_shading: Literal['NORMALS', 'FLAT', 'SMOOTH'] + :param bone_heuristic: Bone Dir, Heuristic for placing bones. Tries to make bones pretty (optional) + + - ``BLENDER`` + Blender (best for import/export round trip) -- Good for re-importing glTFs exported from Blender, and re-exporting glTFs to glTFs after Blender editing. Bone tips are placed on their local +Y axis (in glTF space). + - ``TEMPERANCE`` + Temperance (average) -- Decent all-around strategy. A bone with one child has its tip placed on the local axis closest to its child. + - ``FORTUNE`` + Fortune (may look better, less accurate) -- Might look better than Temperance, but also might have errors. A bone with one child has its tip placed at its child's root. Non-uniform scalings may get messed up though, so beware. + :type bone_heuristic: Literal['BLENDER', 'TEMPERANCE', 'FORTUNE'] + :param disable_bone_shape: Disable Bone Shape, Do not create bone shapes (optional) + :type disable_bone_shape: bool + :param bone_shape_scale_factor: Bone Shape Scale, Scale factor for bone shapes (in [-inf, inf], optional) + :type bone_shape_scale_factor: float + :param guess_original_bind_pose: Guess Original Bind Pose, Try to guess the original bind pose for skinned meshes from the inverse bind matrices. When off, use default/rest pose as bind pose (optional) + :type guess_original_bind_pose: bool + :param import_webp_texture: Import WebP Textures, If a texture exists in WebP format, loads the WebP texture instead of the fallback PNG/JPEG one (optional) + :type import_webp_texture: bool + :param import_unused_materials: Import Unused Materials & Images, Import materials & Images not assigned to any mesh (optional) + :type import_unused_materials: bool + :param import_select_created_objects: Select Imported Objects, Select created objects at the end of the import (optional) + :type import_select_created_objects: bool + :param import_scene_extras: Import Scene Extras, Import scene extras as custom properties. Existing custom properties will be overwritten (optional) + :type import_scene_extras: bool + :param import_scene_as_collection: Import Scene as Collection, Import the scene as a collection (optional) + :type import_scene_as_collection: bool + :param import_merge_material_slots: Merge Material Slot when possible, Merge material slots when possible (optional) + :type import_merge_material_slots: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/io_scene_gltf2/__init__.py\:2013 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.info.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.info.rst new file mode 100644 index 0000000..1359b9f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.info.rst @@ -0,0 +1,84 @@ +Info Operators +============== + +.. module:: bpy.ops.info + +.. function:: report_copy() + + Copy selected reports to clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: report_delete() + + Delete selected reports + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: report_replay() + + Replay selected reports + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: reports_display_update() + + Update the display of reports in Blender UI (internal use) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_all(*, action='SELECT') + + Change selection of all visible reports + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET') + + Toggle box selection + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_pick(*, report_index=0, extend=False) + + Select reports by index + + :param report_index: Report, Index of the report (in [0, inf], optional) + :type report_index: int + :param extend: Extend, Extend report selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.lattice.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.lattice.rst new file mode 100644 index 0000000..b30d319 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.lattice.rst @@ -0,0 +1,88 @@ +Lattice Operators +================= + +.. module:: bpy.ops.lattice + +.. function:: flip(*, axis='U') + + Mirror all control points without inverting the lattice deform + + :param axis: Flip Axis, Coordinates along this axis get flipped (optional) + :type axis: Literal['U', 'V', 'W'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: make_regular() + + Set UVW control points a uniform distance apart + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_all(*, action='TOGGLE') + + Change selection of all UVW control points + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_less() + + Deselect vertices at the boundary of each selection region + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_mirror(*, axis={'X'}, extend=False) + + Select mirrored lattice points + + :param axis: Axis, (optional) + :type axis: set[Literal[:ref:`rna_enum_axis_flag_xyz_items`]] + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_more() + + Select vertices directly linked to already selected ones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_random(*, ratio=0.5, seed=0, action='SELECT') + + Randomly select UVW control points + + :param ratio: Ratio, Portion of items to select randomly (in [0, 1], optional) + :type ratio: float + :param seed: Random Seed, Seed for the random number generator (in [0, inf], optional) + :type seed: int + :param action: Action, Selection action to execute (optional) + + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + :type action: Literal['SELECT', 'DESELECT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_ungrouped(*, extend=False) + + Select vertices without a group + + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.marker.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.marker.rst new file mode 100644 index 0000000..9468ad2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.marker.rst @@ -0,0 +1,140 @@ +Marker Operators +================ + +.. module:: bpy.ops.marker + +.. function:: add() + + Add a new time marker + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: camera_bind() + + Bind the selected camera to a marker on the current frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete(*, confirm=True) + + Delete selected time marker(s) + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate(*, frames=0) + + Duplicate selected time marker(s) + + :param frames: Frames, (in [-inf, inf], optional) + :type frames: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: make_links_scene(*, scene='') + + Copy selected markers to another scene + + :param scene: Scene, (optional) + :type scene: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: move(*, frames=0, tweak=False) + + Move selected time marker(s) + + :param frames: Frames, (in [-inf, inf], optional) + :type frames: int + :param tweak: Tweak, Operator has been activated using a click-drag event (optional) + :type tweak: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rename(*, name="RenamedMarker") + + Rename first selected time marker + + :param name: Name, New name for marker (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select(*, wait_to_deselect_others=False, use_select_on_click=False, mouse_x=0, mouse_y=0, extend=False, camera=False) + + Select time marker(s) + + :param wait_to_deselect_others: Wait to Deselect Others, (optional) + :type wait_to_deselect_others: bool + :param use_select_on_click: Act on Click, Instead of selecting on mouse press, wait to see if there's drag event. Otherwise select on mouse release (optional) + :type use_select_on_click: bool + :param mouse_x: Mouse X, (in [-inf, inf], optional) + :type mouse_x: int + :param mouse_y: Mouse Y, (in [-inf, inf], optional) + :type mouse_y: int + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :param camera: Camera, Select the camera (optional) + :type camera: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + Change selection of all time markers + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET', tweak=False) + + Select all time markers using box selection + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :param tweak: Tweak, Operator has been activated using a click-drag event (optional) + :type tweak: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_leftright(*, mode='LEFT', extend=False) + + Select markers on and left/right of the current frame + + :param mode: Mode, (optional) + :type mode: Literal['LEFT', 'RIGHT'] + :param extend: Extend Select, (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.mask.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.mask.rst new file mode 100644 index 0000000..96f7f6e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.mask.rst @@ -0,0 +1,385 @@ +Mask Operators +============== + +.. module:: bpy.ops.mask + +.. function:: add_feather_vertex(*, location=(0.0, 0.0)) + + Add vertex to feather + + :param location: Location, Location of vertex in normalized space (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_feather_vertex_slide(*, MASK_OT_add_feather_vertex={}, MASK_OT_slide_point={}) + + Add new vertex to feather and slide it + + :param MASK_OT_add_feather_vertex: Add Feather Vertex, Add vertex to feather (optional, :func:`bpy.ops.mask.add_feather_vertex` keyword arguments) + :type MASK_OT_add_feather_vertex: dict[str, Any] + :param MASK_OT_slide_point: Slide Point, Slide control points (optional, :func:`bpy.ops.mask.slide_point` keyword arguments) + :type MASK_OT_slide_point: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_vertex(*, location=(0.0, 0.0)) + + Add vertex to active spline + + :param location: Location, Location of vertex in normalized space (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_vertex_slide(*, MASK_OT_add_vertex={}, MASK_OT_slide_point={}) + + Add new vertex and slide it + + :param MASK_OT_add_vertex: Add Vertex, Add vertex to active spline (optional, :func:`bpy.ops.mask.add_vertex` keyword arguments) + :type MASK_OT_add_vertex: dict[str, Any] + :param MASK_OT_slide_point: Slide Point, Slide control points (optional, :func:`bpy.ops.mask.slide_point` keyword arguments) + :type MASK_OT_slide_point: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy_splines() + + Copy the selected splines to the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: cyclic_toggle() + + Toggle cyclic for selected splines + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete(*, confirm=True) + + Delete selected control points or splines + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate() + + Duplicate selected control points and segments between them + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate_move(*, MASK_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Duplicate mask and move + + :param MASK_OT_duplicate: Duplicate Mask, Duplicate selected control points and segments between them (optional, :func:`bpy.ops.mask.duplicate` keyword arguments) + :type MASK_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: feather_weight_clear() + + Reset the feather weight to zero + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: handle_type_set(*, type='AUTO') + + Set type of handles for selected control points + + :param type: Type, Spline type (optional) + :type type: Literal['AUTO', 'VECTOR', 'ALIGNED', 'ALIGNED_DOUBLESIDE', 'FREE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_view_clear(*, select=True) + + Reveal temporarily hidden mask layers + + :param select: Select, (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_view_set(*, unselected=False) + + Temporarily hide mask layers + + :param unselected: Unselected, Hide unselected rather than selected layers (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_move(*, direction='UP') + + Move the active layer up/down in the list + + :param direction: Direction, Direction to move the active layer (optional) + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_new(*, name="") + + Add new mask layer for masking + + :param name: Name, Name of new mask layer (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: layer_remove() + + Remove mask layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: new(*, name="") + + Create new mask + + :param name: Name, Name of new mask (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: normals_make_consistent() + + Recalculate the direction of selected handles + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: parent_clear() + + Clear the mask's parenting + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: parent_set() + + Set the mask's parenting + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: paste_splines() + + Paste splines from the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: primitive_circle_add(*, size=100.0, location=(0.0, 0.0)) + + Add new circle-shaped spline + + :param size: Size, Size of new primitive (in [-inf, inf], optional) + :type size: float + :param location: Location, Location of new primitive (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_square_add(*, size=100.0, location=(0.0, 0.0)) + + Add new square-shaped spline + + :param size: Size, Size of new primitive (in [-inf, inf], optional) + :type size: float + :param location: Location, Location of new primitive (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select(*, extend=False, deselect=False, toggle=False, deselect_all=False, select_passthrough=False, location=(0.0, 0.0)) + + Select spline points + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param deselect: Deselect, Remove from selection (optional) + :type deselect: bool + :param toggle: Toggle Selection, Toggle the selection (optional) + :type toggle: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param select_passthrough: Only Select Unselected, Ignore the select action when the element is already selected (optional) + :type select_passthrough: bool + :param location: Location, Location of vertex in normalized space (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + Change selection of all curve points + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET') + + Select curve points using box selection + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_circle(*, x=0, y=0, radius=25, wait_for_input=True, mode='SET') + + Select curve points using circle selection + + :param x: X, (in [-inf, inf], optional) + :type x: int + :param y: Y, (in [-inf, inf], optional) + :type y: int + :param radius: Radius, (in [1, inf], optional) + :type radius: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_lasso(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, mode='SET') + + Select curve points using lasso selection + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_less() + + Deselect spline points at the boundary of each selection region + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked() + + Select all curve points linked to already selected ones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked_pick(*, deselect=False) + + (De)select all points linked to the curve under the mouse cursor + + :param deselect: Deselect, (optional) + :type deselect: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_more() + + Select more spline points connected to initial selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shape_key_clear() + + Remove mask shape keyframe for active mask layer at the current frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shape_key_feather_reset() + + Reset feather weights on all selected points animation values + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shape_key_insert() + + Insert mask shape keyframe for active mask layer at the current frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shape_key_rekey(*, location=True, feather=True) + + Recalculate animation data on selected points for frames selected in the dopesheet + + :param location: Location, (optional) + :type location: bool + :param feather: Feather, (optional) + :type feather: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: slide_point(*, slide_feather=False, is_new_point=False) + + Slide control points + + :param slide_feather: Slide Feather, First try to slide feather instead of vertex (optional) + :type slide_feather: bool + :param is_new_point: Slide New Point, Newly created vertex is being slid (optional) + :type is_new_point: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: slide_spline_curvature() + + Slide a point on the spline to define its curvature + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: switch_direction() + + Switch direction of selected splines + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.material.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.material.rst new file mode 100644 index 0000000..6961219 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.material.rst @@ -0,0 +1,23 @@ +Material Operators +================== + +.. module:: bpy.ops.material + +.. function:: copy() + + Copy the material settings and nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: new() + + Add a new material + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: paste() + + Paste the material settings and nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.mball.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.mball.rst new file mode 100644 index 0000000..fb110ee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.mball.rst @@ -0,0 +1,96 @@ +Mball Operators +=============== + +.. module:: bpy.ops.mball + +.. function:: delete_metaelems(*, confirm=True) + + Delete selected metaball element(s) + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_metaelems() + + Duplicate selected metaball element(s) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate_move(*, MBALL_OT_duplicate_metaelems={}, TRANSFORM_OT_translate={}) + + Make copies of the selected metaball elements and move them + + :param MBALL_OT_duplicate_metaelems: Duplicate Metaball Elements, Duplicate selected metaball element(s) (optional, :func:`bpy.ops.mball.duplicate_metaelems` keyword arguments) + :type MBALL_OT_duplicate_metaelems: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_metaelems(*, unselected=False) + + Hide (un)selected metaball element(s) + + :param unselected: Unselected, Hide unselected rather than selected (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reveal_metaelems(*, select=True) + + Reveal all hidden metaball elements + + :param select: Select, (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + Change selection of all metaball elements + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_random_metaelems(*, ratio=0.5, seed=0, action='SELECT') + + Randomly select metaball elements + + :param ratio: Ratio, Portion of items to select randomly (in [0, 1], optional) + :type ratio: float + :param seed: Random Seed, Seed for the random number generator (in [0, inf], optional) + :type seed: int + :param action: Action, Selection action to execute (optional) + + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + :type action: Literal['SELECT', 'DESELECT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_similar(*, type='TYPE', threshold=0.1) + + Select similar metaballs by property types + + :param type: Type, (optional) + :type type: Literal['TYPE', 'RADIUS', 'STIFFNESS', 'ROTATION'] + :param threshold: Threshold, (in [0, inf], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.mesh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.mesh.rst new file mode 100644 index 0000000..2eaea37 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.mesh.rst @@ -0,0 +1,2334 @@ +Mesh Operators +============== + +.. module:: bpy.ops.mesh + +.. function:: attribute_set(*, value_float=0.0, value_float_vector_2d=(0.0, 0.0), value_float_vector_3d=(0.0, 0.0, 0.0), value_int=0, value_int_vector_2d=(0, 0), value_color=(1.0, 1.0, 1.0, 1.0), value_bool=False) + + Set values of the active attribute for selected elements + + :param value_float: Value, (in [-inf, inf], optional) + :type value_float: float + :param value_float_vector_2d: Value, (array of 2 items, in [-inf, inf], optional) + :type value_float_vector_2d: Sequence[float] + :param value_float_vector_3d: Value, (array of 3 items, in [-inf, inf], optional) + :type value_float_vector_3d: Sequence[float] + :param value_int: Value, (in [-inf, inf], optional) + :type value_int: int + :param value_int_vector_2d: Value, (array of 2 items, in [-inf, inf], optional) + :type value_int_vector_2d: Sequence[int] + :param value_color: Value, (array of 4 items, in [-inf, inf], optional) + :type value_color: Sequence[float] + :param value_bool: Value, (optional) + :type value_bool: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: average_normals(*, average_type='CUSTOM_NORMAL', weight=50, threshold=0.01) + + Average custom normals of selected vertices + + :param average_type: Type, Averaging method (optional) + + - ``CUSTOM_NORMAL`` + Custom Normal -- Take average of vertex normals. + - ``FACE_AREA`` + Face Area -- Set all vertex normals by face area. + - ``CORNER_ANGLE`` + Corner Angle -- Set all vertex normals by corner angle. + :type average_type: Literal['CUSTOM_NORMAL', 'FACE_AREA', 'CORNER_ANGLE'] + :param weight: Weight, Weight applied per face (in [1, 100], optional) + :type weight: int + :param threshold: Threshold, Threshold value for different weights to be considered equal (in [0, 10], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: beautify_fill(*, angle_limit=3.14159) + + Rearrange some faces to try to get less degenerated geometry + + :param angle_limit: Max Angle, Angle limit (in [0, 3.14159], optional) + :type angle_limit: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bevel(*, offset_type='OFFSET', offset=0.0, profile_type='SUPERELLIPSE', offset_pct=0.0, segments=1, profile=0.5, affect='EDGES', clamp_overlap=False, loop_slide=True, mark_seam=False, mark_sharp=False, material=-1, harden_normals=False, face_strength_mode='NONE', miter_outer='SHARP', miter_inner='SHARP', spread=0.1, vmesh_method='ADJ', release_confirm=False) + + Cut into selected items at an angle to create bevel or chamfer + + :param offset_type: Width Type, The method for determining the size of the bevel (optional) + + - ``OFFSET`` + Offset -- Amount is offset of new edges from original. + - ``WIDTH`` + Width -- Amount is width of new face. + - ``DEPTH`` + Depth -- Amount is perpendicular distance from original edge to bevel face. + - ``PERCENT`` + Percent -- Amount is percent of adjacent edge length. + - ``ABSOLUTE`` + Absolute -- Amount is absolute distance along adjacent edge. + :type offset_type: Literal['OFFSET', 'WIDTH', 'DEPTH', 'PERCENT', 'ABSOLUTE'] + :param offset: Width, Bevel amount (in [0, 1e+06], optional) + :type offset: float + :param profile_type: Profile Type, The type of shape used to rebuild a beveled section (optional) + + - ``SUPERELLIPSE`` + Superellipse -- The profile can be a concave or convex curve. + - ``CUSTOM`` + Custom -- The profile can be any arbitrary path between its endpoints. + :type profile_type: Literal['SUPERELLIPSE', 'CUSTOM'] + :param offset_pct: Width Percent, Bevel amount for percentage method (in [0, 100], optional) + :type offset_pct: float + :param segments: Segments, Segments for curved edge (in [1, 1000], optional) + :type segments: int + :param profile: Profile, Controls profile shape (0.5 = round) (in [0, 1], optional) + :type profile: float + :param affect: Affect, Affect edges or vertices (optional) + + - ``VERTICES`` + Vertices -- Affect only vertices. + - ``EDGES`` + Edges -- Affect only edges. + :type affect: Literal['VERTICES', 'EDGES'] + :param clamp_overlap: Clamp Overlap, Do not allow beveled edges/vertices to overlap each other (optional) + :type clamp_overlap: bool + :param loop_slide: Loop Slide, Prefer sliding along edges to even widths (optional) + :type loop_slide: bool + :param mark_seam: Mark Seams, Preserve seams along beveled edges (optional) + :type mark_seam: bool + :param mark_sharp: Mark Sharp, Preserve sharp edges along beveled edges (optional) + :type mark_sharp: bool + :param material: Material Index, Material for bevel faces (-1 means use adjacent faces) (in [-1, inf], optional) + :type material: int + :param harden_normals: Harden Normals, Match normals of new faces to adjacent faces (optional) + :type harden_normals: bool + :param face_strength_mode: Face Strength Mode, Whether to set face strength, and which faces to set face strength on (optional) + + - ``NONE`` + None -- Do not set face strength. + - ``NEW`` + New -- Set face strength on new faces only. + - ``AFFECTED`` + Affected -- Set face strength on new and modified faces only. + - ``ALL`` + All -- Set face strength on all faces. + :type face_strength_mode: Literal['NONE', 'NEW', 'AFFECTED', 'ALL'] + :param miter_outer: Outer Miter, Pattern to use for outside of miters (optional) + + - ``SHARP`` + Sharp -- Outside of miter is sharp. + - ``PATCH`` + Patch -- Outside of miter is squared-off patch. + - ``ARC`` + Arc -- Outside of miter is arc. + :type miter_outer: Literal['SHARP', 'PATCH', 'ARC'] + :param miter_inner: Inner Miter, Pattern to use for inside of miters (optional) + + - ``SHARP`` + Sharp -- Inside of miter is sharp. + - ``ARC`` + Arc -- Inside of miter is arc. + :type miter_inner: Literal['SHARP', 'ARC'] + :param spread: Spread, Amount to spread arcs for arc inner miters (in [0, 1e+06], optional) + :type spread: float + :param vmesh_method: Vertex Mesh Method, The method to use to create meshes at intersections (optional) + + - ``ADJ`` + Grid Fill -- Default patterned fill. + - ``CUTOFF`` + Cutoff -- A cutoff at each profile's end before the intersection. + :type vmesh_method: Literal['ADJ', 'CUTOFF'] + :param release_confirm: Confirm on Release, (optional) + :type release_confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bisect(*, plane_co=(0.0, 0.0, 0.0), plane_no=(0.0, 0.0, 0.0), use_fill=False, clear_inner=False, clear_outer=False, threshold=0.0001, xstart=0, xend=0, ystart=0, yend=0, flip=False, cursor=5) + + Cut geometry along a plane (click-drag to define plane) + + :param plane_co: Plane Point, A point on the plane (array of 3 items, in [-inf, inf], optional) + :type plane_co: :class:`mathutils.Vector` | Sequence[float] + :param plane_no: Plane Normal, The direction the plane points (array of 3 items, in [-1, 1], optional) + :type plane_no: :class:`mathutils.Vector` | Sequence[float] + :param use_fill: Fill, Fill in the cut (optional) + :type use_fill: bool + :param clear_inner: Clear Inner, Remove geometry behind the plane (optional) + :type clear_inner: bool + :param clear_outer: Clear Outer, Remove geometry in front of the plane (optional) + :type clear_outer: bool + :param threshold: Axis Threshold, Preserves the existing geometry along the cut plane (in [0, 10], optional) + :type threshold: float + :param xstart: X Start, (in [-inf, inf], optional) + :type xstart: int + :param xend: X End, (in [-inf, inf], optional) + :type xend: int + :param ystart: Y Start, (in [-inf, inf], optional) + :type ystart: int + :param yend: Y End, (in [-inf, inf], optional) + :type yend: int + :param flip: Flip, (optional) + :type flip: bool + :param cursor: Cursor, Mouse cursor style to use during the modal operator (in [0, inf], optional) + :type cursor: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: blend_from_shape(*, shape='', blend=1.0, add=True) + + Blend in shape from a shape key + + :param shape: Shape, Shape key to use for blending (optional) + :type shape: str + :param blend: Blend, Blending factor (in [-1000, 1000], optional) + :type blend: float + :param add: Add, Add rather than blend between shapes (optional) + :type add: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bridge_edge_loops(*, type='SINGLE', use_merge=False, merge_factor=0.5, twist_offset=0, number_cuts=0, interpolation='PATH', smoothness=1.0, profile_shape_factor=0.0, profile_shape='SMOOTH') + + Create a bridge of faces between two or more selected edge loops + + :param type: Connect Loops, Method of bridging multiple loops (optional) + :type type: Literal['SINGLE', 'CLOSED', 'PAIRS'] + :param use_merge: Merge, Merge rather than creating faces (optional) + :type use_merge: bool + :param merge_factor: Merge Factor, (in [0, 1], optional) + :type merge_factor: float + :param twist_offset: Twist, Twist offset for closed loops (in [-1000, 1000], optional) + :type twist_offset: int + :param number_cuts: Number of Cuts, (in [0, 1000], optional) + :type number_cuts: int + :param interpolation: Interpolation, Interpolation method (optional) + :type interpolation: Literal['LINEAR', 'PATH', 'SURFACE'] + :param smoothness: Smoothness, Smoothness factor (in [0, 1000], optional) + :type smoothness: float + :param profile_shape_factor: Profile Factor, How much intermediary new edges are shrunk/expanded (in [-1000, 1000], optional) + :type profile_shape_factor: float + :param profile_shape: Profile Shape, Shape of the profile (optional) + :type profile_shape: Literal[:ref:`rna_enum_proportional_falloff_curve_only_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: colors_reverse() + + Flip direction of face corner color attribute inside faces + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: colors_rotate(*, use_ccw=False) + + Rotate face corner color attribute inside faces + + :param use_ccw: Counter Clockwise, (optional) + :type use_ccw: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: customdata_custom_splitnormals_add() + + Add a custom normals layer, if none exists yet + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: customdata_custom_splitnormals_clear() + + Remove the custom normals layer, if it exists + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: customdata_mask_clear() + + Clear vertex sculpt masking data from the mesh + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: customdata_skin_add() + + Add a vertex skin layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: customdata_skin_clear() + + Clear vertex skin layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: decimate(*, ratio=1.0, use_vertex_group=False, vertex_group_factor=1.0, invert_vertex_group=False, use_symmetry=False, symmetry_axis='Y') + + Simplify geometry by collapsing edges + + :param ratio: Ratio, (in [0, 1], optional) + :type ratio: float + :param use_vertex_group: Vertex Group, Use active vertex group as an influence (optional) + :type use_vertex_group: bool + :param vertex_group_factor: Weight, Vertex group strength (in [0, 1000], optional) + :type vertex_group_factor: float + :param invert_vertex_group: Invert, Invert vertex group influence (optional) + :type invert_vertex_group: bool + :param use_symmetry: Symmetry, Maintain symmetry on an axis (optional) + :type use_symmetry: bool + :param symmetry_axis: Axis, Axis of symmetry (optional) + :type symmetry_axis: Literal[:ref:`rna_enum_axis_xyz_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete(*, type='VERT') + + Delete selected vertices, edges or faces + + :param type: Type, Method used for deleting mesh data (optional) + :type type: Literal['VERT', 'EDGE', 'FACE', 'EDGE_FACE', 'ONLY_FACE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete_edgeloop(*, use_face_split=True) + + Delete an edge loop by merging the faces on each side + + :param use_face_split: Face Split, Split off face corners to maintain surrounding geometry (optional) + :type use_face_split: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete_loose(*, use_verts=True, use_edges=True, use_faces=False) + + Delete loose vertices, edges or faces + + :param use_verts: Vertices, Remove loose vertices (optional) + :type use_verts: bool + :param use_edges: Edges, Remove loose edges (optional) + :type use_edges: bool + :param use_faces: Faces, Remove loose faces (optional) + :type use_faces: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dissolve_degenerate(*, threshold=0.0001) + + Dissolve zero area faces and zero length edges + + :param threshold: Merge Distance, Maximum distance between elements to merge (in [1e-06, 50], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dissolve_edges(*, use_verts=True, angle_threshold=3.14159, use_face_split=False) + + Dissolve edges, merging faces + + :param use_verts: Dissolve Vertices, Dissolve remaining vertices which connect to only two edges (optional) + :type use_verts: bool + :param angle_threshold: Angle Threshold, Remaining vertices which separate edge pairs are preserved if their edge angle exceeds this threshold. (in [0, 3.14159], optional) + :type angle_threshold: float + :param use_face_split: Face Split, Split off face corners to maintain surrounding geometry (optional) + :type use_face_split: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dissolve_faces(*, use_verts=False) + + Dissolve faces + + :param use_verts: Dissolve Vertices, Dissolve remaining vertices which connect to only two edges (optional) + :type use_verts: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dissolve_limited(*, angle_limit=0.0872665, use_dissolve_boundaries=False, delimit={'NORMAL'}) + + Dissolve selected edges and vertices, limited by the angle of surrounding geometry + + :param angle_limit: Max Angle, Angle limit (in [0, 3.14159], optional) + :type angle_limit: float + :param use_dissolve_boundaries: All Boundaries, Dissolve all vertices in between face boundaries (optional) + :type use_dissolve_boundaries: bool + :param delimit: Delimit, Delimit dissolve operation (optional) + :type delimit: set[Literal[:ref:`rna_enum_mesh_delimit_mode_items`]] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dissolve_mode(*, use_verts=False, angle_threshold=3.14159, use_face_split=False, use_boundary_tear=False) + + Dissolve geometry based on the selection mode + + :param use_verts: Dissolve Vertices, Dissolve remaining vertices which connect to only two edges (optional) + :type use_verts: bool + :param angle_threshold: Angle Threshold, Remaining vertices which separate edge pairs are preserved if their edge angle exceeds this threshold. (in [0, 3.14159], optional) + :type angle_threshold: float + :param use_face_split: Face Split, Split off face corners to maintain surrounding geometry (optional) + :type use_face_split: bool + :param use_boundary_tear: Tear Boundary, Split off face corners instead of merging faces (optional) + :type use_boundary_tear: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dissolve_verts(*, use_face_split=False, use_boundary_tear=False) + + Dissolve vertices, merge edges and faces + + :param use_face_split: Face Split, Split off face corners to maintain surrounding geometry (optional) + :type use_face_split: bool + :param use_boundary_tear: Tear Boundary, Split off face corners instead of merging faces (optional) + :type use_boundary_tear: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dupli_extrude_cursor(*, rotate_source=True) + + Duplicate and extrude selected vertices, edges or faces towards the mouse cursor + + :param rotate_source: Rotate Source, Rotate initial selection giving better shape (optional) + :type rotate_source: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate(*, mode=1) + + Duplicate selected vertices, edges or faces + + :param mode: Mode, (in [0, inf], optional) + :type mode: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_move(*, MESH_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Duplicate mesh and move + + :param MESH_OT_duplicate: Duplicate, Duplicate selected vertices, edges or faces (optional, :func:`bpy.ops.mesh.duplicate` keyword arguments) + :type MESH_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: edge_collapse() + + Collapse isolated edge and face regions, merging data such as UVs and color attributes. This can collapse edge-rings as well as regions of connected faces into vertices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: edge_face_add() + + Add an edge or face to selected + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: edge_rotate(*, use_ccw=False) + + Rotate selected edge or adjoining faces + + :param use_ccw: Counter Clockwise, (optional) + :type use_ccw: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: edge_split(*, type='EDGE') + + Split selected edges so that each neighbor face gets its own copy + + :param type: Type, Method to use for splitting (optional) + + - ``EDGE`` + Faces by Edges -- Split faces along selected edges. + - ``VERT`` + Faces & Edges by Vertices -- Split faces and edges connected to selected vertices. + :type type: Literal['EDGE', 'VERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: edgering_select(*, delimit_edge_ring={'NGONS'}, extend=False, deselect=False, toggle=False, object_index=-1, edge_index=-1, vert_index=-1, face_index=-1) + + Select an edge ring + + :param delimit_edge_ring: Edge Ring Delimit, Delimit edge ring selection (optional) + :type delimit_edge_ring: set[Literal[:ref:`rna_enum_mesh_walk_delimit_edge_ring_items`]] + :param extend: Extend Select, Extend the selection (optional) + :type extend: bool + :param deselect: Deselect, Remove from the selection (optional) + :type deselect: bool + :param toggle: Toggle Select, Toggle the selection (optional) + :type toggle: bool + :param object_index: (in [-1, inf], optional) + :type object_index: int + :param edge_index: (in [-1, inf], optional) + :type edge_index: int + :param vert_index: (in [-1, inf], optional) + :type vert_index: int + :param face_index: (in [-1, inf], optional) + :type face_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: edges_select_sharp(*, sharpness=0.523599) + + Select all sharp enough edges + + :param sharpness: Sharpness, (in [0.000174533, 3.14159], optional) + :type sharpness: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_context(*, use_normal_flip=False, use_dissolve_ortho_edges=False, mirror=False) + + Extrude selection + + :param use_normal_flip: Flip Normals, (optional) + :type use_normal_flip: bool + :param use_dissolve_ortho_edges: Dissolve Orthogonal Edges, (optional) + :type use_dissolve_ortho_edges: bool + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_context_move(*, MESH_OT_extrude_context={}, TRANSFORM_OT_translate={}) + + Extrude region together along the average normal + + :param MESH_OT_extrude_context: Extrude Context, Extrude selection (optional, :func:`bpy.ops.mesh.extrude_context` keyword arguments) + :type MESH_OT_extrude_context: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_edges_indiv(*, use_normal_flip=False, mirror=False) + + Extrude individual edges only + + :param use_normal_flip: Flip Normals, (optional) + :type use_normal_flip: bool + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_edges_move(*, MESH_OT_extrude_edges_indiv={}, TRANSFORM_OT_translate={}) + + Extrude edges and move result + + :param MESH_OT_extrude_edges_indiv: Extrude Only Edges, Extrude individual edges only (optional, :func:`bpy.ops.mesh.extrude_edges_indiv` keyword arguments) + :type MESH_OT_extrude_edges_indiv: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_faces_indiv(*, mirror=False) + + Extrude individual faces only + + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_faces_move(*, MESH_OT_extrude_faces_indiv={}, TRANSFORM_OT_shrink_fatten={}) + + Extrude each individual face separately along local normals + + :param MESH_OT_extrude_faces_indiv: Extrude Individual Faces, Extrude individual faces only (optional, :func:`bpy.ops.mesh.extrude_faces_indiv` keyword arguments) + :type MESH_OT_extrude_faces_indiv: dict[str, Any] + :param TRANSFORM_OT_shrink_fatten: Shrink/Fatten, Shrink/fatten selected vertices along normals (optional, :func:`bpy.ops.transform.shrink_fatten` keyword arguments) + :type TRANSFORM_OT_shrink_fatten: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_manifold(*, MESH_OT_extrude_region={}, TRANSFORM_OT_translate={}) + + Extrude, dissolves edges whose faces form a flat surface and intersect new edges + + :param MESH_OT_extrude_region: Extrude Region, Extrude region of faces (optional, :func:`bpy.ops.mesh.extrude_region` keyword arguments) + :type MESH_OT_extrude_region: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_region(*, use_normal_flip=False, use_dissolve_ortho_edges=False, mirror=False) + + Extrude region of faces + + :param use_normal_flip: Flip Normals, (optional) + :type use_normal_flip: bool + :param use_dissolve_ortho_edges: Dissolve Orthogonal Edges, (optional) + :type use_dissolve_ortho_edges: bool + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_region_move(*, MESH_OT_extrude_region={}, TRANSFORM_OT_translate={}) + + Extrude region and move result + + :param MESH_OT_extrude_region: Extrude Region, Extrude region of faces (optional, :func:`bpy.ops.mesh.extrude_region` keyword arguments) + :type MESH_OT_extrude_region: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_region_shrink_fatten(*, MESH_OT_extrude_region={}, TRANSFORM_OT_shrink_fatten={}) + + Extrude region together along local normals + + :param MESH_OT_extrude_region: Extrude Region, Extrude region of faces (optional, :func:`bpy.ops.mesh.extrude_region` keyword arguments) + :type MESH_OT_extrude_region: dict[str, Any] + :param TRANSFORM_OT_shrink_fatten: Shrink/Fatten, Shrink/fatten selected vertices along normals (optional, :func:`bpy.ops.transform.shrink_fatten` keyword arguments) + :type TRANSFORM_OT_shrink_fatten: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_repeat(*, steps=10, offset=(0.0, 0.0, 0.0), scale_offset=1.0) + + Extrude selected vertices, edges or faces repeatedly + + :param steps: Steps, (in [0, 1000000], optional) + :type steps: int + :param offset: Offset, Offset vector (array of 3 items, in [-100000, 100000], optional) + :type offset: :class:`mathutils.Vector` | Sequence[float] + :param scale_offset: Scale Offset, (in [0, inf], optional) + :type scale_offset: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_vertices_move(*, MESH_OT_extrude_verts_indiv={}, TRANSFORM_OT_translate={}) + + Extrude vertices and move result + + :param MESH_OT_extrude_verts_indiv: Extrude Only Vertices, Extrude individual vertices only (optional, :func:`bpy.ops.mesh.extrude_verts_indiv` keyword arguments) + :type MESH_OT_extrude_verts_indiv: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extrude_verts_indiv(*, mirror=False) + + Extrude individual vertices only + + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_make_planar(*, factor=1.0, repeat=1) + + Flatten selected faces + + :param factor: Factor, (in [-10, 10], optional) + :type factor: float + :param repeat: Iterations, (in [1, 10000], optional) + :type repeat: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_split_by_edges() + + Weld loose edges into faces (splitting them into new faces) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: faces_select_linked_flat(*, sharpness=0.0174533) + + Select linked faces by angle + + :param sharpness: Sharpness, (in [0.000174533, 3.14159], optional) + :type sharpness: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: faces_shade_flat() + + Display faces flat + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: faces_shade_smooth() + + Display faces smooth (using vertex normals) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: fill(*, use_beauty=True) + + Fill a selected edge loop with faces + + :param use_beauty: Beauty, Use best triangulation division (optional) + :type use_beauty: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: fill_grid(*, span=1, offset=0, use_interp_simple=False) + + Fill grid from two loops + + :param span: Span, Number of grid columns (in [1, 1000], optional) + :type span: int + :param offset: Offset, Vertex that is the corner of the grid (in [-1000, 1000], optional) + :type offset: int + :param use_interp_simple: Simple Blending, Use simple interpolation of grid vertices (optional) + :type use_interp_simple: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: fill_holes(*, sides=4) + + Fill in holes (boundary edge loops) + + :param sides: Sides, Number of sides in hole required to fill (zero fills all holes) (in [0, 1000], optional) + :type sides: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: flip_normals(*, only_clnors=False) + + Flip the direction of selected faces' normals (and of their vertices) + + :param only_clnors: Custom Normals Only, Only flip the custom loop normals of the selected elements (optional) + :type only_clnors: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: flip_quad_tessellation() + + Flips the tessellation of selected quads + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: hide(*, unselected=False) + + Hide (un)selected vertices, edges or faces + + :param unselected: Unselected, Hide unselected rather than selected (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: inset(*, use_boundary=True, use_even_offset=True, use_relative_offset=False, use_edge_rail=False, thickness=0.0, depth=0.0, use_outset=False, use_select_inset=False, use_individual=False, use_interpolate=True, release_confirm=False) + + Inset new faces into selected faces + + :param use_boundary: Boundary, Inset face boundaries (optional) + :type use_boundary: bool + :param use_even_offset: Offset Even, Scale the offset to give more even thickness (optional) + :type use_even_offset: bool + :param use_relative_offset: Offset Relative, Scale the offset by surrounding geometry (optional) + :type use_relative_offset: bool + :param use_edge_rail: Edge Rail, Inset the region along existing edges (optional) + :type use_edge_rail: bool + :param thickness: Thickness, (in [0, inf], optional) + :type thickness: float + :param depth: Depth, (in [-inf, inf], optional) + :type depth: float + :param use_outset: Outset, Outset rather than inset (optional) + :type use_outset: bool + :param use_select_inset: Select Outer, Select the new inset faces (optional) + :type use_select_inset: bool + :param use_individual: Individual, Individual face inset (optional) + :type use_individual: bool + :param use_interpolate: Interpolate, Blend face data across the inset (optional) + :type use_interpolate: bool + :param release_confirm: Confirm on Release, (optional) + :type release_confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: intersect(*, mode='SELECT_UNSELECT', separate_mode='CUT', threshold=1e-06, solver='EXACT') + + Cut an intersection into faces + + :param mode: Source, (optional) + + - ``SELECT`` + Self Intersect -- Self intersect selected faces. + - ``SELECT_UNSELECT`` + Selected/Unselected -- Intersect selected with unselected faces. + :type mode: Literal['SELECT', 'SELECT_UNSELECT'] + :param separate_mode: Separate Mode, (optional) + + - ``ALL`` + All -- Separate all geometry from intersections. + - ``CUT`` + Cut -- Cut into geometry keeping each side separate (Selected/Unselected only). + - ``NONE`` + Merge -- Merge all geometry from the intersection. + :type separate_mode: Literal['ALL', 'CUT', 'NONE'] + :param threshold: Merge Threshold, (in [0, 0.01], optional) + :type threshold: float + :param solver: Solver, Which Intersect solver to use (optional) + + - ``FLOAT`` + Float -- Simple solver with good performance, without support for overlapping geometry. + - ``EXACT`` + Exact -- Slower solver with the best results for coplanar faces. + :type solver: Literal['FLOAT', 'EXACT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: intersect_boolean(*, operation='DIFFERENCE', use_swap=False, use_self=False, threshold=1e-06, solver='EXACT') + + Cut solid geometry from selected to unselected + + :param operation: Boolean Operation, Which boolean operation to apply (optional) + :type operation: Literal['INTERSECT', 'UNION', 'DIFFERENCE'] + :param use_swap: Swap, Use with difference intersection to swap which side is kept (optional) + :type use_swap: bool + :param use_self: Self Intersection, Do self-union or self-intersection (optional) + :type use_self: bool + :param threshold: Merge Threshold, (in [0, 0.01], optional) + :type threshold: float + :param solver: Solver, Which Boolean solver to use (optional) + + - ``FLOAT`` + Float -- Faster solver, some limitations. + - ``EXACT`` + Exact -- Exact solver, slower, handles more cases. + :type solver: Literal['FLOAT', 'EXACT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: knife_project(*, cut_through=False) + + Use other objects outlines and boundaries to project knife cuts + + :param cut_through: Cut Through, Cut through all faces, not just visible ones (optional) + :type cut_through: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: knife_tool(*, use_occlude_geometry=True, only_selected=False, xray=True, visible_measurements='NONE', angle_snapping='NONE', angle_snapping_increment=0.523599, wait_for_input=True) + + Cut new topology + + :param use_occlude_geometry: Occlude Geometry, Only cut the front most geometry (optional) + :type use_occlude_geometry: bool + :param only_selected: Only Selected, Only cut selected geometry (optional) + :type only_selected: bool + :param xray: X-Ray, Show cuts hidden by geometry (optional) + :type xray: bool + :param visible_measurements: Measurements, Visible distance and angle measurements (optional) + + - ``NONE`` + None -- Show no measurements. + - ``BOTH`` + Both -- Show both distances and angles. + - ``DISTANCE`` + Distance -- Show just distance measurements. + - ``ANGLE`` + Angle -- Show just angle measurements. + :type visible_measurements: Literal['NONE', 'BOTH', 'DISTANCE', 'ANGLE'] + :param angle_snapping: Angle Snapping, Angle snapping mode (optional) + + - ``NONE`` + None -- No angle snapping. + - ``SCREEN`` + Screen -- Screen space angle snapping. + - ``RELATIVE`` + Relative -- Angle snapping relative to the previous cut edge. + :type angle_snapping: Literal['NONE', 'SCREEN', 'RELATIVE'] + :param angle_snapping_increment: Angle Snap Increment, The angle snap increment used when in constrained angle mode (in [0, 3.14159], optional) + :type angle_snapping_increment: float + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: loop_select(*, delimit_edge_loop={'NGONS', 'OUTER_CORNERS'}, delimit_face_loop=set(), extend=False, deselect=False, toggle=False, object_index=-1, edge_index=-1, vert_index=-1, face_index=-1) + + Select a loop of connected edges + + :param delimit_edge_loop: Delimit, Delimit edge loop selection (optional) + :type delimit_edge_loop: set[Literal[:ref:`rna_enum_mesh_walk_delimit_edge_loop_items`]] + :param delimit_face_loop: Face Loop Delimit, Delimit face loop selection (optional) + :type delimit_face_loop: set[Literal[:ref:`rna_enum_mesh_walk_delimit_face_loop_items`]] + :param extend: Extend Select, Extend the selection (optional) + :type extend: bool + :param deselect: Deselect, Remove from the selection (optional) + :type deselect: bool + :param toggle: Toggle Select, Toggle the selection (optional) + :type toggle: bool + :param object_index: (in [-1, inf], optional) + :type object_index: int + :param edge_index: (in [-1, inf], optional) + :type edge_index: int + :param vert_index: (in [-1, inf], optional) + :type vert_index: int + :param face_index: (in [-1, inf], optional) + :type face_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: loop_to_region(*, select_bigger=False) + + Select region of faces inside of a selected loop of edges + + :param select_bigger: Select Bigger, Select bigger regions instead of smaller ones (optional) + :type select_bigger: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: loopcut(*, number_cuts=1, smoothness=0.0, falloff='INVERSE_SQUARE', object_index=-1, edge_index=-1, mesh_select_mode_init=(False, False, False)) + + Add a new loop between existing loops + + :param number_cuts: Number of Cuts, (in [1, 1000000], optional) + :type number_cuts: int + :param smoothness: Smoothness, Smoothness factor (in [-1000, 1000], optional) + :type smoothness: float + :param falloff: Falloff, Falloff type of the feather (optional) + :type falloff: Literal[:ref:`rna_enum_proportional_falloff_curve_only_items`] + :param object_index: Object Index, (in [-1, inf], optional) + :type object_index: int + :param edge_index: Edge Index, (in [-1, inf], optional) + :type edge_index: int + :param mesh_select_mode_init: (array of 3 items, optional) + :type mesh_select_mode_init: Sequence[bool] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: loopcut_slide(*, MESH_OT_loopcut={}, TRANSFORM_OT_edge_slide={}) + + Cut mesh loop and slide it + + :param MESH_OT_loopcut: Loop Cut, Add a new loop between existing loops (optional, :func:`bpy.ops.mesh.loopcut` keyword arguments) + :type MESH_OT_loopcut: dict[str, Any] + :param TRANSFORM_OT_edge_slide: Edge Slide, Slide an edge loop along a mesh (optional, :func:`bpy.ops.transform.edge_slide` keyword arguments) + :type TRANSFORM_OT_edge_slide: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mark_seam(*, clear=False) + + (Un)mark selected edges as a seam + + :param clear: Clear, (optional) + :type clear: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mark_sharp(*, clear=False, use_verts=False) + + (Un)mark selected edges as sharp + + :param clear: Clear, (optional) + :type clear: bool + :param use_verts: Vertices, Consider vertices instead of edges to select which edges to (un)tag as sharp (optional) + :type use_verts: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: merge(*, type='CENTER', uvs=False) + + Merge selected vertices + + :param type: Type, Merge method to use (optional) + :type type: Literal['CENTER', 'CURSOR', 'COLLAPSE', 'FIRST', 'LAST'] + :param uvs: UVs, Move UVs according to merge (optional) + :type uvs: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: merge_normals() + + Merge custom normals of selected vertices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: mod_weighted_strength(*, set=False, face_strength='MEDIUM') + + Set/Get strength of face (used in Weighted Normal modifier) + + :param set: Set Value, Set value of faces (optional) + :type set: bool + :param face_strength: Face Strength, Strength to use for assigning or selecting face influence for weighted normal modifier (optional) + :type face_strength: Literal['WEAK', 'MEDIUM', 'STRONG'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: normals_make_consistent(*, inside=False) + + Make face and vertex normals point either outside or inside the mesh + + :param inside: Inside, (optional) + :type inside: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: normals_tools(*, mode='COPY', absolute=False) + + Custom normals tools using Normal Vector of UI + + :param mode: Mode, Mode of tools taking input from interface (optional) + + - ``COPY`` + Copy Normal -- Copy normal to the internal clipboard. + - ``PASTE`` + Paste Normal -- Paste normal from the internal clipboard. + - ``ADD`` + Add Normal -- Add normal vector with selection. + - ``MULTIPLY`` + Multiply Normal -- Multiply normal vector with selection. + - ``RESET`` + Reset Normal -- Reset the internal clipboard and/or normal of selected element. + :type mode: Literal['COPY', 'PASTE', 'ADD', 'MULTIPLY', 'RESET'] + :param absolute: Absolute Coordinates, Copy Absolute coordinates of Normal vector (optional) + :type absolute: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: offset_edge_loops(*, use_cap_endpoint=False) + + Create offset edge loop from the current selection + + :param use_cap_endpoint: Cap Endpoint, Extend loop around end-points (optional) + :type use_cap_endpoint: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: offset_edge_loops_slide(*, MESH_OT_offset_edge_loops={}, TRANSFORM_OT_edge_slide={}) + + Offset edge loop slide + + :param MESH_OT_offset_edge_loops: Offset Edge Loop, Create offset edge loop from the current selection (optional, :func:`bpy.ops.mesh.offset_edge_loops` keyword arguments) + :type MESH_OT_offset_edge_loops: dict[str, Any] + :param TRANSFORM_OT_edge_slide: Edge Slide, Slide an edge loop along a mesh (optional, :func:`bpy.ops.transform.edge_slide` keyword arguments) + :type TRANSFORM_OT_edge_slide: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: point_normals(*, mode='COORDINATES', invert=False, align=False, target_location=(0.0, 0.0, 0.0), spherize=False, spherize_strength=0.1) + + Point selected custom normals to specified Target + + :param mode: Mode, How to define coordinates to point custom normals to (optional) + + - ``COORDINATES`` + Coordinates -- Use static coordinates (defined by various means). + - ``MOUSE`` + Mouse -- Follow mouse cursor. + :type mode: Literal['COORDINATES', 'MOUSE'] + :param invert: Invert, Invert affected normals (optional) + :type invert: bool + :param align: Align, Make all affected normals parallel (optional) + :type align: bool + :param target_location: Target, Target location to which normals will point (array of 3 items, in [-inf, inf], optional) + :type target_location: :class:`mathutils.Vector` | Sequence[float] + :param spherize: Spherize, Interpolate between original and new normals (optional) + :type spherize: bool + :param spherize_strength: Spherize Strength, Ratio of spherized normal to original normal (in [0, 1], optional) + :type spherize_strength: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: poke(*, offset=0.0, use_relative_offset=False, center_mode='MEDIAN_WEIGHTED') + + Split a face into a fan + + :param offset: Poke Offset, Poke Offset (in [-1000, 1000], optional) + :type offset: float + :param use_relative_offset: Offset Relative, Scale the offset by surrounding geometry (optional) + :type use_relative_offset: bool + :param center_mode: Poke Center, Poke face center calculation (optional) + + - ``MEDIAN_WEIGHTED`` + Weighted Median -- Weighted median face center. + - ``MEDIAN`` + Median -- Median face center. + - ``BOUNDS`` + Bounds -- Face bounds center. + :type center_mode: Literal['MEDIAN_WEIGHTED', 'MEDIAN', 'BOUNDS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: polybuild_delete_at_cursor(*, mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, release_confirm=False, use_accurate=False) + + Undocumented, consider `contributing `__. + + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: polybuild_dissolve_at_cursor() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: polybuild_extrude_at_cursor_move(*, MESH_OT_polybuild_transform_at_cursor={}, MESH_OT_extrude_edges_indiv={}, TRANSFORM_OT_translate={}) + + Undocumented, consider `contributing `__. + + :param MESH_OT_polybuild_transform_at_cursor: Poly Build Transform at Cursor, (optional, :func:`bpy.ops.mesh.polybuild_transform_at_cursor` keyword arguments) + :type MESH_OT_polybuild_transform_at_cursor: dict[str, Any] + :param MESH_OT_extrude_edges_indiv: Extrude Only Edges, Extrude individual edges only (optional, :func:`bpy.ops.mesh.extrude_edges_indiv` keyword arguments) + :type MESH_OT_extrude_edges_indiv: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: polybuild_face_at_cursor(*, create_quads=True, mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, release_confirm=False, use_accurate=False) + + Undocumented, consider `contributing `__. + + :param create_quads: Create Quads, Automatically split edges in triangles to maintain quad topology (optional) + :type create_quads: bool + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: polybuild_face_at_cursor_move(*, MESH_OT_polybuild_face_at_cursor={}, TRANSFORM_OT_translate={}) + + Undocumented, consider `contributing `__. + + :param MESH_OT_polybuild_face_at_cursor: Poly Build Face at Cursor, (optional, :func:`bpy.ops.mesh.polybuild_face_at_cursor` keyword arguments) + :type MESH_OT_polybuild_face_at_cursor: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: polybuild_split_at_cursor(*, mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, release_confirm=False, use_accurate=False) + + Undocumented, consider `contributing `__. + + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: polybuild_split_at_cursor_move(*, MESH_OT_polybuild_split_at_cursor={}, TRANSFORM_OT_translate={}) + + Undocumented, consider `contributing `__. + + :param MESH_OT_polybuild_split_at_cursor: Poly Build Split at Cursor, (optional, :func:`bpy.ops.mesh.polybuild_split_at_cursor` keyword arguments) + :type MESH_OT_polybuild_split_at_cursor: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: polybuild_transform_at_cursor(*, mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, release_confirm=False, use_accurate=False) + + Undocumented, consider `contributing `__. + + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: polybuild_transform_at_cursor_move(*, MESH_OT_polybuild_transform_at_cursor={}, TRANSFORM_OT_translate={}) + + Undocumented, consider `contributing `__. + + :param MESH_OT_polybuild_transform_at_cursor: Poly Build Transform at Cursor, (optional, :func:`bpy.ops.mesh.polybuild_transform_at_cursor` keyword arguments) + :type MESH_OT_polybuild_transform_at_cursor: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_circle_add(*, vertices=32, radius=1.0, fill_type='NOTHING', calc_uvs=True, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a circle mesh + + :param vertices: Vertices, (in [3, 10000000], optional) + :type vertices: int + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param fill_type: Fill Type, (optional) + + - ``NOTHING`` + Nothing -- Don't fill at all. + - ``NGON`` + N-Gon -- Use n-gons. + - ``TRIFAN`` + Triangle Fan -- Use triangle fans. + :type fill_type: Literal['NOTHING', 'NGON', 'TRIFAN'] + :param calc_uvs: Generate UVs, Generate a default UV map (optional) + :type calc_uvs: bool + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_cone_add(*, vertices=32, radius1=1.0, radius2=0.0, depth=2.0, end_fill_type='NGON', calc_uvs=True, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a conic mesh + + :param vertices: Vertices, (in [3, 10000000], optional) + :type vertices: int + :param radius1: Radius 1, (in [0, inf], optional) + :type radius1: float + :param radius2: Radius 2, (in [0, inf], optional) + :type radius2: float + :param depth: Depth, (in [0, inf], optional) + :type depth: float + :param end_fill_type: Base Fill Type, (optional) + + - ``NOTHING`` + Nothing -- Don't fill at all. + - ``NGON`` + N-Gon -- Use n-gons. + - ``TRIFAN`` + Triangle Fan -- Use triangle fans. + :type end_fill_type: Literal['NOTHING', 'NGON', 'TRIFAN'] + :param calc_uvs: Generate UVs, Generate a default UV map (optional) + :type calc_uvs: bool + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_cube_add(*, size=2.0, calc_uvs=True, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a cube mesh that consists of six square faces + + :param size: Size, (in [0, inf], optional) + :type size: float + :param calc_uvs: Generate UVs, Generate a default UV map (optional) + :type calc_uvs: bool + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_cube_add_gizmo(*, calc_uvs=True, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0), matrix=((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + Construct a cube mesh + + :param calc_uvs: Generate UVs, Generate a default UV map (optional) + :type calc_uvs: bool + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :param matrix: Matrix, (multi-dimensional array of 4 * 4 items, in [-inf, inf], optional) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_cylinder_add(*, vertices=32, radius=1.0, depth=2.0, end_fill_type='NGON', calc_uvs=True, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a cylinder mesh + + :param vertices: Vertices, (in [3, 10000000], optional) + :type vertices: int + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param depth: Depth, (in [0, inf], optional) + :type depth: float + :param end_fill_type: Cap Fill Type, (optional) + + - ``NOTHING`` + Nothing -- Don't fill at all. + - ``NGON`` + N-Gon -- Use n-gons. + - ``TRIFAN`` + Triangle Fan -- Use triangle fans. + :type end_fill_type: Literal['NOTHING', 'NGON', 'TRIFAN'] + :param calc_uvs: Generate UVs, Generate a default UV map (optional) + :type calc_uvs: bool + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_grid_add(*, x_subdivisions=10, y_subdivisions=10, size=2.0, calc_uvs=True, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a subdivided plane mesh + + :param x_subdivisions: X Subdivisions, (in [1, 10000000], optional) + :type x_subdivisions: int + :param y_subdivisions: Y Subdivisions, (in [1, 10000000], optional) + :type y_subdivisions: int + :param size: Size, (in [0, inf], optional) + :type size: float + :param calc_uvs: Generate UVs, Generate a default UV map (optional) + :type calc_uvs: bool + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_ico_sphere_add(*, subdivisions=2, radius=1.0, calc_uvs=True, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a spherical mesh that consists of equally sized triangles + + :param subdivisions: Subdivisions, (in [1, 10], optional) + :type subdivisions: int + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param calc_uvs: Generate UVs, Generate a default UV map (optional) + :type calc_uvs: bool + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_monkey_add(*, size=2.0, calc_uvs=True, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a Suzanne mesh + + :param size: Size, (in [0, inf], optional) + :type size: float + :param calc_uvs: Generate UVs, Generate a default UV map (optional) + :type calc_uvs: bool + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_plane_add(*, size=2.0, calc_uvs=True, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a filled planar mesh with 4 vertices + + :param size: Size, (in [0, inf], optional) + :type size: float + :param calc_uvs: Generate UVs, Generate a default UV map (optional) + :type calc_uvs: bool + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_torus_add(*, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), major_segments=48, minor_segments=12, mode='MAJOR_MINOR', major_radius=1.0, minor_radius=0.25, abso_major_rad=1.25, abso_minor_rad=0.75, generate_uvs=True) + + Construct a torus mesh + + :param align: Align, (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param major_segments: Major Segments, Number of segments for the main ring of the torus (in [3, 256], optional) + :type major_segments: int + :param minor_segments: Minor Segments, Number of segments for the minor ring of the torus (in [3, 256], optional) + :type minor_segments: int + :param mode: Dimensions Mode, (optional) + + - ``MAJOR_MINOR`` + Major/Minor -- Use the major/minor radii for torus dimensions. + - ``EXT_INT`` + Exterior/Interior -- Use the exterior/interior radii for torus dimensions. + :type mode: Literal['MAJOR_MINOR', 'EXT_INT'] + :param major_radius: Major Radius, Radius from the origin to the center of the cross sections (in [0, 10000], optional) + :type major_radius: float + :param minor_radius: Minor Radius, Radius of the torus's cross section (in [0, 10000], optional) + :type minor_radius: float + :param abso_major_rad: Exterior Radius, Total Exterior Radius of the torus (in [0, 10000], optional) + :type abso_major_rad: float + :param abso_minor_rad: Interior Radius, Total Interior Radius of the torus (in [0, 10000], optional) + :type abso_minor_rad: float + :param generate_uvs: Generate UVs, Generate a default UV map (optional) + :type generate_uvs: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/add_mesh_torus.py\:222 `__ + + +.. function:: primitive_uv_sphere_add(*, segments=32, ring_count=16, radius=1.0, calc_uvs=True, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a spherical mesh with quad faces, except for triangle faces at the top and bottom + + :param segments: Segments, (in [3, 100000], optional) + :type segments: int + :param ring_count: Rings, (in [3, 100000], optional) + :type ring_count: int + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param calc_uvs: Generate UVs, Generate a default UV map (optional) + :type calc_uvs: bool + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: quads_convert_to_tris(*, quad_method='BEAUTY', ngon_method='BEAUTY') + + Triangulate selected faces + + :param quad_method: Quad Method, Method for splitting the quads into triangles (optional) + :type quad_method: Literal[:ref:`rna_enum_modifier_triangulate_quad_method_items`] + :param ngon_method: N-gon Method, Method for splitting the n-gons into triangles (optional) + :type ngon_method: Literal[:ref:`rna_enum_modifier_triangulate_ngon_method_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: region_to_loop() + + Select boundary edges around the selected faces + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: remove_doubles(*, threshold=0.0001, use_centroid=True, use_unselected=False, use_sharp_edge_from_normals=False) + + Merge vertices based on their proximity + + :param threshold: Merge Distance, Maximum distance between elements to merge (in [1e-06, 50], optional) + :type threshold: float + :param use_centroid: Centroid Merge, Move vertices to the centroid of the duplicate cluster, otherwise the vertex closest to the centroid is used. (optional) + :type use_centroid: bool + :param use_unselected: Unselected, Merge selected to other unselected vertices (optional) + :type use_unselected: bool + :param use_sharp_edge_from_normals: Sharp Edges, Calculate sharp edges using custom normal data (when available) (optional) + :type use_sharp_edge_from_normals: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reorder_vertices_spatial() + + Reorder mesh faces and vertices based on their spatial position for better BVH building and sculpting performance. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: reveal(*, select=True) + + Reveal all hidden vertices, edges and faces + + :param select: Select, (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rip(*, mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, release_confirm=False, use_accurate=False, use_fill=False) + + Disconnect vertices or edges from connected geometry + + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :param use_fill: Fill, Fill the ripped region (optional) + :type use_fill: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rip_edge(*, location=(0.0, 0.0, 0.0), direction=(0.0, 0.0, 0.0)) + + Extend vertices along the edge closest to the cursor + + :param location: Location, World-space ray origin for extending vertices (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param direction: Direction, World-space direction vector for extending vertices (array of 3 items, in [-inf, inf], optional) + :type direction: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rip_edge_move(*, MESH_OT_rip_edge={}, TRANSFORM_OT_translate={}) + + Extend vertices and move the result + + :param MESH_OT_rip_edge: Extend Vertices, Extend vertices along the edge closest to the cursor (optional, :func:`bpy.ops.mesh.rip_edge` keyword arguments) + :type MESH_OT_rip_edge: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rip_move(*, MESH_OT_rip={}, TRANSFORM_OT_translate={}) + + Rip polygons and move the result + + :param MESH_OT_rip: Rip, Disconnect vertices or edges from connected geometry (optional, :func:`bpy.ops.mesh.rip` keyword arguments) + :type MESH_OT_rip: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: screw(*, steps=9, turns=1, center=(0.0, 0.0, 0.0), axis=(0.0, 0.0, 0.0)) + + Extrude selected vertices in screw-shaped rotation around the cursor in indicated viewport + + :param steps: Steps, Steps (in [1, 100000], optional) + :type steps: int + :param turns: Turns, Turns (in [1, 100000], optional) + :type turns: int + :param center: Center, Center in global view space (array of 3 items, in [-inf, inf], optional) + :type center: :class:`mathutils.Vector` | Sequence[float] + :param axis: Axis, Axis in global view space (array of 3 items, in [-1, 1], optional) + :type axis: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + (De)select all vertices, edges or faces + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_axis(*, orientation='LOCAL', sign='POS', axis='X', threshold=0.0001) + + Select all data in the mesh on a single axis + + :param orientation: Axis Mode, Axis orientation (optional) + :type orientation: Literal[:ref:`rna_enum_transform_orientation_items`] + :param sign: Axis Sign, Side to select (optional) + :type sign: Literal['POS', 'NEG', 'ALIGN'] + :param axis: Axis, Select the axis to compare each vertex on (optional) + :type axis: Literal[:ref:`rna_enum_axis_xyz_items`] + :param threshold: Threshold, (in [1e-06, 50], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_by_attribute() + + Select elements based on the active boolean attribute + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_by_pole_count(*, pole_count=4, type='NOTEQUAL', extend=False, exclude_nonmanifold=True) + + Select vertices at poles by the number of connected edges. In edge and face mode the geometry connected to the vertices is selected + + :param pole_count: Pole Count, (in [0, inf], optional) + :type pole_count: int + :param type: Type, Type of comparison to make (optional) + :type type: Literal['LESS', 'EQUAL', 'GREATER', 'NOTEQUAL'] + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :param exclude_nonmanifold: Exclude Non Manifold, Exclude non-manifold poles (optional) + :type exclude_nonmanifold: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_edge_loop_multi(*, delimit_edge_loop={'NGONS', 'OUTER_CORNERS'}) + + Select loops of connected edges from each selected edge + + :param delimit_edge_loop: Delimit, Delimit edge loop selection (optional) + :type delimit_edge_loop: set[Literal[:ref:`rna_enum_mesh_walk_delimit_edge_loop_items`]] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_edge_ring_multi(*, delimit_edge_ring={'NGONS'}) + + Select rings of connected edges from each selected edge + + :param delimit_edge_ring: Edge Ring Delimit, Delimit edge ring selection (optional) + :type delimit_edge_ring: set[Literal[:ref:`rna_enum_mesh_walk_delimit_edge_ring_items`]] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_face_by_sides(*, number=4, type='EQUAL', extend=True) + + Select vertices or faces by the number of face sides + + :param number: Number of Vertices, (in [3, inf], optional) + :type number: int + :param type: Type, Type of comparison to make (optional) + :type type: Literal['LESS', 'EQUAL', 'GREATER', 'NOTEQUAL'] + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_interior_faces() + + Select faces where all edges have more than 2 face users + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_less(*, use_face_step=True) + + Deselect vertices, edges or faces at the boundary of each selection region + + :param use_face_step: Face Step, Connected faces (instead of edges) (optional) + :type use_face_step: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_linked(*, delimit={'SEAM'}) + + Select all vertices connected to the current selection + + :param delimit: Delimit, Delimit selected region (optional) + :type delimit: set[Literal[:ref:`rna_enum_mesh_delimit_mode_items`]] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_linked_pick(*, deselect=False, delimit={'SEAM'}, object_index=-1, index=-1) + + (De)select all vertices linked to the edge under the mouse cursor + + :param deselect: Deselect, (optional) + :type deselect: bool + :param delimit: Delimit, Delimit selected region (optional) + :type delimit: set[Literal[:ref:`rna_enum_mesh_delimit_mode_items`]] + :param object_index: (in [-1, inf], optional) + :type object_index: int + :param index: (in [-1, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_loose(*, extend=False) + + Select loose geometry based on the selection mode + + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_mirror(*, axis={'X'}, extend=False) + + Select mesh items at mirrored locations + + :param axis: Axis, (optional) + :type axis: set[Literal[:ref:`rna_enum_axis_flag_xyz_items`]] + :param extend: Extend, Extend the existing selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_mode(*, use_extend=False, use_expand=False, type='VERT', action='TOGGLE') + + Change selection mode + + :param use_extend: Extend, (optional) + :type use_extend: bool + :param use_expand: Expand, (optional) + :type use_expand: bool + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_mesh_select_mode_items`] + :param action: Action, Selection action to execute (optional) + + - ``DISABLE`` + Disable -- Disable the selection mode. + - ``ENABLE`` + Enable -- Enable the selection mode. + - ``TOGGLE`` + Toggle -- Toggle the selection mode. + :type action: Literal['DISABLE', 'ENABLE', 'TOGGLE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_more(*, use_face_step=True) + + Select more vertices, edges or faces connected to initial selection + + :param use_face_step: Face Step, Connected faces (instead of edges) (optional) + :type use_face_step: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_next_item() + + Select the next element (using selection order) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/mesh.py\:18 `__ + +.. function:: select_non_manifold(*, extend=True, use_wire=True, use_boundary=True, use_multi_face=True, use_non_contiguous=True, use_verts=True) + + Select all non-manifold vertices or edges + + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :param use_wire: Wire, Wire edges (optional) + :type use_wire: bool + :param use_boundary: Boundaries, Boundary edges (optional) + :type use_boundary: bool + :param use_multi_face: Multiple Faces, Edges shared by more than two faces (optional) + :type use_multi_face: bool + :param use_non_contiguous: Non Contiguous, Edges between faces pointing in alternate directions (optional) + :type use_non_contiguous: bool + :param use_verts: Vertices, Vertices connecting multiple face regions (optional) + :type use_verts: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_nth(*, skip=1, nth=1, offset=0) + + Deselect every Nth element starting from the active vertex, edge or face + + :param skip: Deselected, Number of deselected elements in the repetitive sequence (in [1, inf], optional) + :type skip: int + :param nth: Selected, Number of selected elements in the repetitive sequence (in [1, inf], optional) + :type nth: int + :param offset: Offset, Offset from the starting point (in [-inf, inf], optional) + :type offset: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_prev_item() + + Select the previous element (using selection order) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/mesh.py\:43 `__ + +.. function:: select_random(*, ratio=0.5, seed=0, action='SELECT') + + Randomly select vertices + + :param ratio: Ratio, Portion of items to select randomly (in [0, 1], optional) + :type ratio: float + :param seed: Random Seed, Seed for the random number generator (in [0, inf], optional) + :type seed: int + :param action: Action, Selection action to execute (optional) + + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + :type action: Literal['SELECT', 'DESELECT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_similar(*, type='VERT_NORMAL', compare='EQUAL', threshold=0.0) + + Select similar vertices, edges or faces by property types + + :param type: Type, (optional) + :type type: Literal['VERT_NORMAL', 'VERT_FACES', 'VERT_GROUPS', 'VERT_EDGES', 'VERT_CREASE', 'EDGE_LENGTH', 'EDGE_DIR', 'EDGE_FACES', 'EDGE_FACE_ANGLE', 'EDGE_CREASE', 'EDGE_BEVEL', 'EDGE_SEAM', 'EDGE_SHARP', 'FACE_MATERIAL', 'FACE_AREA', 'FACE_SIDES', 'FACE_PERIMETER', 'FACE_NORMAL', 'FACE_COPLANAR', 'FACE_SMOOTH'] + :param compare: Compare, (optional) + :type compare: Literal['EQUAL', 'GREATER', 'LESS'] + :param threshold: Threshold, (in [0, 100000], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_similar_region() + + Select similar face regions to the current selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_ungrouped(*, extend=False) + + Select vertices without a group + + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: separate(*, type='SELECTED') + + Separate selected geometry into a new mesh + + :param type: Type, (optional) + :type type: Literal['SELECTED', 'MATERIAL', 'LOOSE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_normals_from_faces(*, keep_sharp=False) + + Set the custom normals from the selected faces ones + + :param keep_sharp: Keep Sharp Edges, Do not set sharp edges to face (optional) + :type keep_sharp: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_sharpness_by_angle(*, angle=0.523599, extend=False) + + Set edge sharpness based on the angle between neighboring faces + + :param angle: Angle, (in [0.000174533, 3.14159], optional) + :type angle: float + :param extend: Extend, Add new sharp edges without clearing existing sharp edges (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shape_propagate_to_all() + + Apply selected vertex locations to all other shape keys + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shortest_path_pick(*, edge_mode='SELECT', use_face_step=False, use_topology_distance=False, use_fill=False, skip=0, nth=1, offset=0, index=-1) + + Select shortest path between two selections + + :param edge_mode: Edge Tag, The edge flag to tag when selecting the shortest path (optional) + :type edge_mode: Literal['SELECT', 'SEAM', 'SHARP', 'CREASE', 'BEVEL', 'FREESTYLE'] + :param use_face_step: Face Stepping, Traverse connected faces (includes diagonals and edge-rings) (optional) + :type use_face_step: bool + :param use_topology_distance: Topology Distance, Find the minimum number of steps, ignoring spatial distance (optional) + :type use_topology_distance: bool + :param use_fill: Fill Region, Select all paths between the source/destination elements (optional) + :type use_fill: bool + :param skip: Deselected, Number of deselected elements in the repetitive sequence (in [0, inf], optional) + :type skip: int + :param nth: Selected, Number of selected elements in the repetitive sequence (in [1, inf], optional) + :type nth: int + :param offset: Offset, Offset from the starting point (in [-inf, inf], optional) + :type offset: int + :param index: (in [-1, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shortest_path_select(*, edge_mode='SELECT', use_face_step=False, use_topology_distance=False, use_fill=False, skip=0, nth=1, offset=0) + + Select shortest path between two vertices/edges/faces + + :param edge_mode: Edge Tag, The edge flag to tag when selecting the shortest path (optional) + :type edge_mode: Literal['SELECT', 'SEAM', 'SHARP', 'CREASE', 'BEVEL', 'FREESTYLE'] + :param use_face_step: Face Stepping, Traverse connected faces (includes diagonals and edge-rings) (optional) + :type use_face_step: bool + :param use_topology_distance: Topology Distance, Find the minimum number of steps, ignoring spatial distance (optional) + :type use_topology_distance: bool + :param use_fill: Fill Region, Select all paths between the source/destination elements (optional) + :type use_fill: bool + :param skip: Deselected, Number of deselected elements in the repetitive sequence (in [0, inf], optional) + :type skip: int + :param nth: Selected, Number of selected elements in the repetitive sequence (in [1, inf], optional) + :type nth: int + :param offset: Offset, Offset from the starting point (in [-inf, inf], optional) + :type offset: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: smooth_normals(*, factor=0.5) + + Smooth custom normals based on adjacent vertex normals + + :param factor: Factor, Specifies weight of smooth vs original normal (in [0, 1], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: solidify(*, thickness=0.01) + + Create a solid skin by extruding, compensating for sharp angles + + :param thickness: Thickness, (in [-10000, 10000], optional) + :type thickness: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sort_elements(*, type='VIEW_ZAXIS', elements={'VERT'}, reverse=False, seed=0) + + The order of selected vertices/edges/faces is modified, based on a given method + + :param type: Type, Type of reordering operation to apply (optional) + + - ``VIEW_ZAXIS`` + View Z Axis -- Sort selected elements from farthest to nearest one in current view. + - ``VIEW_XAXIS`` + View X Axis -- Sort selected elements from left to right one in current view. + - ``CURSOR_DISTANCE`` + Cursor Distance -- Sort selected elements from nearest to farthest from 3D cursor. + - ``MATERIAL`` + Material -- Sort selected faces from smallest to greatest material index. + - ``SELECTED`` + Selected -- Move all selected elements in first places, preserving their relative order. + Warning: This will affect unselected elements' indices as well. + - ``RANDOMIZE`` + Randomize -- Randomize order of selected elements. + - ``REVERSE`` + Reverse -- Reverse current order of selected elements. + :type type: Literal['VIEW_ZAXIS', 'VIEW_XAXIS', 'CURSOR_DISTANCE', 'MATERIAL', 'SELECTED', 'RANDOMIZE', 'REVERSE'] + :param elements: Elements, Which elements to affect (vertices, edges and/or faces) (optional) + :type elements: set[Literal['VERT', 'EDGE', 'FACE']] + :param reverse: Reverse, Reverse the sorting effect (optional) + :type reverse: bool + :param seed: Seed, Seed for random-based operations (in [0, inf], optional) + :type seed: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: spin(*, steps=12, dupli=False, angle=1.5708, use_auto_merge=True, use_normal_flip=False, center=(0.0, 0.0, 0.0), axis=(0.0, 0.0, 0.0)) + + Extrude selected vertices in a circle around the cursor in indicated viewport + + :param steps: Steps, Steps (in [0, 1000000], optional) + :type steps: int + :param dupli: Use Duplicates, (optional) + :type dupli: bool + :param angle: Angle, Rotation for each step (in [-inf, inf], optional) + :type angle: float + :param use_auto_merge: Auto Merge, Merge first/last when the angle is a full revolution (optional) + :type use_auto_merge: bool + :param use_normal_flip: Flip Normals, (optional) + :type use_normal_flip: bool + :param center: Center, Center in global view space (array of 3 items, in [-inf, inf], optional) + :type center: :class:`mathutils.Vector` | Sequence[float] + :param axis: Axis, Axis in global view space (array of 3 items, in [-1, 1], optional) + :type axis: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: split() + + Split off selected geometry from connected unselected geometry + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: split_normals() + + Split custom normals of selected vertices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: subdivide(*, number_cuts=1, smoothness=0.0, ngon=True, quadcorner='STRAIGHT_CUT', fractal=0.0, fractal_along_normal=0.0, seed=0) + + Subdivide selected edges + + :param number_cuts: Number of Cuts, (in [1, 100], optional) + :type number_cuts: int + :param smoothness: Smoothness, Smoothness factor (in [0, 1000], optional) + :type smoothness: float + :param ngon: Create N-Gons, When disabled, newly created faces are limited to 3 and 4 sided faces (optional) + :type ngon: bool + :param quadcorner: Quad Corner Type, How to subdivide quad corners (anything other than Straight Cut will prevent n-gons) (optional) + :type quadcorner: Literal['INNERVERT', 'PATH', 'STRAIGHT_CUT', 'FAN'] + :param fractal: Fractal, Fractal randomness factor (in [0, 1e+06], optional) + :type fractal: float + :param fractal_along_normal: Along Normal, Apply fractal displacement along normal only (in [0, 1], optional) + :type fractal_along_normal: float + :param seed: Random Seed, Seed for the random number generator (in [0, inf], optional) + :type seed: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: subdivide_edgering(*, number_cuts=10, interpolation='PATH', smoothness=1.0, profile_shape_factor=0.0, profile_shape='SMOOTH') + + Subdivide perpendicular edges to the selected edge-ring + + :param number_cuts: Number of Cuts, (in [0, 1000], optional) + :type number_cuts: int + :param interpolation: Interpolation, Interpolation method (optional) + :type interpolation: Literal['LINEAR', 'PATH', 'SURFACE'] + :param smoothness: Smoothness, Smoothness factor (in [0, 1000], optional) + :type smoothness: float + :param profile_shape_factor: Profile Factor, How much intermediary new edges are shrunk/expanded (in [-1000, 1000], optional) + :type profile_shape_factor: float + :param profile_shape: Profile Shape, Shape of the profile (optional) + :type profile_shape: Literal[:ref:`rna_enum_proportional_falloff_curve_only_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: symmetrize(*, direction='NEGATIVE_X', threshold=0.0001) + + Enforce symmetry (both form and topological) across an axis + + :param direction: Direction, Which sides to copy from and to (optional) + :type direction: Literal[:ref:`rna_enum_symmetrize_direction_items`] + :param threshold: Threshold, Limit for snap middle vertices to the axis center (in [0, 10], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: symmetry_snap(*, direction='NEGATIVE_X', threshold=0.05, factor=0.5, use_center=True) + + Snap vertex pairs to their mirrored locations + + :param direction: Direction, Which sides to copy from and to (optional) + :type direction: Literal[:ref:`rna_enum_symmetrize_direction_items`] + :param threshold: Threshold, Distance within which matching vertices are searched (in [0, 10], optional) + :type threshold: float + :param factor: Factor, Mix factor of the locations of the vertices (in [0, 1], optional) + :type factor: float + :param use_center: Center, Snap middle vertices to the axis center (optional) + :type use_center: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: tris_convert_to_quads(*, face_threshold=0.698132, shape_threshold=0.698132, topology_influence=0.0, uvs=False, vcols=False, seam=False, sharp=False, materials=False, deselect_joined=False) + + Merge triangles into four sided polygons where possible + + :param face_threshold: Max Face Angle, Face angle limit (in [0, 3.14159], optional) + :type face_threshold: float + :param shape_threshold: Max Shape Angle, Shape angle limit (in [0, 3.14159], optional) + :type shape_threshold: float + :param topology_influence: Topology Influence, How much to prioritize regular grids of quads as well as quads that touch existing quads (in [0, 2], optional) + :type topology_influence: float + :param uvs: Compare UVs, (optional) + :type uvs: bool + :param vcols: Compare Color Attributes, (optional) + :type vcols: bool + :param seam: Compare Seam, (optional) + :type seam: bool + :param sharp: Compare Sharp, (optional) + :type sharp: bool + :param materials: Compare Materials, (optional) + :type materials: bool + :param deselect_joined: Deselect Joined, Only select remaining triangles that were not merged (optional) + :type deselect_joined: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: unsubdivide(*, iterations=2) + + Un-subdivide selected edges and faces + + :param iterations: Iterations, Number of times to un-subdivide (in [1, 1000], optional) + :type iterations: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: uv_texture_add() + + Add UV map + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: uv_texture_remove() + + Remove UV map + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: uvs_reverse() + + Flip direction of UV coordinates inside faces + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: uvs_rotate(*, use_ccw=False) + + Rotate UV coordinates inside faces + + :param use_ccw: Counter Clockwise, (optional) + :type use_ccw: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vert_connect() + + Connect selected vertices of faces, splitting the face + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vert_connect_concave() + + Split concave faces by connecting vertices to make them convex + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vert_connect_nonplanar(*, angle_limit=0.0872665) + + Split non-planar faces that exceed the angle threshold + + :param angle_limit: Max Angle, Angle limit (in [0, 3.14159], optional) + :type angle_limit: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vert_connect_path() + + Connect vertices by their selection order, creating edges, splitting faces + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertices_smooth(*, factor=0.0, repeat=1, xaxis=True, yaxis=True, zaxis=True, wait_for_input=True) + + Flatten angles of selected vertices + + :param factor: Smoothing, Smoothing factor (in [-10, 10], optional) + :type factor: float + :param repeat: Repeat, Number of times to smooth the mesh (in [1, 1000], optional) + :type repeat: int + :param xaxis: X-Axis, Smooth along the X axis (optional) + :type xaxis: bool + :param yaxis: Y-Axis, Smooth along the Y axis (optional) + :type yaxis: bool + :param zaxis: Z-Axis, Smooth along the Z axis (optional) + :type zaxis: bool + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertices_smooth_laplacian(*, repeat=1, lambda_factor=1.0, lambda_border=5e-05, use_x=True, use_y=True, use_z=True, preserve_volume=True) + + Laplacian smooth of selected vertices + + :param repeat: Number of iterations to smooth the mesh, (in [1, 1000], optional) + :type repeat: int + :param lambda_factor: Lambda factor, (in [1e-07, 1000], optional) + :type lambda_factor: float + :param lambda_border: Lambda factor in border, (in [1e-07, 1000], optional) + :type lambda_border: float + :param use_x: Smooth X Axis, Smooth object along X axis (optional) + :type use_x: bool + :param use_y: Smooth Y Axis, Smooth object along Y axis (optional) + :type use_y: bool + :param use_z: Smooth Z Axis, Smooth object along Z axis (optional) + :type use_z: bool + :param preserve_volume: Preserve Volume, Apply volume preservation after smooth (optional) + :type preserve_volume: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: wireframe(*, use_boundary=True, use_even_offset=True, use_relative_offset=False, use_replace=True, thickness=0.01, offset=0.01, use_crease=False, crease_weight=0.01) + + Create a solid wireframe from faces + + :param use_boundary: Boundary, Inset face boundaries (optional) + :type use_boundary: bool + :param use_even_offset: Offset Even, Scale the offset to give more even thickness (optional) + :type use_even_offset: bool + :param use_relative_offset: Offset Relative, Scale the offset by surrounding geometry (optional) + :type use_relative_offset: bool + :param use_replace: Replace, Remove original faces (optional) + :type use_replace: bool + :param thickness: Thickness, (in [0, 10000], optional) + :type thickness: float + :param offset: Offset, (in [0, 10000], optional) + :type offset: float + :param use_crease: Crease, Crease hub edges for an improved subdivision surface (optional) + :type use_crease: bool + :param crease_weight: Crease Weight, (in [0, 1000], optional) + :type crease_weight: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.nla.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.nla.rst new file mode 100644 index 0000000..d83812e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.nla.rst @@ -0,0 +1,389 @@ +Nla Operators +============= + +.. module:: bpy.ops.nla + +.. function:: action_pushdown(*, track_index=-1) + + Push action down onto the top of the NLA stack as a new strip + + :param track_index: Track Index, Index of NLA action track to perform pushdown operation on (in [-1, inf], optional) + :type track_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: action_sync_length(*, active=True) + + Synchronize the length of the referenced Action with the length used in the strip + + :param active: Active Strip Only, Only sync the active length for the active strip (optional) + :type active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: action_unlink(*, force_delete=False) + + Unlink this action from the active action slot (and/or exit Tweak Mode) + + :param force_delete: Force Delete, Clear Fake User and remove copy stashed in this data-block's NLA stack (optional) + :type force_delete: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: actionclip_add(*, action='') + + Add an Action-Clip strip (i.e. an NLA Strip referencing an Action) to the active track + + :param action: Action, (optional) + :type action: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: apply_scale() + + Apply scaling of selected strips to their referenced Actions + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: bake(*, frame_start=1, frame_end=250, step=1, only_selected=True, visual_keying=False, clear_constraints=False, clear_parents=False, use_current_action=False, clean_curves=False, bake_types={'POSE'}, channel_types={'BBONE', 'LOCATION', 'PROPS', 'ROTATION', 'SCALE'}) + + Bake all selected objects location/scale/rotation animation to an action + + :param frame_start: Start Frame, Start frame for baking (in [0, 300000], optional) + :type frame_start: int + :param frame_end: End Frame, End frame for baking (in [1, 300000], optional) + :type frame_end: int + :param step: Frame Step, Number of frames to skip forward while baking each frame (in [1, 120], optional) + :type step: int + :param only_selected: Only Selected Bones, Only key selected bones (Pose baking only) (optional) + :type only_selected: bool + :param visual_keying: Visual Keying, Keyframe from the final transformations (with constraints applied) (optional) + :type visual_keying: bool + :param clear_constraints: Clear Local Constraints, Remove all constraints from keyed object/bones. To get a correct bake with this setting Visual Keying should be enabled (optional) + :type clear_constraints: bool + :param clear_parents: Clear Parents, Bake animation onto the object then clear parents (objects only) (optional) + :type clear_parents: bool + :param use_current_action: Overwrite Current Action, Bake animation into current action, instead of creating a new one (useful for baking only part of bones in an armature) (optional) + :type use_current_action: bool + :param clean_curves: Clean Curves, After baking curves, remove redundant keys (optional) + :type clean_curves: bool + :param bake_types: Bake Data, Which data's transformations to bake (optional) + + - ``POSE`` + Pose -- Bake bones transformations. + - ``OBJECT`` + Object -- Bake object transformations. + :type bake_types: set[Literal['POSE', 'OBJECT']] + :param channel_types: Channels, Which channels to bake (optional) + + - ``LOCATION`` + Location -- Bake location channels. + - ``ROTATION`` + Rotation -- Bake rotation channels. + - ``SCALE`` + Scale -- Bake scale channels. + - ``BBONE`` + B-Bone -- Bake B-Bone channels. + - ``PROPS`` + Custom Properties -- Bake custom properties. + :type channel_types: set[Literal['LOCATION', 'ROTATION', 'SCALE', 'BBONE', 'PROPS']] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/anim.py\:274 `__ + + +.. function:: channels_click(*, extend=False) + + Handle clicks to select NLA tracks + + :param extend: Extend Select, (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clear_scale() + + Reset scaling of selected strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: click_select(*, wait_to_deselect_others=False, use_select_on_click=False, mouse_x=0, mouse_y=0, extend=False, deselect_all=False) + + Handle clicks to select NLA Strips + + :param wait_to_deselect_others: Wait to Deselect Others, (optional) + :type wait_to_deselect_others: bool + :param use_select_on_click: Act on Click, Instead of selecting on mouse press, wait to see if there's drag event. Otherwise select on mouse release (optional) + :type use_select_on_click: bool + :param mouse_x: Mouse X, (in [-inf, inf], optional) + :type mouse_x: int + :param mouse_y: Mouse Y, (in [-inf, inf], optional) + :type mouse_y: int + :param extend: Extend Select, (optional) + :type extend: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete() + + Delete selected strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate(*, linked=False) + + Duplicate selected NLA-Strips, adding the new strips to new track(s) + + :param linked: Linked, When duplicating strips, assign new copies of the actions they use (optional) + :type linked: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_linked_move(*, NLA_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Duplicate Linked selected NLA-Strips, adding the new strips to new track(s) + + :param NLA_OT_duplicate: Duplicate Strips, Duplicate selected NLA-Strips, adding the new strips to new track(s) (optional, :func:`bpy.ops.nla.duplicate` keyword arguments) + :type NLA_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_move(*, NLA_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Duplicate selected NLA-Strips, adding the new strips to new track(s) + + :param NLA_OT_duplicate: Duplicate Strips, Duplicate selected NLA-Strips, adding the new strips to new track(s) (optional, :func:`bpy.ops.nla.duplicate` keyword arguments) + :type NLA_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: fmodifier_add(*, type='NULL', only_active=True) + + Add F-Modifier to the active/selected NLA-Strips + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_fmodifier_type_items`] + :param only_active: Only Active, Only add a F-Modifier of the specified type to the active strip (optional) + :type only_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: fmodifier_copy() + + Copy the F-Modifier(s) of the active NLA-Strip + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: fmodifier_paste(*, only_active=True, replace=False) + + Add copied F-Modifiers to the selected NLA-Strips + + :param only_active: Only Active, Only paste F-Modifiers on active strip (optional) + :type only_active: bool + :param replace: Replace Existing, Replace existing F-Modifiers, instead of just appending to the end of the existing list (optional) + :type replace: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: make_single_user(*, confirm=True) + + Make linked action local to each strip + + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: meta_add() + + Add new meta-strips incorporating the selected strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: meta_remove() + + Separate out the strips held by the selected meta-strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: move_down() + + Move selected strips down a track if there's room + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: move_up() + + Move selected strips up a track if there's room + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: mute_toggle() + + Mute or un-mute selected strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: previewrange_set() + + Set Preview Range based on extents of selected strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_all(*, action='TOGGLE') + + Select or deselect all NLA-Strips + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, axis_range=False, tweak=False, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET') + + Use box selection to grab NLA-Strips + + :param axis_range: Axis Range, (optional) + :type axis_range: bool + :param tweak: Tweak, Operator has been activated using a click-drag event (optional) + :type tweak: bool + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_leftright(*, mode='CHECK', extend=False) + + Select strips to the left or the right of the current frame + + :param mode: Mode, (optional) + :type mode: Literal['CHECK', 'LEFT', 'RIGHT'] + :param extend: Extend Select, (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: selected_objects_add() + + Make selected objects appear in NLA Editor by adding Animation Data + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: snap(*, type='CFRA') + + Move start of strips to specified time + + :param type: Type, (optional) + :type type: Literal['CFRA', 'NEAREST_FRAME', 'NEAREST_SECOND', 'NEAREST_MARKER'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: soundclip_add() + + Add a strip for controlling when speaker plays its sound clip + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: split() + + Split selected strips at their midpoints + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: swap() + + Swap order of selected strips within tracks + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: tracks_add(*, above_selected=False) + + Add NLA-Tracks above/after the selected tracks + + :param above_selected: Above Selected, Add a new NLA Track above every existing selected one (optional) + :type above_selected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: tracks_delete() + + Delete selected NLA-Tracks and the strips they contain + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: transition_add() + + Add a transition strip between two adjacent selected strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: tweakmode_enter(*, isolate_action=False, use_upper_stack_evaluation=False) + + Enter tweaking mode for the action referenced by the active strip to edit its keyframes + + :param isolate_action: Isolate Action, Enable 'solo' on the NLA Track containing the active strip, to edit it without seeing the effects of the NLA stack (optional) + :type isolate_action: bool + :param use_upper_stack_evaluation: Evaluate Upper Stack, In tweak mode, display the effects of the tracks above the tweak strip (optional) + :type use_upper_stack_evaluation: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: tweakmode_exit(*, isolate_action=False) + + Exit tweaking mode for the action referenced by the active strip + + :param isolate_action: Isolate Action, Disable 'solo' on any of the NLA Tracks after exiting tweak mode to get things back to normal (optional) + :type isolate_action: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_all() + + Reset viewable area to show full strips range + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_frame() + + Move the view to the current frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_selected() + + Reset viewable area to show selected strips range + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.node.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.node.rst new file mode 100644 index 0000000..80ba5b0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.node.rst @@ -0,0 +1,1788 @@ +Node Operators +============== + +.. module:: bpy.ops.node + +.. function:: activate_viewer() + + Activate selected viewer node in compositor and geometry nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: add_closure_zone(*, settings=None, use_transform=False, offset=(150.0, 0.0)) + + Add a Closure zone + + :param settings: Settings, Settings to be applied on the newly created node (optional) + :type settings: :class:`bpy_prop_collection`\ [:class:`NodeSetting`] | None + :param use_transform: Use Transform, Start transform operator after inserting the node (optional) + :type use_transform: bool + :param offset: Offset, Offset of nodes from the cursor when added (array of 2 items, in [-inf, inf], optional) + :type offset: Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:729 `__ + + +.. function:: add_collection(*, name="", session_uid=0) + + Add a collection info node to the current node editor + + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_color(*, color=(0.0, 0.0, 0.0, 0.0), gamma=False, has_alpha=False) + + Add a color node to the current node editor + + :param color: Color, Source color (array of 4 items, in [0, inf], optional) + :type color: Sequence[float] + :param gamma: Gamma Corrected, The source color is gamma corrected (optional) + :type gamma: bool + :param has_alpha: Has Alpha, The source color contains an Alpha component (optional) + :type has_alpha: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_empty_group(*, settings=None, use_transform=False) + + Add a group node with an empty group + + :param settings: Settings, Settings to be applied on the newly created node (optional) + :type settings: :class:`bpy_prop_collection`\ [:class:`NodeSetting`] | None + :param use_transform: Use Transform, Start transform operator after inserting the node (optional) + :type use_transform: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:630 `__ + + +.. function:: add_foreach_geometry_element_zone(*, settings=None, use_transform=False, offset=(150.0, 0.0)) + + Add a For Each Geometry Element zone that allows executing nodes e.g. for each vertex separately + + :param settings: Settings, Settings to be applied on the newly created node (optional) + :type settings: :class:`bpy_prop_collection`\ [:class:`NodeSetting`] | None + :param use_transform: Use Transform, Start transform operator after inserting the node (optional) + :type use_transform: bool + :param offset: Offset, Offset of nodes from the cursor when added (array of 2 items, in [-inf, inf], optional) + :type offset: Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:729 `__ + + +.. function:: add_group(*, name="", session_uid=0, show_datablock_in_node=True) + + Add an existing node group to the current node editor + + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :param show_datablock_in_node: Show the data-block selector in the node, (optional) + :type show_datablock_in_node: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_group_asset(*, asset_library_type='LOCAL', asset_library_identifier="", relative_asset_identifier="") + + Add a node group asset to the active node tree + + :param asset_library_type: Asset Library Type, (optional) + :type asset_library_type: Literal[:ref:`rna_enum_asset_library_type_items`] + :param asset_library_identifier: Asset Library Identifier, (optional, never None) + :type asset_library_identifier: str + :param relative_asset_identifier: Relative Asset Identifier, (optional, never None) + :type relative_asset_identifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_group_input_node(*, socket_identifier="", panel_identifier=0) + + Add a Group Input node with selected sockets to the current node editor + + :param socket_identifier: Socket Identifier, Socket to include in the added group input/output node (optional, never None) + :type socket_identifier: str + :param panel_identifier: Panel Identifier, Panel from which to add sockets to the added group input/output node (in [-inf, inf], optional) + :type panel_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_image(*, filepath="", directory="", files=None, hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=True, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='', name="", session_uid=0) + + Add a image/movie file as node to the current node editor + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + + - ``DEFAULT`` + Default -- Automatically determine sort method for files. + - ``FILE_SORT_ALPHA`` + Name -- Sort the file list alphabetically. + - ``FILE_SORT_EXTENSION`` + Extension -- Sort the file list by extension/type. + - ``FILE_SORT_TIME`` + Modified Date -- Sort files by modification time. + - ``FILE_SORT_SIZE`` + Size -- Sort files by size. + - ``ASSET_CATALOG`` + Asset Catalog -- Sort the asset list so that assets in the same catalog are kept together. Within a single catalog, assets are ordered by name. The catalogs are in order of the flattened catalog hierarchy.. + :type sort_method: Literal['', 'DEFAULT', 'FILE_SORT_ALPHA', 'FILE_SORT_EXTENSION', 'FILE_SORT_TIME', 'FILE_SORT_SIZE', 'ASSET_CATALOG'] + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_import_node(*, directory="", files=None) + + Add an import node to the node tree + + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_mask(*, name="", session_uid=0) + + Add a mask node to the current node editor + + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_material(*, name="", session_uid=0) + + Add a material node to the current node editor + + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_node(*, settings=None, use_transform=False, type="", visible_output="") + + Add a node to the active tree + + :param settings: Settings, Settings to be applied on the newly created node (optional) + :type settings: :class:`bpy_prop_collection`\ [:class:`NodeSetting`] | None + :param use_transform: Use Transform, Start transform operator after inserting the node (optional) + :type use_transform: bool + :param type: Node Type, Node type (optional, never None) + :type type: str + :param visible_output: Output Name, If provided, all outputs that are named differently will be hidden (optional, never None) + :type visible_output: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:490 `__ + + +.. function:: add_object(*, name="", session_uid=0) + + Add an object info node to the current node editor + + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_repeat_zone(*, settings=None, use_transform=False, offset=(150.0, 0.0)) + + Add a repeat zone that allows executing nodes a dynamic number of times + + :param settings: Settings, Settings to be applied on the newly created node (optional) + :type settings: :class:`bpy_prop_collection`\ [:class:`NodeSetting`] | None + :param use_transform: Use Transform, Start transform operator after inserting the node (optional) + :type use_transform: bool + :param offset: Offset, Offset of nodes from the cursor when added (array of 2 items, in [-inf, inf], optional) + :type offset: Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:729 `__ + + +.. function:: add_reroute(*, path=None, cursor=11) + + Add a reroute node + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param cursor: Cursor, (in [0, inf], optional) + :type cursor: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_simulation_zone(*, settings=None, use_transform=False, offset=(150.0, 0.0)) + + Add simulation zone input and output nodes to the active tree + + :param settings: Settings, Settings to be applied on the newly created node (optional) + :type settings: :class:`bpy_prop_collection`\ [:class:`NodeSetting`] | None + :param use_transform: Use Transform, Start transform operator after inserting the node (optional) + :type use_transform: bool + :param offset: Offset, Offset of nodes from the cursor when added (array of 2 items, in [-inf, inf], optional) + :type offset: Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:729 `__ + + +.. function:: add_zone(*, settings=None, use_transform=False, offset=(150.0, 0.0), input_node_type="", output_node_type="", add_default_geometry_link=False) + + Undocumented, consider `contributing `__. + + :param settings: Settings, Settings to be applied on the newly created node (optional) + :type settings: :class:`bpy_prop_collection`\ [:class:`NodeSetting`] | None + :param use_transform: Use Transform, Start transform operator after inserting the node (optional) + :type use_transform: bool + :param offset: Offset, Offset of nodes from the cursor when added (array of 2 items, in [-inf, inf], optional) + :type offset: Sequence[float] + :param input_node_type: Input Node, Specifies the input node used by the created zone (optional, never None) + :type input_node_type: str + :param output_node_type: Output Node, Specifies the output node used by the created zone (optional, never None) + :type output_node_type: str + :param add_default_geometry_link: Add Geometry Link, When enabled, create a link between geometry sockets in this zone (optional) + :type add_default_geometry_link: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:729 `__ + + +.. function:: attach() + + Attach active node to a frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: backimage_fit() + + Fit the background image to the view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: backimage_move() + + Move node backdrop + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: backimage_sample() + + Use mouse to sample background image + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: backimage_zoom(*, factor=1.2) + + Zoom in/out the background image + + :param factor: Factor, (in [0, 10], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bake_node_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bake_node_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bake_node_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: capture_attribute_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: capture_attribute_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: capture_attribute_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clear_viewer_border() + + Clear the boundaries for viewer operations + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: clipboard_copy() + + Copy the selected nodes to the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: clipboard_paste(*, offset=(0.0, 0.0)) + + Paste nodes from the internal clipboard to the active node tree + + :param offset: Location, The 2D view location for the center of the new nodes, or unchanged if not set (array of 2 items, in [-inf, inf], optional) + :type offset: Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: closure_input_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: closure_input_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: closure_input_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: closure_output_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: closure_output_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: closure_output_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collapse_hide_unused_toggle() + + Toggle collapsed nodes and hide unused sockets + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:995 `__ + +.. function:: combine_bundle_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: combine_bundle_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: combine_bundle_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: connect_to_output(*, run_in_geometry_nodes=True) + + Connect active node to the active output node of the node tree + + :param run_in_geometry_nodes: Run in Geometry Nodes Editor, (optional) + :type run_in_geometry_nodes: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/connect_to_output.py\:251 `__ + + +.. function:: cryptomatte_layer_add() + + Add a new input layer to a Cryptomatte node + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: cryptomatte_layer_remove() + + Remove layer from a Cryptomatte node + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: deactivate_viewer() + + Deactivate selected viewer node in geometry nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: default_group_width_set() + + Set the width based on the parent group node in the current context + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete() + + Remove selected nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete_copy_reconnect(*, NODE_OT_clipboard_copy={}, NODE_OT_delete_reconnect={}) + + Copy nodes to clipboard, remove and reconnect them. + + :param NODE_OT_clipboard_copy: Copy to Clipboard, Copy the selected nodes to the internal clipboard (optional, :func:`bpy.ops.node.clipboard_copy` keyword arguments) + :type NODE_OT_clipboard_copy: dict[str, Any] + :param NODE_OT_delete_reconnect: Delete with Reconnect, Remove nodes and reconnect nodes as if deletion was muted (optional, :func:`bpy.ops.node.delete_reconnect` keyword arguments) + :type NODE_OT_delete_reconnect: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete_reconnect() + + Remove nodes and reconnect nodes as if deletion was muted + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: detach() + + Detach selected nodes from parents + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: detach_translate_attach(*, NODE_OT_detach={}, TRANSFORM_OT_translate={}, NODE_OT_attach={}) + + Detach nodes, move and attach to frame + + :param NODE_OT_detach: Detach Nodes, Detach selected nodes from parents (optional, :func:`bpy.ops.node.detach` keyword arguments) + :type NODE_OT_detach: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :param NODE_OT_attach: Attach Nodes, Attach active node to a frame (optional, :func:`bpy.ops.node.attach` keyword arguments) + :type NODE_OT_attach: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate(*, keep_inputs=False, linked=True) + + Duplicate selected nodes + + :param keep_inputs: Keep Inputs, Keep the input links to duplicated nodes (optional) + :type keep_inputs: bool + :param linked: Linked, Duplicate node but not node trees, linking to the original data (optional) + :type linked: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_compositing_modifier_node_group() + + Duplicate the currently assigned compositing node group. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate_compositing_node_group() + + Duplicate the currently assigned compositing node group. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate_move(*, NODE_OT_duplicate={}, NODE_OT_translate_attach={}) + + Duplicate selected nodes and move them + + :param NODE_OT_duplicate: Duplicate Nodes, Duplicate selected nodes (optional, :func:`bpy.ops.node.duplicate` keyword arguments) + :type NODE_OT_duplicate: dict[str, Any] + :param NODE_OT_translate_attach: Move and Attach, Move nodes and attach to frame (optional, :func:`bpy.ops.node.translate_attach` keyword arguments) + :type NODE_OT_translate_attach: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_move_keep_inputs(*, NODE_OT_duplicate={}, NODE_OT_translate_attach={}) + + Duplicate selected nodes keeping input links and move them + + :param NODE_OT_duplicate: Duplicate Nodes, Duplicate selected nodes (optional, :func:`bpy.ops.node.duplicate` keyword arguments) + :type NODE_OT_duplicate: dict[str, Any] + :param NODE_OT_translate_attach: Move and Attach, Move nodes and attach to frame (optional, :func:`bpy.ops.node.translate_attach` keyword arguments) + :type NODE_OT_translate_attach: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_move_linked(*, NODE_OT_duplicate={}, NODE_OT_translate_attach={}) + + Duplicate selected nodes, but not their node trees, and move them + + :param NODE_OT_duplicate: Duplicate Nodes, Duplicate selected nodes (optional, :func:`bpy.ops.node.duplicate` keyword arguments) + :type NODE_OT_duplicate: dict[str, Any] + :param NODE_OT_translate_attach: Move and Attach, Move nodes and attach to frame (optional, :func:`bpy.ops.node.translate_attach` keyword arguments) + :type NODE_OT_translate_attach: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: enum_definition_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: enum_definition_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: enum_definition_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: evaluate_closure_input_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: evaluate_closure_input_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: evaluate_closure_input_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: evaluate_closure_output_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: evaluate_closure_output_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: evaluate_closure_output_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: field_to_grid_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: field_to_grid_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: field_to_grid_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: field_to_list_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: field_to_list_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: field_to_list_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: file_output_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: file_output_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: file_output_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: find_node() + + Search for a node by name and focus and select it + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: foreach_geometry_element_zone_generation_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: foreach_geometry_element_zone_generation_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: foreach_geometry_element_zone_generation_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: foreach_geometry_element_zone_input_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: foreach_geometry_element_zone_input_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: foreach_geometry_element_zone_input_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: foreach_geometry_element_zone_main_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: foreach_geometry_element_zone_main_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: foreach_geometry_element_zone_main_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: format_string_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: format_string_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: format_string_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: geometry_nodes_viewer_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: geometry_nodes_viewer_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: geometry_nodes_viewer_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: gltf_settings_node_operator() + + Add a node to the active tree for glTF export + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/io_scene_gltf2/blender/com/gltf2_blender_ui.py\:35 `__ + +.. function:: group_edit(*, exit=False) + + Edit node group + + :param exit: Exit, (optional) + :type exit: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: group_enter_exit() + + Enter or exit node group based on cursor location + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: group_insert() + + Insert selected nodes into a node group + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: group_make() + + Make group from selected nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: group_separate(*, type='COPY') + + Separate selected nodes from the node group + + :param type: Type, (optional) + + - ``COPY`` + Copy -- Copy to parent node tree, keep group intact. + - ``MOVE`` + Move -- Move to parent node tree, remove from group. + :type type: Literal['COPY', 'MOVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: group_ungroup() + + Ungroup selected nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: hide_socket_toggle() + + Toggle unused node socket display + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: hide_toggle() + + Toggle collapsing of selected nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: index_switch_item_add(*, node_identifier=0) + + Add an item to the index switch + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: index_switch_item_remove(*, index=0) + + Remove an item from the index switch + + :param index: Index, Index to remove (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: insert_offset() + + Automatically offset nodes on insertion + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: interface_item_duplicate() + + Add a copy of the active item to the interface + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:1181 `__ + +.. function:: interface_item_make_panel_toggle() + + Make the active boolean socket a toggle for its parent panel + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:1260 `__ + +.. function:: interface_item_new(*, item_type='INPUT') + + Add a new item to the interface + + :param item_type: Item Type, Type of the item to create (optional) + :type item_type: Literal['INPUT', 'OUTPUT', 'PANEL'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:1087 `__ + + +.. function:: interface_item_new_panel_toggle() + + Add a checkbox to the currently selected panel + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:1152 `__ + +.. function:: interface_item_remove() + + Remove selected items from the interface + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:1200 `__ + +.. function:: interface_item_unlink_panel_toggle() + + Make the panel toggle a stand-alone socket + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:1308 `__ + +.. function:: join() + + Attach selected nodes to a new common frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: join_named(*, NODE_OT_join={}, WM_OT_call_panel={}) + + Create a new frame node around the selected nodes and name it immediately + + :param NODE_OT_join: Join Nodes in Frame, Attach selected nodes to a new common frame (optional, :func:`bpy.ops.node.join` keyword arguments) + :type NODE_OT_join: dict[str, Any] + :param WM_OT_call_panel: Call Panel, Open a predefined panel (optional, :func:`bpy.ops.wm.call_panel` keyword arguments) + :type WM_OT_call_panel: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: join_nodes() + + Merge selected group input nodes into one if possible + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: link(*, detach=False, drag_start=(0.0, 0.0), inside_padding=2.0, outside_padding=0.0, speed_ramp=1.0, max_speed=26.0, delay=0.5, zoom_influence=0.5) + + Use the mouse to create a link between two nodes + + :param detach: Detach, Detach and redirect existing links (optional) + :type detach: bool + :param drag_start: Drag Start, The position of the mouse cursor at the start of the operation (array of 2 items, in [-6, 6], optional) + :type drag_start: Sequence[float] + :param inside_padding: Inside Padding, Inside distance in UI units from the edge of the region within which to start panning (in [0, 100], optional) + :type inside_padding: float + :param outside_padding: Outside Padding, Outside distance in UI units from the edge of the region at which to stop panning (in [0, 100], optional) + :type outside_padding: float + :param speed_ramp: Speed Ramp, Width of the zone in UI units where speed increases with distance from the edge (in [0, 100], optional) + :type speed_ramp: float + :param max_speed: Max Speed, Maximum speed in UI units per second (in [0, 10000], optional) + :type max_speed: float + :param delay: Delay, Delay in seconds before maximum speed is reached (in [0, 10], optional) + :type delay: float + :param zoom_influence: Zoom Influence, Influence of the zoom factor on scroll speed (in [0, 1], optional) + :type zoom_influence: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: link_drag_operation_test(*, find_link_operations=False, link_operation_index=-1) + + Run a node link-drag operation for testing + + :param find_link_operations: Find Link Operations, Write link operation names for the context socket the "link_operation_names" property of the node tree (optional) + :type find_link_operations: bool + :param link_operation_index: Link Operation Index, Link operation to execute on the context socket (in [-1, inf], optional) + :type link_operation_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: link_make(*, replace=False) + + Make a link between selected output and input sockets + + :param replace: Replace, Replace socket connections with the new links (optional) + :type replace: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: link_viewer() + + Link to viewer node + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: links_cut(*, path=None, cursor=15) + + Use the mouse to cut (remove) some links + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param cursor: Cursor, (in [0, inf], optional) + :type cursor: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: links_detach() + + Remove all links to selected nodes, and try to connect neighbor nodes together + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: links_mute(*, path=None, cursor=39) + + Use the mouse to mute links + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param cursor: Cursor, (in [0, inf], optional) + :type cursor: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: move_detach_links(*, NODE_OT_links_detach={}, TRANSFORM_OT_translate={}) + + Move a node to detach links + + :param NODE_OT_links_detach: Detach Links, Remove all links to selected nodes, and try to connect neighbor nodes together (optional, :func:`bpy.ops.node.links_detach` keyword arguments) + :type NODE_OT_links_detach: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: move_detach_links_release(*, NODE_OT_links_detach={}, NODE_OT_translate_attach={}) + + Move a node to detach links + + :param NODE_OT_links_detach: Detach Links, Remove all links to selected nodes, and try to connect neighbor nodes together (optional, :func:`bpy.ops.node.links_detach` keyword arguments) + :type NODE_OT_links_detach: dict[str, Any] + :param NODE_OT_translate_attach: Move and Attach, Move nodes and attach to frame (optional, :func:`bpy.ops.node.translate_attach` keyword arguments) + :type NODE_OT_translate_attach: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mute_toggle() + + Toggle muting of selected nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: new_compositing_node_group(*, name="") + + Create a new compositing node group and initialize it with default nodes + + :param name: Name, (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: new_compositor_sequencer_node_group(*, name="Sequencer Compositor Nodes") + + Create a new compositor node group for sequencer + + :param name: Name, (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: new_geometry_node_group_assign() + + Create a new geometry node group and assign it to the active modifier + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/geometry_nodes.py\:345 `__ + +.. function:: new_geometry_node_group_tool() + + Create a new geometry node group for a tool + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/geometry_nodes.py\:366 `__ + +.. function:: new_geometry_nodes_modifier() + + Create a new modifier with a new geometry node group + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/geometry_nodes.py\:322 `__ + +.. function:: new_node_tree(*, type='', name="NodeTree") + + Create a new node tree + + :param type: Tree Type, (optional) + :type type: str + :param name: Name, (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: node_color_preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove a Node Color Preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: node_copy_color() + + Copy color to all selected nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: options_toggle() + + Toggle option buttons display for selected nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: parent_set() + + Attach selected nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: preview_toggle() + + Toggle preview display for selected nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: read_viewlayers() + + Read all render layers of all used scenes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: render_changed() + + Render current scene, when input node's layer has been changed + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: repeat_zone_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: repeat_zone_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: repeat_zone_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: resize() + + Resize a node + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select(*, extend=False, deselect=False, toggle=False, deselect_all=False, select_passthrough=False, location=(0, 0), socket_select=False, clear_viewer=False) + + Select the node under the cursor + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param deselect: Deselect, Remove from selection (optional) + :type deselect: bool + :param toggle: Toggle Selection, Toggle the selection (optional) + :type toggle: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param select_passthrough: Only Select Unselected, Ignore the select action when the element is already selected (optional) + :type select_passthrough: bool + :param location: Location, Mouse location (array of 2 items, in [-inf, inf], optional) + :type location: Sequence[int] + :param socket_select: Socket Select, (optional) + :type socket_select: bool + :param clear_viewer: Clear Viewer, Deactivate geometry nodes viewer when clicking in empty space (optional) + :type clear_viewer: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + (De)select all nodes + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, tweak=False, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET') + + Use box selection to select nodes + + :param tweak: Tweak, Only activate when mouse is not over a node (useful for tweak gesture) (optional) + :type tweak: bool + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_circle(*, x=0, y=0, radius=25, wait_for_input=True, mode='SET') + + Use circle selection to select nodes + + :param x: X, (in [-inf, inf], optional) + :type x: int + :param y: Y, (in [-inf, inf], optional) + :type y: int + :param radius: Radius, (in [1, inf], optional) + :type radius: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_grouped(*, extend=False, type='TYPE') + + Select nodes with similar properties + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param type: Type, (optional) + :type type: Literal['TYPE', 'COLOR', 'PREFIX', 'SUFFIX'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_lasso(*, tweak=False, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, mode='SET') + + Select nodes using lasso selection + + :param tweak: Tweak, Only activate when mouse is not over a node (useful for tweak gesture) (optional) + :type tweak: bool + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_link_viewer(*, NODE_OT_select={}, NODE_OT_link_viewer={}) + + Select node and link it to a viewer node + + :param NODE_OT_select: Select, Select the node under the cursor (optional, :func:`bpy.ops.node.select` keyword arguments) + :type NODE_OT_select: dict[str, Any] + :param NODE_OT_link_viewer: Link to Viewer Node, Link to viewer node (optional, :func:`bpy.ops.node.link_viewer` keyword arguments) + :type NODE_OT_link_viewer: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_linked_from() + + Select nodes linked from the selected ones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked_to() + + Select nodes linked to the selected ones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_same_type_step(*, prev=False) + + Activate and view same node type, step by step + + :param prev: Previous, (optional) + :type prev: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: separate_bundle_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: separate_bundle_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: separate_bundle_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shader_script_update() + + Update shader script node with new sockets and options from the script + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: simulation_zone_item_add(*, node_identifier=0) + + Add item below active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: simulation_zone_item_move(*, direction='UP', node_identifier=0) + + Move active item + + :param direction: Direction, Move direction (optional) + :type direction: Literal['UP', 'DOWN'] + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: simulation_zone_item_remove(*, node_identifier=0) + + Remove active item + + :param node_identifier: Node Identifier, Optional identifier of the node to operate on (in [0, inf], optional) + :type node_identifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sockets_sync(*, node_name="") + + Update sockets to match what is actually used + + :param node_name: Node Name, (optional, never None) + :type node_name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: swap_empty_group(*, settings=None) + + Replace active node with an empty group + + :param settings: Settings, Settings to be applied on the newly created node (optional) + :type settings: :class:`bpy_prop_collection`\ [:class:`NodeSetting`] | None + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:666 `__ + + +.. function:: swap_group_asset(*, asset_library_type='LOCAL', asset_library_identifier="", relative_asset_identifier="") + + Swap selected nodes with the specified node group asset + + :param asset_library_type: Asset Library Type, (optional) + :type asset_library_type: Literal[:ref:`rna_enum_asset_library_type_items`] + :param asset_library_identifier: Asset Library Identifier, (optional, never None) + :type asset_library_identifier: str + :param relative_asset_identifier: Relative Asset Identifier, (optional, never None) + :type relative_asset_identifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: swap_node(*, settings=None, type="", visible_output="") + + Replace the selected nodes with the specified type + + :param settings: Settings, Settings to be applied on the newly created node (optional) + :type settings: :class:`bpy_prop_collection`\ [:class:`NodeSetting`] | None + :param type: Node Type, Node type (optional, never None) + :type type: str + :param visible_output: Output Name, If provided, all outputs that are named differently will be hidden (optional, never None) + :type visible_output: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:555 `__ + + +.. function:: swap_zone(*, settings=None, offset=(150.0, 0.0), input_node_type="", output_node_type="", add_default_geometry_link=False) + + Undocumented, consider `contributing `__. + + :param settings: Settings, Settings to be applied on the newly created node (optional) + :type settings: :class:`bpy_prop_collection`\ [:class:`NodeSetting`] | None + :param offset: Offset, Offset of nodes from the cursor when added (array of 2 items, in [-inf, inf], optional) + :type offset: Sequence[float] + :param input_node_type: Input Node, Specifies the input node used by the created zone (optional, never None) + :type input_node_type: str + :param output_node_type: Output Node, Specifies the output node used by the created zone (optional, never None) + :type output_node_type: str + :param add_default_geometry_link: Add Geometry Link, When enabled, create a link between geometry sockets in this zone (optional) + :type add_default_geometry_link: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:847 `__ + + +.. function:: test_inlining_shader_nodes() + + Create a new inlined shader node tree as is consumed by renderers + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: toggle_viewer() + + Toggle selected viewer node in compositor and geometry nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: translate_attach(*, TRANSFORM_OT_translate={}, NODE_OT_attach={}) + + Move nodes and attach to frame + + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :param NODE_OT_attach: Attach Nodes, Attach active node to a frame (optional, :func:`bpy.ops.node.attach` keyword arguments) + :type NODE_OT_attach: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: translate_attach_remove_on_cancel(*, TRANSFORM_OT_translate={}, NODE_OT_attach={}) + + Move nodes and attach to frame + + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :param NODE_OT_attach: Attach Nodes, Attach active node to a frame (optional, :func:`bpy.ops.node.attach` keyword arguments) + :type NODE_OT_attach: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: tree_path_parent(*, parent_tree_index=0) + + Go to parent node tree + + :param parent_tree_index: Parent Index, Parent index in context path (in [-inf, inf], optional) + :type parent_tree_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:1031 `__ + + +.. function:: view_all() + + Resize view so you can see all nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_selected() + + Resize view so you can see selected nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: viewer_border(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True) + + Set the boundaries for viewer operations (Not implemented) + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: viewer_shortcut_get(*, viewer_index=0) + + Toggle a specific viewer node using 1,2,..,9 keys + + :param viewer_index: Viewer Index, Index corresponding to the shortcut, e.g. number key 1 corresponds to index 1 etc.. (in [-inf, inf], optional) + :type viewer_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:1422 `__ + + +.. function:: viewer_shortcut_set(*, viewer_index=0) + + Create a viewer shortcut for the selected node by pressing ctrl+1,2,..9 + + :param viewer_index: Viewer Index, Index corresponding to the shortcut, e.g. number key 1 corresponds to index 1 etc.. (in [-inf, inf], optional) + :type viewer_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/node.py\:1362 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.object.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.object.rst new file mode 100644 index 0000000..04e57fa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.object.rst @@ -0,0 +1,3304 @@ +Object Operators +================ + +.. module:: bpy.ops.object + +.. function:: add(*, radius=1.0, type='EMPTY', enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add an object to the scene + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_object_type_items`] + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_modifier_menu() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_ui/properties_data_modifier.py\:303 `__ + +.. function:: add_named(*, linked=False, name="", session_uid=0, matrix=((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), drop_x=0, drop_y=0) + + Add named object + + :param linked: Linked, Duplicate object but not object data, linking to the original data (optional) + :type linked: bool + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :param matrix: Matrix, (multi-dimensional array of 4 * 4 items, in [-inf, inf], optional) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param drop_x: Drop X, X-coordinate (screen space) to place the new object under (in [-inf, inf], optional) + :type drop_x: int + :param drop_y: Drop Y, Y-coordinate (screen space) to place the new object under (in [-inf, inf], optional) + :type drop_y: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: align(*, bb_quality=True, align_mode='OPT_2', relative_to='OPT_4', align_axis=set()) + + Align objects + + :param bb_quality: High Quality, Enables high quality but slow calculation of the bounding box for perfect results on complex shape meshes with rotation/scale (optional) + :type bb_quality: bool + :param align_mode: Align Mode, Side of object to use for alignment (optional) + :type align_mode: Literal['OPT_1', 'OPT_2', 'OPT_3'] + :param relative_to: Relative To, Reference location to align to (optional) + + - ``OPT_1`` + Scene Origin -- Use the scene origin as the position for the selected objects to align to. + - ``OPT_2`` + 3D Cursor -- Use the 3D cursor as the position for the selected objects to align to. + - ``OPT_3`` + Selection -- Use the selected objects as the position for the selected objects to align to. + - ``OPT_4`` + Active -- Use the active object as the position for the selected objects to align to. + :type relative_to: Literal['OPT_1', 'OPT_2', 'OPT_3', 'OPT_4'] + :param align_axis: Align, Align to axis (optional) + :type align_axis: set[Literal['X', 'Y', 'Z']] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object_align.py\:386 `__ + + +.. function:: anim_transforms_to_deltas() + + Convert object animation for normal transforms to delta transforms + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:839 `__ + +.. function:: armature_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add an armature object to the scene + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: assign_property_defaults(*, process_data=True, process_bones=True) + + Assign the current values of custom properties as their defaults, for use as part of the rest pose state in NLA track mixing + + :param process_data: Process data properties, (optional) + :type process_data: bool + :param process_bones: Process bone properties, (optional) + :type process_bones: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:1001 `__ + + +.. function:: bake(*, type='COMBINED', pass_filter=set(), filepath="", width=512, height=512, margin=16, margin_type='EXTEND', use_selected_to_active=False, max_ray_distance=0.0, cage_extrusion=0.0, cage_object="", normal_space='TANGENT', normal_r='POS_X', normal_g='POS_Y', normal_b='POS_Z', target='IMAGE_TEXTURES', save_mode='INTERNAL', use_clear=False, use_cage=False, use_split_materials=False, use_automatic_name=False, uv_layer="") + + Bake image textures of selected objects + + :param type: Type, Type of pass to bake, some of them may not be supported by the current render engine (optional) + :type type: Literal[:ref:`rna_enum_bake_pass_type_items`] + :param pass_filter: Pass Filter, Filter to combined, diffuse, glossy, transmission and subsurface passes (optional) + :type pass_filter: set[Literal[:ref:`rna_enum_bake_pass_filter_type_items`]] + :param filepath: File Path, Image filepath to use when saving externally (optional, never None) + :type filepath: str + :param width: Width, Horizontal dimension of the baking map (external only) (in [1, inf], optional) + :type width: int + :param height: Height, Vertical dimension of the baking map (external only) (in [1, inf], optional) + :type height: int + :param margin: Margin, Extends the baked result as a post process filter (in [0, inf], optional) + :type margin: int + :param margin_type: Margin Type, Which algorithm to use to generate the margin (optional) + :type margin_type: Literal[:ref:`rna_enum_bake_margin_type_items`] + :param use_selected_to_active: Selected to Active, Bake shading on the surface of selected objects to the active object (optional) + :type use_selected_to_active: bool + :param max_ray_distance: Max Ray Distance, The maximum ray distance for matching points between the active and selected objects. If zero, there is no limit (in [0, inf], optional) + :type max_ray_distance: float + :param cage_extrusion: Cage Extrusion, Inflate the active object by the specified distance for baking. This helps matching to points nearer to the outside of the selected object meshes (in [0, inf], optional) + :type cage_extrusion: float + :param cage_object: Cage Object, Object to use as cage, instead of calculating the cage from the active object with cage extrusion (optional, never None) + :type cage_object: str + :param normal_space: Normal Space, Choose normal space for baking (optional) + :type normal_space: Literal[:ref:`rna_enum_normal_space_items`] + :param normal_r: R, Axis to bake in red channel (optional) + :type normal_r: Literal[:ref:`rna_enum_normal_swizzle_items`] + :param normal_g: G, Axis to bake in green channel (optional) + :type normal_g: Literal[:ref:`rna_enum_normal_swizzle_items`] + :param normal_b: B, Axis to bake in blue channel (optional) + :type normal_b: Literal[:ref:`rna_enum_normal_swizzle_items`] + :param target: Target, Where to output the baked map (optional) + :type target: Literal[:ref:`rna_enum_bake_target_items`] + :param save_mode: Save Mode, Where to save baked image textures (optional) + :type save_mode: Literal[:ref:`rna_enum_bake_save_mode_items`] + :param use_clear: Clear, Clear images before baking (only for internal saving) (optional) + :type use_clear: bool + :param use_cage: Cage, Cast rays to active object from a cage (optional) + :type use_cage: bool + :param use_split_materials: Split Materials, Split baked maps per material, using material name in output file (external only) (optional) + :type use_split_materials: bool + :param use_automatic_name: Automatic Name, Automatically name the output file with the pass type (optional) + :type use_automatic_name: bool + :param uv_layer: UV Layer, UV layer to override active (optional, never None) + :type uv_layer: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bake_image() + + Bake image textures of selected objects + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: camera_add(*, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add a camera object to the scene + + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: camera_custom_update() + + Update custom camera with new parameters from the shader + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: clear_override_library() + + Delete the selected local overrides and relink their usages to the linked data-blocks if possible, else reset them and mark them as non editable + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_add() + + Add an object to a new collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_external_asset_drop(*, session_uid=0, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0), use_instance=True, drop_x=0, drop_y=0, collection='') + + Add the dragged collection to the scene + + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :param use_instance: Instance, Add the dropped collection as collection instance (optional) + :type use_instance: bool + :param drop_x: Drop X, X-coordinate (screen space) to place the new object under (in [-inf, inf], optional) + :type drop_x: int + :param drop_y: Drop Y, Y-coordinate (screen space) to place the new object under (in [-inf, inf], optional) + :type drop_y: int + :param collection: Collection, (optional) + :type collection: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_instance_add(*, name="Collection", collection='', align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0), session_uid=0, drop_x=0, drop_y=0) + + Add a collection instance + + :param name: Name, Collection name to add (optional, never None) + :type name: str + :param collection: Collection, (optional) + :type collection: str + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :param drop_x: Drop X, X-coordinate (screen space) to place the new object under (in [-inf, inf], optional) + :type drop_x: int + :param drop_y: Drop Y, Y-coordinate (screen space) to place the new object under (in [-inf, inf], optional) + :type drop_y: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_link(*, collection='') + + Add an object to an existing collection + + :param collection: Collection, (optional) + :type collection: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_objects_select() + + Select all objects in collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_remove() + + Remove the active object from this collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_unlink() + + Unlink the collection from all objects + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: constraint_add(*, type='') + + Add a constraint to the active object + + :param type: Type, (optional) + :type type: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: constraint_add_with_targets(*, type='') + + Add a constraint to the active object, with target (where applicable) set to the selected objects/bones + + :param type: Type, (optional) + :type type: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: constraints_clear() + + Clear all constraints from the selected objects + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: constraints_copy() + + Copy constraints to other selected objects + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: convert(*, target='MESH', keep_original=False, merge_customdata=True, thickness=5, faces=True, offset=0.01) + + Convert selected objects to another type + + :param target: Target, Type of object to convert to (optional) + + - ``CURVE`` + Curve -- Curve from Mesh or Text objects. + - ``MESH`` + Mesh -- Mesh from Curve, Surface, Metaball, Text, or Point Cloud objects. + - ``POINTCLOUD`` + Point Cloud -- Point Cloud from Mesh objects. + - ``CURVES`` + Curves -- Curves from evaluated curve data. + - ``GREASEPENCIL`` + Grease Pencil -- Grease Pencil from Curve or Mesh objects. + :type target: Literal['CURVE', 'MESH', 'POINTCLOUD', 'CURVES', 'GREASEPENCIL'] + :param keep_original: Keep Original, Keep original objects instead of replacing them (optional) + :type keep_original: bool + :param merge_customdata: Merge UVs, Merge UV coordinates that share a vertex to account for imprecision in some modifiers (optional) + :type merge_customdata: bool + :param thickness: Thickness, (in [1, 100], optional) + :type thickness: int + :param faces: Export Faces, Export faces as filled strokes (optional) + :type faces: bool + :param offset: Stroke Offset, Offset strokes from fill (in [0, inf], optional) + :type offset: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy_global_transform() + + Copies the matrix of the currently active object or pose bone to the clipboard. Uses world-space matrices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/copy_global_transform.py\:150 `__ + +.. function:: copy_relative_transform() + + Copies the matrix of the currently active object or pose bone to the clipboard. Uses matrices relative to a specific object or the active scene camera + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/copy_global_transform.py\:180 `__ + +.. function:: correctivesmooth_bind(*, modifier="") + + Bind base pose in Corrective Smooth modifier + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: curves_empty_hair_add(*, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add an empty curve object to the scene with the selected mesh as surface + + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: curves_random_add(*, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add a curves object with random curves to the scene + + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: data_instance_add(*, name="", session_uid=0, type='ACTION', align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0), drop_x=0, drop_y=0) + + Add an object data instance + + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_id_type_items`] + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :param drop_x: Drop X, X-coordinate (screen space) to place the new object under (in [-inf, inf], optional) + :type drop_x: int + :param drop_y: Drop Y, Y-coordinate (screen space) to place the new object under (in [-inf, inf], optional) + :type drop_y: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: data_transfer(*, use_reverse_transfer=False, use_freeze=False, data_type='VGROUP_WEIGHTS', use_create=True, vert_mapping='NEAREST', edge_mapping='NEAREST', loop_mapping='NEAREST_POLYNOR', poly_mapping='NEAREST', use_auto_transform=False, use_object_transform=True, use_max_distance=False, max_distance=1.0, ray_radius=0.0, islands_precision=0.1, layers_select_src='ACTIVE', layers_select_dst='ACTIVE', mix_mode='REPLACE', mix_factor=1.0) + + Transfer data layer(s) (weights, edge sharp, etc.) from active to selected meshes + + :param use_reverse_transfer: Reverse Transfer, Transfer from selected objects to active one (optional) + :type use_reverse_transfer: bool + :param use_freeze: Freeze Operator, Prevent changes to settings to re-run the operator, handy to change several things at once with heavy geometry (optional) + :type use_freeze: bool + :param data_type: Data Type, Which data to transfer (optional) + + - ``VGROUP_WEIGHTS`` + Vertex Group(s) -- Transfer active or all vertex groups. + - ``BEVEL_WEIGHT_VERT`` + Bevel Weight -- Transfer bevel weights. + - ``COLOR_VERTEX`` + Colors -- Color Attributes. + - ``SHARP_EDGE`` + Sharp -- Transfer sharp mark. + - ``SEAM`` + UV Seam -- Transfer UV seam mark. + - ``CREASE`` + Subdivision Crease -- Transfer crease values. + - ``BEVEL_WEIGHT_EDGE`` + Bevel Weight -- Transfer bevel weights. + - ``FREESTYLE_EDGE`` + Freestyle Mark -- Transfer Freestyle edge mark. + - ``CUSTOM_NORMAL`` + Custom Normals -- Transfer custom normals. + - ``COLOR_CORNER`` + Colors -- Color Attributes. + - ``UV`` + UVs -- Transfer UV layers. + - ``SMOOTH`` + Smooth -- Transfer flat/smooth mark. + - ``FREESTYLE_FACE`` + Freestyle Mark -- Transfer Freestyle face mark. + :type data_type: Literal['VGROUP_WEIGHTS', 'BEVEL_WEIGHT_VERT', 'COLOR_VERTEX', 'SHARP_EDGE', 'SEAM', 'CREASE', 'BEVEL_WEIGHT_EDGE', 'FREESTYLE_EDGE', 'CUSTOM_NORMAL', 'COLOR_CORNER', 'UV', 'SMOOTH', 'FREESTYLE_FACE'] + :param use_create: Create Data, Add data layers on destination meshes if needed (optional) + :type use_create: bool + :param vert_mapping: Vertex Mapping, Method used to map source vertices to destination ones (optional) + :type vert_mapping: Literal[:ref:`rna_enum_dt_method_vertex_items`] + :param edge_mapping: Edge Mapping, Method used to map source edges to destination ones (optional) + :type edge_mapping: Literal[:ref:`rna_enum_dt_method_edge_items`] + :param loop_mapping: Face Corner Mapping, Method used to map source faces' corners to destination ones (optional) + :type loop_mapping: Literal[:ref:`rna_enum_dt_method_loop_items`] + :param poly_mapping: Face Mapping, Method used to map source faces to destination ones (optional) + :type poly_mapping: Literal[:ref:`rna_enum_dt_method_poly_items`] + :param use_auto_transform: Auto Transform, Automatically compute transformation to get the best possible match between source and destination meshes.Warning: Results will never be as good as manual matching of objects(optional) + :type use_auto_transform: bool + :param use_object_transform: Object Transform, Evaluate source and destination meshes in global space (optional) + :type use_object_transform: bool + :param use_max_distance: Only Neighbor Geometry, Source elements must be closer than given distance from destination one (optional) + :type use_max_distance: bool + :param max_distance: Max Distance, Maximum allowed distance between source and destination element, for non-topology mappings (in [0, inf], optional) + :type max_distance: float + :param ray_radius: Ray Radius, 'Width' of rays (especially useful when raycasting against vertices or edges) (in [0, inf], optional) + :type ray_radius: float + :param islands_precision: Islands Precision, Factor controlling precision of islands handling (the higher, the better the results) (in [0, 10], optional) + :type islands_precision: float + :param layers_select_src: Source Layers Selection, Which layers to transfer, in case of multi-layers types (optional) + :type layers_select_src: Literal[:ref:`rna_enum_dt_layers_select_src_items`] + :param layers_select_dst: Destination Layers Matching, How to match source and destination layers (optional) + :type layers_select_dst: Literal[:ref:`rna_enum_dt_layers_select_dst_items`] + :param mix_mode: Mix Mode, How to affect destination elements with source values (optional) + :type mix_mode: Literal[:ref:`rna_enum_dt_mix_mode_items`] + :param mix_factor: Mix Factor, Factor to use when applying data to destination (exact behavior depends on mix mode) (in [0, 1], optional) + :type mix_factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: datalayout_transfer(*, modifier="", data_type='', use_delete=False, layers_select_src='ACTIVE', layers_select_dst='ACTIVE') + + Transfer layout of data layer(s) from active to selected meshes + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param data_type: Data Type, Which data to transfer (optional) + + - ``VGROUP_WEIGHTS`` + Vertex Group(s) -- Transfer active or all vertex groups. + - ``BEVEL_WEIGHT_VERT`` + Bevel Weight -- Transfer bevel weights. + - ``COLOR_VERTEX`` + Colors -- Color Attributes. + - ``SHARP_EDGE`` + Sharp -- Transfer sharp mark. + - ``SEAM`` + UV Seam -- Transfer UV seam mark. + - ``CREASE`` + Subdivision Crease -- Transfer crease values. + - ``BEVEL_WEIGHT_EDGE`` + Bevel Weight -- Transfer bevel weights. + - ``FREESTYLE_EDGE`` + Freestyle Mark -- Transfer Freestyle edge mark. + - ``CUSTOM_NORMAL`` + Custom Normals -- Transfer custom normals. + - ``COLOR_CORNER`` + Colors -- Color Attributes. + - ``UV`` + UVs -- Transfer UV layers. + - ``SMOOTH`` + Smooth -- Transfer flat/smooth mark. + - ``FREESTYLE_FACE`` + Freestyle Mark -- Transfer Freestyle face mark. + :type data_type: Literal['', 'VGROUP_WEIGHTS', 'BEVEL_WEIGHT_VERT', 'COLOR_VERTEX', 'SHARP_EDGE', 'SEAM', 'CREASE', 'BEVEL_WEIGHT_EDGE', 'FREESTYLE_EDGE', 'CUSTOM_NORMAL', 'COLOR_CORNER', 'UV', 'SMOOTH', 'FREESTYLE_FACE'] + :param use_delete: Exact Match, Also delete some data layers from destination if necessary, so that it matches exactly source (optional) + :type use_delete: bool + :param layers_select_src: Source Layers Selection, Which layers to transfer, in case of multi-layers types (optional) + :type layers_select_src: Literal[:ref:`rna_enum_dt_layers_select_src_items`] + :param layers_select_dst: Destination Layers Matching, How to match source and destination layers (optional) + :type layers_select_dst: Literal[:ref:`rna_enum_dt_layers_select_dst_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete(*, use_global=False, confirm=True) + + Delete selected objects + + :param use_global: Delete Globally, Remove object from all scenes (optional) + :type use_global: bool + :param confirm: Confirm, Prompt for confirmation (optional) + :type confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete_fix_to_camera_keys() + + Delete all keys that were generated by the 'Fix to Scene Camera' operator + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/copy_global_transform.py\:639 `__ + +.. function:: drop_geometry_nodes(*, session_uid=0, show_datablock_in_modifier=True) + + Undocumented, consider `contributing `__. + + :param session_uid: Session UID, Session UID of the geometry node group being dropped (in [-inf, inf], optional) + :type session_uid: int + :param show_datablock_in_modifier: Show the data-block selector in the modifier, (optional) + :type show_datablock_in_modifier: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: drop_named_material(*, name="", session_uid=0) + + Undocumented, consider `contributing `__. + + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate(*, linked=False, mode='TRANSLATION') + + Duplicate selected objects + + :param linked: Linked, Duplicate object but not object data, linking to the original data (optional) + :type linked: bool + :param mode: Mode, (optional) + :type mode: Literal[:ref:`rna_enum_transform_mode_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_move(*, OBJECT_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Duplicate the selected objects and move them + + :param OBJECT_OT_duplicate: Duplicate Objects, Duplicate selected objects (optional, :func:`bpy.ops.object.duplicate` keyword arguments) + :type OBJECT_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_move_linked(*, OBJECT_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Duplicate the selected objects, but not their object data, and move them + + :param OBJECT_OT_duplicate: Duplicate Objects, Duplicate selected objects (optional, :func:`bpy.ops.object.duplicate` keyword arguments) + :type OBJECT_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicates_make_real(*, use_base_parent=False, use_hierarchy=False) + + Make instanced objects attached to this object real + + :param use_base_parent: Parent, Parent newly created objects to the original instancer (optional) + :type use_base_parent: bool + :param use_hierarchy: Keep Hierarchy, Maintain parent child relationships (optional) + :type use_hierarchy: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: editmode_toggle() + + Toggle object's edit mode + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: effector_add(*, type='FORCE', radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add an empty object with a physics effector to the scene + + :param type: Type, (optional) + :type type: Literal['FORCE', 'WIND', 'VORTEX', 'MAGNET', 'HARMONIC', 'CHARGE', 'LENNARDJ', 'TEXTURE', 'GUIDE', 'BOID', 'TURBULENCE', 'DRAG', 'FLUID'] + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: empty_add(*, type='PLAIN_AXES', radius=1.0, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add an empty object to the scene + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_object_empty_drawtype_items`] + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: empty_image_add(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=True, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='', name="", session_uid=0, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0), background=False) + + Add an empty image type to scene with data + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + + - ``DEFAULT`` + Default -- Automatically determine sort method for files. + - ``FILE_SORT_ALPHA`` + Name -- Sort the file list alphabetically. + - ``FILE_SORT_EXTENSION`` + Extension -- Sort the file list by extension/type. + - ``FILE_SORT_TIME`` + Modified Date -- Sort files by modification time. + - ``FILE_SORT_SIZE`` + Size -- Sort files by size. + - ``ASSET_CATALOG`` + Asset Catalog -- Sort the asset list so that assets in the same catalog are kept together. Within a single catalog, assets are ordered by name. The catalogs are in order of the flattened catalog hierarchy.. + :type sort_method: Literal['', 'DEFAULT', 'FILE_SORT_ALPHA', 'FILE_SORT_EXTENSION', 'FILE_SORT_TIME', 'FILE_SORT_SIZE', 'ASSET_CATALOG'] + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :param background: Put in Background, Make the image render behind all objects (optional) + :type background: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: explode_refresh(*, modifier="") + + Refresh data in the Explode modifier + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: fix_to_camera(*, use_location=True, use_rotation=True, use_scale=True) + + Generate new keys to fix the selected object/bone to the camera on unkeyed frames + + :param use_location: Location, Create Location keys when fixing to the scene camera (optional) + :type use_location: bool + :param use_rotation: Rotation, Create Rotation keys when fixing to the scene camera (optional) + :type use_rotation: bool + :param use_scale: Scale, Create Scale keys when fixing to the scene camera (optional) + :type use_scale: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/copy_global_transform.py\:639 `__ + + +.. function:: forcefield_toggle() + + Toggle object's force field + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: geometry_node_bake_delete_single(*, session_uid=0, modifier_name="", bake_id=0) + + Delete baked data of a single bake node or simulation + + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :param modifier_name: Modifier Name, Name of the modifier that contains the node (optional, never None) + :type modifier_name: str + :param bake_id: Bake ID, Nested node id of the node (in [0, inf], optional) + :type bake_id: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: geometry_node_bake_pack_single(*, session_uid=0, modifier_name="", bake_id=0) + + Pack baked data from disk into the .blend file + + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :param modifier_name: Modifier Name, Name of the modifier that contains the node (optional, never None) + :type modifier_name: str + :param bake_id: Bake ID, Nested node id of the node (in [0, inf], optional) + :type bake_id: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: geometry_node_bake_single(*, session_uid=0, modifier_name="", bake_id=0) + + Bake a single bake node or simulation + + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :param modifier_name: Modifier Name, Name of the modifier that contains the node (optional, never None) + :type modifier_name: str + :param bake_id: Bake ID, Nested node id of the node (in [0, inf], optional) + :type bake_id: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: geometry_node_bake_unpack_single(*, session_uid=0, modifier_name="", bake_id=0, method='USE_LOCAL') + + Unpack baked data from the .blend file to disk + + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :param modifier_name: Modifier Name, Name of the modifier that contains the node (optional, never None) + :type modifier_name: str + :param bake_id: Bake ID, Nested node id of the node (in [0, inf], optional) + :type bake_id: int + :param method: Method, How to unpack (optional) + :type method: Literal['USE_LOCAL', 'WRITE_LOCAL', 'USE_ORIGINAL', 'WRITE_ORIGINAL'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: geometry_node_tree_copy_assign() + + Duplicate the active geometry node group and assign it to the active modifier + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: geometry_nodes_input_attribute_toggle(*, input_name="", modifier_name="") + + Switch between an attribute and a single value to define the data for every element + + :param input_name: Input Name, (optional, never None) + :type input_name: str + :param modifier_name: Modifier Name, (optional, never None) + :type modifier_name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: geometry_nodes_move_to_nodes(*, use_selected_objects=False) + + Move inputs and outputs from in the modifier to a new node group + + :param use_selected_objects: Selected Objects, Affect all selected objects instead of just the active object (optional) + :type use_selected_objects: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/geometry_nodes.py\:285 `__ + + +.. function:: grease_pencil_add(*, type='EMPTY', use_in_front=True, stroke_depth_offset=0.05, use_lights=True, stroke_depth_order='3D', radius=1.0, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add a Grease Pencil object to the scene + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_object_gpencil_type_items`] + :param use_in_front: Show In Front, Show Line Art Grease Pencil in front of everything (optional) + :type use_in_front: bool + :param stroke_depth_offset: Stroke Offset, Stroke offset for the Line Art modifier (in [0, inf], optional) + :type stroke_depth_offset: float + :param use_lights: Use Lights, Use lights for this Grease Pencil object (optional) + :type use_lights: bool + :param stroke_depth_order: Stroke Depth Order, Defines how the strokes are ordered in 3D space (for objects not displayed 'In Front') (optional) + + - ``2D`` + 2D Layers -- Display strokes using Grease Pencil layers to define order. + - ``3D`` + 3D Location -- Display strokes using real 3D position in 3D space. + :type stroke_depth_order: Literal['2D', '3D'] + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: grease_pencil_dash_modifier_segment_add(*, modifier="") + + Add a segment to the dash modifier + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: grease_pencil_dash_modifier_segment_move(*, modifier="", type='UP') + + Move the active dash segment up or down + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param type: Type, (optional) + :type type: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: grease_pencil_dash_modifier_segment_remove(*, modifier="", index=0) + + Remove the active segment from the dash modifier + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param index: Index, Index of the segment to remove (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: grease_pencil_time_modifier_segment_add(*, modifier="") + + Add a segment to the time modifier + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: grease_pencil_time_modifier_segment_move(*, modifier="", type='UP') + + Move the active time segment up or down + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param type: Type, (optional) + :type type: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: grease_pencil_time_modifier_segment_remove(*, modifier="", index=0) + + Remove the active segment from the time modifier + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param index: Index, Index of the segment to remove (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_collection(*, collection_index=-1, toggle=False, extend=False) + + Show only objects in collection (Shift to extend) + + :param collection_index: Collection Index, Index of the collection to change visibility (in [-1, inf], optional) + :type collection_index: int + :param toggle: Toggle, Toggle visibility (optional) + :type toggle: bool + :param extend: Extend, Extend visibility (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_render_clear_all() + + Reveal all render objects by setting the hide render flag + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:743 `__ + +.. function:: hide_view_clear(*, select=True) + + Reveal temporarily hidden objects + + :param select: Select, Select revealed objects (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_view_set(*, unselected=False) + + Temporarily hide objects from the viewport + + :param unselected: Unselected, Hide unselected rather than selected objects (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hook_add_newob() + + Hook selected vertices to a newly created object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: hook_add_selob(*, use_bone=False) + + Hook selected vertices to the first selected object + + :param use_bone: Active Bone, Assign the hook to the hook object's active bone (optional) + :type use_bone: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hook_assign(*, modifier='') + + Assign the selected vertices to a hook + + :param modifier: Modifier, Modifier number to assign to (optional) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hook_recenter(*, modifier='') + + Set hook center to cursor position + + :param modifier: Modifier, Modifier number to assign to (optional) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hook_remove(*, modifier='') + + Remove a hook from the active object + + :param modifier: Modifier, Modifier number to remove (optional) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hook_reset(*, modifier='') + + Recalculate and clear offset transformation + + :param modifier: Modifier, Modifier number to assign to (optional) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hook_select(*, modifier='') + + Select affected vertices on mesh + + :param modifier: Modifier, Modifier number to remove (optional) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: instance_offset_from_cursor() + + Set offset used for collection instances based on cursor position + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:936 `__ + +.. function:: instance_offset_from_object() + + Set offset used for collection instances based on the active object position + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:968 `__ + +.. function:: instance_offset_to_cursor() + + Set cursor position to the offset used for collection instances + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:951 `__ + +.. function:: isolate_type_render() + + Hide unselected render objects of same type as active by setting the hide render flag + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:723 `__ + +.. function:: join() + + Join selected objects into active object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: join_shapes(*, use_mirror=False) + + Add the vertex positions of selected objects as shape keys or update existing shape keys with matching names + + :param use_mirror: Mirror, Mirror the new shape key values (optional) + :type use_mirror: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: join_uvs() + + Transfer UV Maps from active to selected objects (needs matching geometry) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:623 `__ + +.. function:: laplaciandeform_bind(*, modifier="") + + Bind mesh to system in laplacian deform modifier + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: lattice_add_to_selected(*, fit_to_selected=True, radius=1.0, margin=0.0, add_modifiers=True, resolution_u=2, resolution_v=2, resolution_w=2, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add a lattice and use it to deform selected objects + + :param fit_to_selected: Fit to Selected, Resize lattice to fit selected deformable objects (optional) + :type fit_to_selected: bool + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param margin: Margin, Add margin to lattice dimensions (in [0, inf], optional) + :type margin: float + :param add_modifiers: Add Modifiers, Automatically add lattice modifiers to selected objects (optional) + :type add_modifiers: bool + :param resolution_u: Resolution U, Lattice resolution in U direction (in [1, 64], optional) + :type resolution_u: int + :param resolution_v: V, Lattice resolution in V direction (in [1, 64], optional) + :type resolution_v: int + :param resolution_w: W, Lattice resolution in W direction (in [1, 64], optional) + :type resolution_w: int + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: light_add(*, type='POINT', radius=1.0, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add a light object to the scene + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_light_type_items`] + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: light_linking_blocker_collection_new() + + Create new light linking collection used by the active emitter + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: light_linking_blockers_link(*, link_state='INCLUDE') + + Light link selected blockers to the active emitter object + + :param link_state: Link State, State of the shadow linking (optional) + + - ``INCLUDE`` + Include -- Include selected blockers to cast shadows from the active emitter. + - ``EXCLUDE`` + Exclude -- Exclude selected blockers from casting shadows from the active emitter. + :type link_state: Literal['INCLUDE', 'EXCLUDE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: light_linking_blockers_select() + + Select all objects which block light from this emitter + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: light_linking_receiver_collection_new() + + Create new light linking collection used by the active emitter + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: light_linking_receivers_link(*, link_state='INCLUDE') + + Light link selected receivers to the active emitter object + + :param link_state: Link State, State of the light linking (optional) + + - ``INCLUDE`` + Include -- Include selected receivers to receive light from the active emitter. + - ``EXCLUDE`` + Exclude -- Exclude selected receivers from receiving light from the active emitter. + :type link_state: Literal['INCLUDE', 'EXCLUDE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: light_linking_receivers_select() + + Select all objects which receive light from this emitter + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: light_linking_unlink_from_collection() + + Remove this object or collection from the light linking collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: lightprobe_add(*, type='SPHERE', radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add a light probe object + + :param type: Type, (optional) + + - ``SPHERE`` + Sphere -- Light probe that captures precise lighting from all directions at a single point in space. + - ``PLANE`` + Plane -- Light probe that captures incoming light from a single direction on a plane. + - ``VOLUME`` + Volume -- Light probe that captures low frequency lighting inside a volume. + :type type: Literal['SPHERE', 'PLANE', 'VOLUME'] + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: lightprobe_cache_bake(*, subset='ALL') + + Bake irradiance volume light cache + + :param subset: Subset, Subset of probes to update (optional) + + - ``ALL`` + All Volumes -- Bake all light probe volumes. + - ``SELECTED`` + Selected Only -- Only bake selected light probe volumes. + - ``ACTIVE`` + Active Only -- Only bake the active light probe volume. + :type subset: Literal['ALL', 'SELECTED', 'ACTIVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: lightprobe_cache_free(*, subset='SELECTED') + + Delete cached indirect lighting + + :param subset: Subset, Subset of probes to update (optional) + + - ``ALL`` + All Light Probes -- Delete all light probes' baked lighting data. + - ``SELECTED`` + Selected Only -- Only delete selected light probes' baked lighting data. + - ``ACTIVE`` + Active Only -- Only delete the active light probe's baked lighting data. + :type subset: Literal['ALL', 'SELECTED', 'ACTIVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: lineart_bake_strokes(*, bake_all=False) + + Bake Line Art for current Grease Pencil object + + :param bake_all: Bake All, Bake all Line Art modifiers (optional) + :type bake_all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: lineart_clear(*, clear_all=False) + + Clear all strokes in current Grease Pencil object + + :param clear_all: Clear All, Clear all Line Art modifier bakes (optional) + :type clear_all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: link_to_collection(*, collection_uid=-1, is_new=False, new_collection_name="") + + Link objects to a collection + + :param collection_uid: Collection UID, Session UID of the collection to link to (in [-1, inf], optional) + :type collection_uid: int + :param is_new: New, Link objects to a new collection (optional) + :type is_new: bool + :param new_collection_name: Name, Name of the newly added collection (optional, never None) + :type new_collection_name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: location_clear(*, clear_delta=False) + + Clear the object's location + + :param clear_delta: Clear Delta, Clear delta location in addition to clearing the normal location transform (optional) + :type clear_delta: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: make_dupli_face() + + Convert objects into instanced faces + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:706 `__ + +.. function:: make_links_data(*, type='OBDATA') + + Transfer data from active object to selected objects + + :param type: Type, (optional) + + - ``OBDATA`` + Link Object Data -- Replace assigned Object Data. + - ``MATERIAL`` + Link Materials -- Replace assigned Materials. + - ``ANIMATION`` + Link Animation Data -- Replace assigned Animation Data. + - ``GROUPS`` + Link Collections -- Replace assigned Collections. + - ``DUPLICOLLECTION`` + Link Instance Collection -- Replace assigned Collection Instance. + - ``FONTS`` + Link Fonts to Text -- Replace Text object Fonts. + - ``MODIFIERS`` + Copy Modifiers -- Replace Modifiers. + - ``EFFECTS`` + Copy Grease Pencil Effects -- Replace Grease Pencil Effects. + :type type: Literal['OBDATA', 'MATERIAL', 'ANIMATION', 'GROUPS', 'DUPLICOLLECTION', 'FONTS', 'MODIFIERS', 'EFFECTS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: make_links_scene(*, scene='') + + Link selection to another scene + + :param scene: Scene, (optional) + :type scene: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: make_local(*, type='SELECT_OBJECT') + + Make library linked data-blocks local to this file + + :param type: Type, (optional) + :type type: Literal['SELECT_OBJECT', 'SELECT_OBDATA', 'SELECT_OBDATA_MATERIAL', 'ALL'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: make_override_library(*, collection=0) + + Create a local override of the selected linked objects, and their hierarchy of dependencies + + :param collection: Override Collection, Session UID of the directly linked collection containing the selected object, to make an override from (in [-inf, inf], optional) + :type collection: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: make_single_user(*, type='SELECTED_OBJECTS', object=False, obdata=False, material=False, animation=False, obdata_animation=False) + + Make linked data local to each object + + :param type: Type, (optional) + :type type: Literal['SELECTED_OBJECTS', 'ALL'] + :param object: Object, Make single user objects (optional) + :type object: bool + :param obdata: Object Data, Make single user object data (optional) + :type obdata: bool + :param material: Materials, Make materials local to each data-block (optional) + :type material: bool + :param animation: Object Animation, Make object animation data local to each object (optional) + :type animation: bool + :param obdata_animation: Object Data Animation, Make object data (mesh, curve etc.) animation data local to each object (optional) + :type obdata_animation: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: material_slot_add() + + Add a new material slot + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_slot_assign() + + Assign active material slot to selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_slot_copy() + + Copy material to selected objects + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_slot_deselect() + + Deselect by active material slot + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_slot_move(*, direction='UP') + + Move the active material up/down in the list + + :param direction: Direction, Direction to move the active material towards (optional) + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: material_slot_remove() + + Remove the selected material slot + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_slot_remove_all() + + Remove all materials + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_slot_remove_unused() + + Remove unused material slots + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: material_slot_select() + + Select by active material slot + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: meshdeform_bind(*, modifier="") + + Bind mesh to cage in mesh deform modifier + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: metaball_add(*, type='BALL', radius=2.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add a metaball object to the scene + + :param type: Primitive, (optional) + :type type: Literal[:ref:`rna_enum_metaelem_type_items`] + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mode_set(*, mode='OBJECT', toggle=False) + + Sets the object interaction mode + + :param mode: Mode, (optional) + :type mode: Literal[:ref:`rna_enum_object_mode_items`] + :param toggle: Toggle, (optional) + :type toggle: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mode_set_with_submode(*, mode='OBJECT', toggle=False, mesh_select_mode=set()) + + Sets the object interaction mode + + :param mode: Mode, (optional) + :type mode: Literal[:ref:`rna_enum_object_mode_items`] + :param toggle: Toggle, (optional) + :type toggle: bool + :param mesh_select_mode: Mesh Mode, (optional) + :type mesh_select_mode: set[Literal[:ref:`rna_enum_mesh_select_mode_items`]] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_add(*, type='SUBSURF', use_selected_objects=False) + + Add a procedural operation/effect to the active object + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_object_modifier_type_items`] + :param use_selected_objects: Selected Objects, Affect all selected objects instead of just the active object (optional) + :type use_selected_objects: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_add_node_group(*, asset_library_type='LOCAL', asset_library_identifier="", relative_asset_identifier="", session_uid=0, use_selected_objects=False) + + Add a procedural operation/effect to the active object + + :param asset_library_type: Asset Library Type, (optional) + :type asset_library_type: Literal[:ref:`rna_enum_asset_library_type_items`] + :param asset_library_identifier: Asset Library Identifier, (optional, never None) + :type asset_library_identifier: str + :param relative_asset_identifier: Relative Asset Identifier, (optional, never None) + :type relative_asset_identifier: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :param use_selected_objects: Selected Objects, Affect all selected objects instead of just the active object (optional) + :type use_selected_objects: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_apply(*, modifier="", report=False, merge_customdata=True, single_user=False, all_keyframes=False, use_selected_objects=False) + + Apply modifier and remove from the stack + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param report: Report, Create a notification after the operation (optional) + :type report: bool + :param merge_customdata: Merge UVs, For mesh objects, merge UV coordinates that share a vertex to account for imprecision in some modifiers (optional) + :type merge_customdata: bool + :param single_user: Make Data Single User, Make the object's data single user if needed (optional) + :type single_user: bool + :param all_keyframes: Apply to all keyframes, For Grease Pencil objects, apply the modifier to all the keyframes (optional) + :type all_keyframes: bool + :param use_selected_objects: Selected Objects, Affect all selected objects instead of just the active object (optional) + :type use_selected_objects: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_apply_as_shapekey(*, keep_modifier=False, modifier="", report=False, use_selected_objects=False) + + Apply modifier as a new shape key and remove from the stack + + :param keep_modifier: Keep Modifier, Do not remove the modifier from stack (optional) + :type keep_modifier: bool + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param report: Report, Create a notification after the operation (optional) + :type report: bool + :param use_selected_objects: Selected Objects, Affect all selected objects instead of just the active object (optional) + :type use_selected_objects: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_convert(*, modifier="") + + Convert particles to a mesh object + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_copy(*, modifier="", use_selected_objects=False) + + Duplicate modifier at the same position in the stack + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param use_selected_objects: Selected Objects, Affect all selected objects instead of just the active object (optional) + :type use_selected_objects: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_copy_to_selected(*, modifier="") + + Copy the modifier from the active object to all selected objects + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_move_down(*, modifier="") + + Move modifier down in the stack + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_move_to_index(*, modifier="", index=0, use_selected_objects=False) + + Change the modifier's index in the stack so it evaluates after the set number of others + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param index: Index, The index to move the modifier to (in [0, inf], optional) + :type index: int + :param use_selected_objects: Selected Objects, Affect all selected objects instead of just the active object (optional) + :type use_selected_objects: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_move_up(*, modifier="") + + Move modifier up in the stack + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_remove(*, modifier="", report=False, use_selected_objects=False) + + Remove a modifier from the active object + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param report: Report, Create a notification after the operation (optional) + :type report: bool + :param use_selected_objects: Selected Objects, Affect all selected objects instead of just the active object (optional) + :type use_selected_objects: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifier_set_active(*, modifier="") + + Activate the modifier to use as the context + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: modifiers_clear() + + Clear all modifiers from the selected objects + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: modifiers_copy_to_selected() + + Copy modifiers to other selected objects + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: move_to_collection(*, collection_uid=-1, is_new=False, new_collection_name="") + + Move objects to a collection + + :param collection_uid: Collection UID, Session UID of the collection to move to (in [-1, inf], optional) + :type collection_uid: int + :param is_new: New, Move objects to a new collection (optional) + :type is_new: bool + :param new_collection_name: Name, Name of the newly added collection (optional, never None) + :type new_collection_name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: multires_base_apply(*, modifier="", apply_heuristic=True) + + Modify the base mesh to conform to the displaced mesh + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param apply_heuristic: Apply Subdivision Heuristic, Whether or not the final base mesh positions will be slightly altered to account for a new subdivision modifier being added (optional) + :type apply_heuristic: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: multires_external_pack() + + Pack displacements from an external file + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: multires_external_save(*, filepath="", hide_props_region=True, check_existing=True, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=True, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, display_type='DEFAULT', sort_method='', modifier="") + + Save displacements to an external file + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: multires_higher_levels_delete(*, modifier="") + + Deletes the higher resolution mesh, potential loss of detail + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: multires_rebuild_subdiv(*, modifier="") + + Rebuilds all possible subdivisions levels to generate a lower resolution base mesh + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: multires_reshape(*, modifier="") + + Copy vertex coordinates from other object + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: multires_subdivide(*, modifier="", mode='CATMULL_CLARK') + + Add a new level of subdivision + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param mode: Subdivision Mode, How the mesh is going to be subdivided to create a new level (optional) + + - ``CATMULL_CLARK`` + Catmull-Clark -- Create a new level using Catmull-Clark subdivisions. + - ``SIMPLE`` + Simple -- Create a new level using simple subdivisions. + - ``LINEAR`` + Linear -- Create a new level using linear interpolation of the sculpted displacement. + :type mode: Literal['CATMULL_CLARK', 'SIMPLE', 'LINEAR'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: multires_unsubdivide(*, modifier="") + + Rebuild a lower subdivision level of the current base mesh + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: ocean_bake(*, modifier="", free=False) + + Bake an image sequence of ocean data + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param free: Free, Free the bake, rather than generating it (optional) + :type free: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: origin_clear() + + Clear the object's origin + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: origin_set(*, type='GEOMETRY_ORIGIN', center='MEDIAN') + + Set the object's origin, by either moving the data, or set to center of data, or use 3D cursor + + :param type: Type, (optional) + + - ``GEOMETRY_ORIGIN`` + Geometry to Origin -- Move object geometry to object origin. + - ``ORIGIN_GEOMETRY`` + Origin to Geometry -- Calculate the center of geometry based on the current pivot point (median, otherwise bounding box). + - ``ORIGIN_CURSOR`` + Origin to 3D Cursor -- Move object origin to position of the 3D cursor. + - ``ORIGIN_CENTER_OF_MASS`` + Origin to Center of Mass (Surface) -- Calculate the center of mass from the surface area. + - ``ORIGIN_CENTER_OF_VOLUME`` + Origin to Center of Mass (Volume) -- Calculate the center of mass from the volume (must be manifold geometry with consistent normals). + :type type: Literal['GEOMETRY_ORIGIN', 'ORIGIN_GEOMETRY', 'ORIGIN_CURSOR', 'ORIGIN_CENTER_OF_MASS', 'ORIGIN_CENTER_OF_VOLUME'] + :param center: Center, (optional) + :type center: Literal['MEDIAN', 'BOUNDS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: parent_clear(*, type='CLEAR') + + Clear the object's parenting + + :param type: Type, (optional) + + - ``CLEAR`` + Clear Parent -- Completely clear the parenting relationship, including involved modifiers if any. + - ``CLEAR_KEEP_TRANSFORM`` + Clear and Keep Transformation -- As 'Clear Parent', but keep the current visual transformations of the object. + - ``CLEAR_INVERSE`` + Clear Parent Inverse -- Reset the transform corrections applied to the parenting relationship, does not remove parenting itself. + :type type: Literal['CLEAR', 'CLEAR_KEEP_TRANSFORM', 'CLEAR_INVERSE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: parent_inverse_apply() + + Apply the object's parent inverse to its data + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: parent_no_inverse_set(*, keep_transform=False) + + Set the object's parenting without setting the inverse parent correction + + :param keep_transform: Keep Transform, Preserve the world transform throughout parenting (optional) + :type keep_transform: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: parent_set(*, type='OBJECT', xmirror=False, keep_transform=False) + + Set the object's parenting + + :param type: Type, (optional) + :type type: Literal['OBJECT', 'ARMATURE', 'ARMATURE_NAME', 'ARMATURE_AUTO', 'ARMATURE_ENVELOPE', 'BONE', 'BONE_RELATIVE', 'CURVE', 'FOLLOW', 'PATH_CONST', 'LATTICE', 'VERTEX', 'VERTEX_TRI'] + :param xmirror: X Mirror, Apply weights symmetrically along X axis, for Envelope/Automatic vertex groups creation (optional) + :type xmirror: bool + :param keep_transform: Keep Transform, Apply transformation before parenting (optional) + :type keep_transform: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: particle_system_add() + + Add a particle system + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: particle_system_remove() + + Remove the selected particle system + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: paste_transform(*, method='CURRENT', bake_step=0, use_mirror=False, mirror_axis_loc='x', mirror_axis_rot='z', use_relative=False) + + Pastes the matrix from the clipboard to the currently active pose bone or object. Uses world-space matrices + + :param method: Paste Method, Update the current transform, selected keyframes, or even create new keys (optional) + + - ``CURRENT`` + Current Transform -- Paste onto the current values only, only manipulating the animation data if auto-keying is enabled. + - ``EXISTING_KEYS`` + Selected Keys -- Paste onto frames that have a selected key, potentially creating new keys on those frames. + - ``BAKE`` + Bake on Key Range -- Paste onto all frames between the first and last selected key, creating new keyframes if necessary. + :type method: Literal['CURRENT', 'EXISTING_KEYS', 'BAKE'] + :param bake_step: Frame Step, Only used for baking. Step=1 creates a key on every frame, step=2 bakes on 2s, etc (in [1, inf], optional) + :type bake_step: int + :param use_mirror: Mirror Transform, When pasting, mirror the transform relative to a specific object or bone (optional) + :type use_mirror: bool + :param mirror_axis_loc: Location Axis, Coordinate axis used to mirror the location part of the transform (optional) + :type mirror_axis_loc: Literal['x', 'y', 'z'] + :param mirror_axis_rot: Rotation Axis, Coordinate axis used to mirror the rotation part of the transform (optional) + :type mirror_axis_rot: Literal['x', 'y', 'z'] + :param use_relative: Use Relative Paste, When pasting, assume the pasted matrix is relative to another object (set in the user interface) (optional) + :type use_relative: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/copy_global_transform.py\:325 `__ + + +.. function:: paths_calculate(*, display_type='RANGE', range='SCENE') + + Generate motion paths for the selected objects + + :param display_type: Display Type, (optional) + :type display_type: Literal[:ref:`rna_enum_motionpath_display_type_items`] + :param range: Computation Range, (optional) + :type range: Literal[:ref:`rna_enum_motionpath_range_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paths_clear(*, only_selected=False) + + Undocumented, consider `contributing `__. + + :param only_selected: Only Selected, Only clear motion paths of selected objects (optional) + :type only_selected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paths_update() + + Recalculate motion paths for selected objects + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: paths_update_visible() + + Recalculate all visible motion paths for objects and poses + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: pointcloud_random_add(*, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add a point cloud object to the scene + + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: posemode_toggle() + + Enable or disable posing/selecting bones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: quadriflow_remesh(*, use_mesh_symmetry=True, use_preserve_sharp=False, use_preserve_boundary=False, preserve_attributes=False, smooth_normals=False, mode='FACES', target_ratio=1.0, target_edge_length=0.1, target_faces=4000, mesh_area=-1.0, seed=0) + + Create a new quad based mesh using the surface data of the current mesh. All data layers will be lost + + :param use_mesh_symmetry: Use Mesh Symmetry, Generates a symmetrical mesh using the mesh symmetry configuration (optional) + :type use_mesh_symmetry: bool + :param use_preserve_sharp: Preserve Sharp, Try to preserve sharp features on the mesh (optional) + :type use_preserve_sharp: bool + :param use_preserve_boundary: Preserve Mesh Boundary, Try to preserve mesh boundary on the mesh (optional) + :type use_preserve_boundary: bool + :param preserve_attributes: Preserve Attributes, Reproject attributes onto the new mesh (optional) + :type preserve_attributes: bool + :param smooth_normals: Smooth Normals, Set the output mesh normals to smooth (optional) + :type smooth_normals: bool + :param mode: Mode, How to specify the amount of detail for the new mesh (optional) + + - ``RATIO`` + Ratio -- Specify target number of faces relative to the current mesh. + - ``EDGE`` + Edge Length -- Input target edge length in the new mesh. + - ``FACES`` + Faces -- Input target number of faces in the new mesh. + :type mode: Literal['RATIO', 'EDGE', 'FACES'] + :param target_ratio: Ratio, Relative number of faces compared to the current mesh (in [0, inf], optional) + :type target_ratio: float + :param target_edge_length: Edge Length, Target edge length in the new mesh (in [1e-07, inf], optional) + :type target_edge_length: float + :param target_faces: Number of Faces, Approximate number of faces (quads) in the new mesh (in [1, inf], optional) + :type target_faces: int + :param mesh_area: Old Object Face Area, This property is only used to cache the object area for later calculations (in [-inf, inf], optional) + :type mesh_area: float + :param seed: Seed, Random seed to use with the solver. Different seeds will cause the remesher to come up with different quad layouts on the mesh (in [0, inf], optional) + :type seed: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: quick_explode(*, style='EXPLODE', amount=100, frame_duration=50, frame_start=1, frame_end=10, velocity=1.0, fade=True) + + Make selected objects explode + + :param style: Explode Style, (optional) + :type style: Literal['EXPLODE', 'BLEND'] + :param amount: Number of Pieces, (in [2, 10000], optional) + :type amount: int + :param frame_duration: Duration, (in [1, 300000], optional) + :type frame_duration: int + :param frame_start: Start Frame, (in [1, 300000], optional) + :type frame_start: int + :param frame_end: End Frame, (in [1, 300000], optional) + :type frame_end: int + :param velocity: Outwards Velocity, (in [0, 300000], optional) + :type velocity: float + :param fade: Fade, Fade the pieces over time (optional) + :type fade: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object_quick_effects.py\:273 `__ + + +.. function:: quick_fur(*, density='MEDIUM', length=0.1, radius=0.001, view_percentage=1.0, apply_hair_guides=True, use_noise=True, use_frizz=True) + + Add a fur setup to the selected objects + + :param density: Density, (optional) + :type density: Literal['LOW', 'MEDIUM', 'HIGH'] + :param length: Length, (in [0.001, 100], optional) + :type length: float + :param radius: Hair Radius, (in [0, 10], optional) + :type radius: float + :param view_percentage: View Percentage, (in [0, 1], optional) + :type view_percentage: float + :param apply_hair_guides: Apply Hair Guides, (optional) + :type apply_hair_guides: bool + :param use_noise: Noise, (optional) + :type use_noise: bool + :param use_frizz: Frizz, (optional) + :type use_frizz: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object_quick_effects.py\:92 `__ + + +.. function:: quick_liquid(*, show_flows=False) + + Make selected objects liquid + + :param show_flows: Render Liquid Objects, Keep the liquid objects visible during rendering (optional) + :type show_flows: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object_quick_effects.py\:553 `__ + + +.. function:: quick_smoke(*, style='SMOKE', show_flows=False) + + Use selected objects as smoke emitters + + :param style: Smoke Style, (optional) + :type style: Literal['SMOKE', 'FIRE', 'BOTH'] + :param show_flows: Render Smoke Objects, Keep the smoke objects visible during rendering (optional) + :type show_flows: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object_quick_effects.py\:447 `__ + + +.. function:: randomize_transform(*, random_seed=0, use_delta=False, use_loc=True, loc=(0.0, 0.0, 0.0), use_rot=True, rot=(0.0, 0.0, 0.0), use_scale=True, scale_even=False, scale=(1.0, 1.0, 1.0)) + + Randomize objects location, rotation, and scale + + :param random_seed: Random Seed, Seed value for the random generator (in [0, 10000], optional) + :type random_seed: int + :param use_delta: Transform Delta, Randomize delta transform values instead of regular transform (optional) + :type use_delta: bool + :param use_loc: Randomize Location, Randomize the location values (optional) + :type use_loc: bool + :param loc: Location, Maximum distance the objects can spread over each axis (array of 3 items, in [-100, 100], optional) + :type loc: :class:`mathutils.Vector` | Sequence[float] + :param use_rot: Randomize Rotation, Randomize the rotation values (optional) + :type use_rot: bool + :param rot: Rotation, Maximum rotation over each axis (array of 3 items, in [-3.14159, 3.14159], optional) + :type rot: :class:`mathutils.Euler` | Sequence[float] + :param use_scale: Randomize Scale, Randomize the scale values (optional) + :type use_scale: bool + :param scale_even: Scale Even, Use the same scale value for all axis (optional) + :type scale_even: bool + :param scale: Scale, Maximum scale randomization over each axis (array of 3 items, in [-100, 100], optional) + :type scale: Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object_randomize_transform.py\:163 `__ + + +.. function:: reset_override_library() + + Reset the selected local overrides to their linked references values + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: rotation_clear(*, clear_delta=False) + + Clear the object's rotation + + :param clear_delta: Clear Delta, Clear delta rotation in addition to clearing the normal rotation transform (optional) + :type clear_delta: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scale_clear(*, clear_delta=False) + + Clear the object's scale + + :param clear_delta: Clear Delta, Clear delta scale in addition to clearing the normal scale transform (optional) + :type clear_delta: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + Change selection of all visible objects in scene + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_by_type(*, extend=False, type='MESH') + + Select all visible objects that are of a type + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_object_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_camera(*, extend=False) + + Select the active camera + + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:124 `__ + + +.. function:: select_grouped(*, extend=False, type='CHILDREN_RECURSIVE') + + Select all visible objects grouped by various properties + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param type: Type, (optional) + + - ``CHILDREN_RECURSIVE`` + Children. + - ``CHILDREN`` + Immediate Children. + - ``PARENT`` + Parent. + - ``SIBLINGS`` + Siblings -- Shared parent. + - ``TYPE`` + Type -- Shared object type. + - ``COLLECTION`` + Collection -- Shared collection. + - ``HOOK`` + Hook. + - ``PASS`` + Pass -- Render pass index. + - ``COLOR`` + Color -- Object color. + - ``KEYINGSET`` + Keying Set -- Objects included in active Keying Set. + - ``LIGHT_TYPE`` + Light Type -- Matching light types. + :type type: Literal['CHILDREN_RECURSIVE', 'CHILDREN', 'PARENT', 'SIBLINGS', 'TYPE', 'COLLECTION', 'HOOK', 'PASS', 'COLOR', 'KEYINGSET', 'LIGHT_TYPE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_hierarchy(*, direction='PARENT', extend=False) + + Select object relative to the active object's position in the hierarchy + + :param direction: Direction, Direction to select in the hierarchy (optional) + :type direction: Literal['PARENT', 'CHILD'] + :param extend: Extend, Extend the existing selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:174 `__ + + +.. function:: select_less() + + Deselect objects at the boundaries of parent/child relationships + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked(*, extend=False, type='OBDATA') + + Select all visible objects that are linked + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param type: Type, (optional) + :type type: Literal['OBDATA', 'MATERIAL', 'DUPGROUP', 'PARTICLE', 'LIBRARY', 'LIBRARY_OBDATA'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_mirror(*, extend=False) + + Select the mirror objects of the selected object e.g. "L.sword" and "R.sword" + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_more() + + Select connected parent/child objects + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_pattern(*, pattern="*", case_sensitive=False, extend=True) + + Select objects matching a naming pattern + + :param pattern: Pattern, Name filter using '*', '?' and '[abc]' unix style wildcards (optional, never None) + :type pattern: str + :param case_sensitive: Case Sensitive, Do a case sensitive compare (optional) + :type case_sensitive: bool + :param extend: Extend, Extend the existing selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:45 `__ + + +.. function:: select_random(*, ratio=0.5, seed=0, action='SELECT') + + Select or deselect random visible objects + + :param ratio: Ratio, Portion of items to select randomly (in [0, 1], optional) + :type ratio: float + :param seed: Random Seed, Seed for the random number generator (in [0, inf], optional) + :type seed: int + :param action: Action, Selection action to execute (optional) + + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + :type action: Literal['SELECT', 'DESELECT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_same_collection(*, collection="") + + Select object in the same collection + + :param collection: Collection, Name of the collection to select (optional, never None) + :type collection: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shade_auto_smooth(*, use_auto_smooth=True, angle=0.523599) + + Add modifier to automatically set the sharpness of mesh edges based on the angle between the neighboring faces + + :param use_auto_smooth: Auto Smooth, Add modifier to set edge sharpness automatically (optional) + :type use_auto_smooth: bool + :param angle: Angle, Maximum angle between face normals that will be considered as smooth (in [0, 3.14159], optional) + :type angle: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shade_flat(*, keep_sharp_edges=True) + + Render and display faces uniform, using face normals + + :param keep_sharp_edges: Keep Sharp Edges, Don't remove sharp edges, which are redundant with faces shaded smooth (optional) + :type keep_sharp_edges: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shade_smooth(*, keep_sharp_edges=True) + + Render and display faces smooth, using interpolated vertex normals + + :param keep_sharp_edges: Keep Sharp Edges, Don't remove sharp edges. Tagged edges will remain sharp (optional) + :type keep_sharp_edges: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shade_smooth_by_angle(*, angle=0.523599, keep_sharp_edges=True) + + Set the sharpness of mesh edges based on the angle between the neighboring faces + + :param angle: Angle, Maximum angle between face normals that will be considered as smooth (in [0, 3.14159], optional) + :type angle: float + :param keep_sharp_edges: Keep Sharp Edges, Only add sharp edges instead of clearing existing tags first (optional) + :type keep_sharp_edges: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shaderfx_add(*, type='FX_BLUR') + + Add a visual effect to the active object + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_object_shaderfx_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shaderfx_copy(*, shaderfx="") + + Duplicate effect at the same position in the stack + + :param shaderfx: Shader, Name of the shaderfx to edit (optional, never None) + :type shaderfx: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shaderfx_move_down(*, shaderfx="") + + Move effect down in the stack + + :param shaderfx: Shader, Name of the shaderfx to edit (optional, never None) + :type shaderfx: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shaderfx_move_to_index(*, shaderfx="", index=0) + + Change the effect's position in the list so it evaluates after the set number of others + + :param shaderfx: Shader, Name of the shaderfx to edit (optional, never None) + :type shaderfx: str + :param index: Index, The index to move the effect to (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shaderfx_move_up(*, shaderfx="") + + Move effect up in the stack + + :param shaderfx: Shader, Name of the shaderfx to edit (optional, never None) + :type shaderfx: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shaderfx_remove(*, shaderfx="", report=False) + + Remove a effect from the active Grease Pencil object + + :param shaderfx: Shader, Name of the shaderfx to edit (optional, never None) + :type shaderfx: str + :param report: Report, Create a notification after the operation (optional) + :type report: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shape_key_add(*, from_mix=True) + + Add shape key to the object + + :param from_mix: From Mix, Create the new shape key from the existing mix of keys (optional) + :type from_mix: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shape_key_apply_to_basis() + + Apply deformations of selected shape keys to the basis key, removing them + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shape_key_clear() + + Reset the weights of all shape keys to 0 or to the closest value respecting the limits + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shape_key_copy() + + Duplicate the active shape key + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shape_key_lock(*, action='LOCK') + + Change the lock state of all shape keys of active object + + :param action: Action, Lock action to execute on vertex groups (optional) + + - ``LOCK`` + Lock -- Lock all shape keys. + - ``UNLOCK`` + Unlock -- Unlock all shape keys. + :type action: Literal['LOCK', 'UNLOCK'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shape_key_make_basis() + + Make this shape key the new basis key, effectively applying it to the mesh. Note that this applies the shape key at its 100% value + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shape_key_mirror(*, use_topology=False) + + Mirror the current shape key along the local X axis + + :param use_topology: Topology Mirror, Use topology based mirroring (for when both sides of mesh have matching, unique topology) (optional) + :type use_topology: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shape_key_move(*, type='TOP') + + Move selected shape keys up/down in the list + + :param type: Type, (optional) + + - ``TOP`` + Top -- Top of the list. + - ``UP`` + Up. + - ``DOWN`` + Down. + - ``BOTTOM`` + Bottom -- Bottom of the list. + :type type: Literal['TOP', 'UP', 'DOWN', 'BOTTOM'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shape_key_remove(*, all=False, apply_mix=False) + + Remove shape key from the object + + :param all: All, Remove all shape keys (optional) + :type all: bool + :param apply_mix: Apply Mix, Apply current mix of shape keys to the geometry before removing them (optional) + :type apply_mix: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shape_key_retime() + + Resets the timing for absolute shape keys + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shape_key_transfer(*, mode='OFFSET', use_clamp=False) + + Copy the active shape key of another selected object to this one + + :param mode: Transformation Mode, Relative shape positions to the new shape method (optional) + + - ``OFFSET`` + Offset -- Apply the relative positional offset. + - ``RELATIVE_FACE`` + Relative Face -- Calculate relative position (using faces). + - ``RELATIVE_EDGE`` + Relative Edge -- Calculate relative position (using edges). + :type mode: Literal['OFFSET', 'RELATIVE_FACE', 'RELATIVE_EDGE'] + :param use_clamp: Clamp Offset, Clamp the transformation to the distance each vertex moves in the original shape (optional) + :type use_clamp: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:515 `__ + + +.. function:: simulation_nodes_cache_bake(*, selected=False) + + Bake simulations in geometry nodes modifiers + + :param selected: Selected, Bake cache on all selected objects (optional) + :type selected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: simulation_nodes_cache_calculate_to_frame(*, selected=False) + + Calculate simulations in geometry nodes modifiers from the start to current frame + + :param selected: Selected, Calculate all selected objects instead of just the active object (optional) + :type selected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: simulation_nodes_cache_delete(*, selected=False) + + Delete cached/baked simulations in geometry nodes modifiers + + :param selected: Selected, Delete cache on all selected objects (optional) + :type selected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: skin_armature_create(*, modifier="") + + Create an armature that parallels the skin layout + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: skin_loose_mark_clear(*, action='MARK') + + Mark/clear selected vertices as loose + + :param action: Action, (optional) + + - ``MARK`` + Mark -- Mark selected vertices as loose. + - ``CLEAR`` + Clear -- Set selected vertices as not loose. + :type action: Literal['MARK', 'CLEAR'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: skin_radii_equalize() + + Make skin radii of selected vertices equal on each axis + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: skin_root_mark() + + Mark selected vertices as roots + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: speaker_add(*, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add a speaker object to the scene + + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: subdivision_set(*, level=1, relative=False, ensure_modifier=True) + + Sets a Subdivision Surface level (1 to 5) + + :param level: Level, (in [-100, 100], optional) + :type level: int + :param relative: Relative, Apply the subdivision surface level as an offset relative to the current level (optional) + :type relative: bool + :param ensure_modifier: Ensure Modifier, Create the corresponding modifier if it does not exist (optional) + :type ensure_modifier: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:242 `__ + + +.. function:: surfacedeform_bind(*, modifier="") + + Bind mesh to target in surface deform modifier + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: text_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add a text object to the scene + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: track_clear(*, type='CLEAR') + + Clear tracking constraint or flag from object + + :param type: Type, (optional) + :type type: Literal['CLEAR', 'CLEAR_KEEP_TRANSFORM'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: track_set(*, type='DAMPTRACK') + + Make the object track another object, using various methods/constraints + + :param type: Type, (optional) + :type type: Literal['DAMPTRACK', 'TRACKTO', 'LOCKTRACK'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: transfer_mode(*, use_flash_on_transfer=True) + + Switches the active object and assigns the same mode to a new one under the mouse cursor, leaving the active mode in the current one + + :param use_flash_on_transfer: Flash On Transfer, Flash the target object when transferring the mode (optional) + :type use_flash_on_transfer: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: transform_apply(*, location=True, rotation=True, scale=True, properties=True, corrective_flip_normals=True, isolate_users=False) + + Apply the object's transformation to its data + + :param location: Location, (optional) + :type location: bool + :param rotation: Rotation, (optional) + :type rotation: bool + :param scale: Scale, (optional) + :type scale: bool + :param properties: Apply Properties, Modify properties such as curve vertex radius, font size and bone envelope (optional) + :type properties: bool + :param corrective_flip_normals: Corrective Flip Normals, Invert normals for negative scaled objects. (optional) + :type corrective_flip_normals: bool + :param isolate_users: Isolate Multi User Data, Create new object-data users if needed (optional) + :type isolate_users: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: transform_axis_target() + + Interactively point cameras and lights to a location (Ctrl translates) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: transform_to_mouse(*, name="", session_uid=0, matrix=((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), drop_x=0, drop_y=0) + + Snap selected item(s) to the mouse location + + :param name: Name, Object name to place (uses the active object when this and 'session_uid' are unset) (optional, never None) + :type name: str + :param session_uid: Session UUID, Session UUID of the object to place (uses the active object when this and 'name' are unset) (in [-inf, inf], optional) + :type session_uid: int + :param matrix: Matrix, (multi-dimensional array of 4 * 4 items, in [-inf, inf], optional) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param drop_x: Drop X, X-coordinate (screen space) to place the new object under (in [-inf, inf], optional) + :type drop_x: int + :param drop_y: Drop Y, Y-coordinate (screen space) to place the new object under (in [-inf, inf], optional) + :type drop_y: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: transforms_to_deltas(*, mode='ALL', reset_values=True) + + Convert normal object transforms to delta transforms, any existing delta transforms will be included as well + + :param mode: Mode, Which transforms to transfer (optional) + + - ``ALL`` + All Transforms -- Transfer location, rotation, and scale transforms. + - ``LOC`` + Location -- Transfer location transforms only. + - ``ROT`` + Rotation -- Transfer rotation transforms only. + - ``SCALE`` + Scale -- Transfer scale transforms only. + :type mode: Literal['ALL', 'LOC', 'ROT', 'SCALE'] + :param reset_values: Reset Values, Clear transform values after transferring to deltas (optional) + :type reset_values: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/object.py\:777 `__ + + +.. function:: unlink_data() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: update_shapes(*, use_mirror=False) + + Update existing shape keys with the vertex positions of selected objects with matching names + + :param use_mirror: Mirror, Mirror the new shape key values (optional) + :type use_mirror: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_add() + + Add a new vertex group to the active object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_group_assign() + + Assign the selected vertices to the active vertex group + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_group_assign_new() + + Assign the selected vertices to a new vertex group + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_group_clean(*, group_select_mode='', limit=0.0, keep_single=False) + + Remove vertex group assignments which are not required + + :param group_select_mode: Subset, Define which subset of groups shall be used (optional) + :type group_select_mode: str + :param limit: Limit, Remove vertices which weight is below or equal to this limit (in [0, 1], optional) + :type limit: float + :param keep_single: Keep Single, Keep verts assigned to at least one group when cleaning (optional) + :type keep_single: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_copy() + + Make a copy of the active vertex group + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_group_copy_to_selected() + + Replace vertex groups of selected objects by vertex groups of active object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_group_deselect() + + Deselect all selected vertices assigned to the active vertex group + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_group_invert(*, group_select_mode='', auto_assign=True, auto_remove=True) + + Invert active vertex group's weights + + :param group_select_mode: Subset, Define which subset of groups shall be used (optional) + :type group_select_mode: str + :param auto_assign: Add Weights, Add vertices from groups that have zero weight before inverting (optional) + :type auto_assign: bool + :param auto_remove: Remove Weights, Remove vertices from groups that have zero weight after inverting (optional) + :type auto_remove: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_levels(*, group_select_mode='', offset=0.0, gain=1.0) + + Add some offset and multiply with some gain the weights of the active vertex group + + :param group_select_mode: Subset, Define which subset of groups shall be used (optional) + :type group_select_mode: str + :param offset: Offset, Value to add to weights (in [-1, 1], optional) + :type offset: float + :param gain: Gain, Value to multiply weights by (in [0, inf], optional) + :type gain: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_limit_total(*, group_select_mode='', limit=4) + + Limit deform weights associated with a vertex to a specified number by removing lowest weights + + :param group_select_mode: Subset, Define which subset of groups shall be used (optional) + :type group_select_mode: str + :param limit: Limit, Maximum number of deform weights (in [1, 32], optional) + :type limit: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_lock(*, action='TOGGLE', mask='ALL') + + Change the lock state of all or some vertex groups of active object + + :param action: Action, Lock action to execute on vertex groups (optional) + + - ``TOGGLE`` + Toggle -- Unlock all vertex groups if there is at least one locked group, lock all in other case. + - ``LOCK`` + Lock -- Lock all vertex groups. + - ``UNLOCK`` + Unlock -- Unlock all vertex groups. + - ``INVERT`` + Invert -- Invert the lock state of all vertex groups. + :type action: Literal['TOGGLE', 'LOCK', 'UNLOCK', 'INVERT'] + :param mask: Mask, Apply the action based on vertex group selection (optional) + + - ``ALL`` + All -- Apply action to all vertex groups. + - ``SELECTED`` + Selected -- Apply to selected vertex groups. + - ``UNSELECTED`` + Unselected -- Apply to unselected vertex groups. + - ``INVERT_UNSELECTED`` + Invert Unselected -- Apply the opposite of Lock/Unlock to unselected vertex groups. + :type mask: Literal['ALL', 'SELECTED', 'UNSELECTED', 'INVERT_UNSELECTED'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_mirror(*, mirror_weights=True, flip_group_names=True, all_groups=False, use_topology=False) + + Mirror vertex group, flip weights and/or names, editing only selected vertices, flipping when both sides are selected otherwise copy from unselected + + :param mirror_weights: Mirror Weights, Mirror weights (optional) + :type mirror_weights: bool + :param flip_group_names: Flip Group Names, Flip vertex group names (optional) + :type flip_group_names: bool + :param all_groups: All Groups, Mirror all vertex groups weights (optional) + :type all_groups: bool + :param use_topology: Topology Mirror, Use topology based mirroring (for when both sides of mesh have matching, unique topology) (optional) + :type use_topology: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_move(*, direction='UP') + + Move the active vertex group up/down in the list + + :param direction: Direction, Direction to move the active vertex group towards (optional) + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_normalize() + + Normalize weights of the active vertex group, so that the highest ones are now 1.0 + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_group_normalize_all(*, group_select_mode='', lock_active=True) + + Normalize all weights of all vertex groups, so that for each vertex, the sum of all weights is 1.0 + + :param group_select_mode: Subset, Define which subset of groups shall be used (optional) + :type group_select_mode: str + :param lock_active: Lock Active, Keep the values of the active group while normalizing others (optional) + :type lock_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_quantize(*, group_select_mode='', steps=4) + + Set weights to a fixed number of steps + + :param group_select_mode: Subset, Define which subset of groups shall be used (optional) + :type group_select_mode: str + :param steps: Steps, Number of steps between 0 and 1 (in [1, 1000], optional) + :type steps: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_remove(*, all=False, all_unlocked=False) + + Delete the active or all vertex groups from the active object + + :param all: All, Remove all vertex groups (optional) + :type all: bool + :param all_unlocked: All Unlocked, Remove all unlocked vertex groups (optional) + :type all_unlocked: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_remove_from(*, use_all_groups=False, use_all_verts=False) + + Remove the selected vertices from active or all vertex group(s) + + :param use_all_groups: All Groups, Remove from all groups (optional) + :type use_all_groups: bool + :param use_all_verts: All Vertices, Clear the active group (optional) + :type use_all_verts: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_select() + + Select all the vertices assigned to the active vertex group + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_group_set_active(*, group='') + + Set the active vertex group + + :param group: Group, Vertex group to set as active (optional) + :type group: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_smooth(*, group_select_mode='', factor=0.5, repeat=1, expand=0.0) + + Smooth weights for selected vertices + + :param group_select_mode: Subset, Define which subset of groups shall be used (optional) + :type group_select_mode: str + :param factor: Factor, (in [0, 1], optional) + :type factor: float + :param repeat: Iterations, (in [1, 10000], optional) + :type repeat: int + :param expand: Expand/Contract, Expand/contract weights (in [-1, 1], optional) + :type expand: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_group_sort(*, sort_type='NAME') + + Sort vertex groups + + :param sort_type: Sort Type, Sort type (optional) + :type sort_type: Literal['NAME', 'BONE_HIERARCHY'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_parent_set() + + Parent selected objects to the selected vertices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_weight_copy() + + Copy weights from active to selected + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_weight_delete(*, weight_group=-1) + + Delete this weight from the vertex (disabled if vertex group is locked) + + :param weight_group: Weight Index, Index of source weight in active vertex group (in [-1, inf], optional) + :type weight_group: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_weight_normalize_active_vertex() + + Normalize active vertex's weights + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_weight_paste(*, weight_group=-1) + + Copy this group's weight to other selected vertices (disabled if vertex group is locked) + + :param weight_group: Weight Index, Index of source weight in active vertex group (in [-1, inf], optional) + :type weight_group: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_weight_set_active(*, weight_group=-1) + + Set as active vertex group + + :param weight_group: Weight Index, Index of source weight in active vertex group (in [-1, inf], optional) + :type weight_group: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: visual_geometry_to_objects() + + Convert geometry and instances into editable objects and collections + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: visual_transform_apply() + + Apply the object's visual transformation to its data + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: volume_add(*, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Add a volume object to the scene + + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: volume_import(*, filepath="", directory="", files=None, hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=True, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, display_type='DEFAULT', sort_method='', use_sequence_detection=True, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Import OpenVDB volume file + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param use_sequence_detection: Detect Sequences, Automatically detect animated sequences in selected volume files (based on file names) (optional) + :type use_sequence_detection: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: voxel_remesh() + + Calculates a new manifold mesh based on the volume of the current mesh. All data layers will be lost + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: voxel_size_edit() + + Modify the mesh voxel size interactively used in the voxel remesher + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.outliner.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.outliner.rst new file mode 100644 index 0000000..dc17a38 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.outliner.rst @@ -0,0 +1,642 @@ +Outliner Operators +================== + +.. module:: bpy.ops.outliner + +.. function:: action_set(*, action='') + + Change the active action used + + :param action: Action, (optional) + :type action: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: animdata_operation(*, type='CLEAR_ANIMDATA') + + Undocumented, consider `contributing `__. + + :param type: Animation Operation, (optional) + + - ``CLEAR_ANIMDATA`` + Clear Animation Data -- Remove this animation data container. + - ``SET_ACT`` + Set Action. + - ``CLEAR_ACT`` + Unlink Action. + - ``REFRESH_DRIVERS`` + Refresh Drivers. + - ``CLEAR_DRIVERS`` + Clear Drivers. + :type type: Literal['CLEAR_ANIMDATA', 'SET_ACT', 'CLEAR_ACT', 'REFRESH_DRIVERS', 'CLEAR_DRIVERS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clear_filter() + + Clear the search filter + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_color_tag_set(*, color='NONE') + + Set a color tag for the selected collections + + :param color: Color Tag, (optional) + :type color: Literal[:ref:`rna_enum_collection_color_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_disable() + + Disable viewport display in the view layers + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_disable_render() + + Do not render this collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_drop() + + Drag to move to collection in Outliner + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_duplicate() + + Recursively duplicate the collection, all its children, objects and object data + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_duplicate_linked() + + Recursively duplicate the collection, all its children and objects, with linked object data + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_enable() + + Enable viewport display in the view layers + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_enable_render() + + Render the collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_exclude_clear() + + Include collection in the active view layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_exclude_set() + + Exclude collection from the active view layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_hide() + + Hide the collection in this view layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_hide_inside() + + Hide all the objects and collections inside the collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_hierarchy_delete() + + Delete selected collection hierarchies + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_holdout_clear() + + Clear masking of collection in the active view layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_holdout_set() + + Mask collection in the active view layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_indirect_only_clear() + + Clear collection contributing only indirectly in the view layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_indirect_only_set() + + Set collection to only contribute indirectly (through shadows and reflections) in the view layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_instance() + + Instance selected collections to active scene + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_isolate(*, extend=False) + + Hide all but this collection and its parents + + :param extend: Extend, Extend current visible collections (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_link() + + Link selected collections to active scene + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_new(*, nested=True) + + Add a new collection inside selected collection + + :param nested: Nested, Add as child of selected collection (optional) + :type nested: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_objects_deselect() + + Deselect objects in collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_objects_select() + + Select objects in collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_show() + + Show the collection in this view layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: collection_show_inside() + + Show all the objects and collections inside the collection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: constraint_operation(*, type='ENABLE') + + Undocumented, consider `contributing `__. + + :param type: Constraint Operation, (optional) + :type type: Literal['ENABLE', 'DISABLE', 'DELETE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: data_operation(*, type='DEFAULT') + + Undocumented, consider `contributing `__. + + :param type: Data Operation, (optional) + :type type: Literal['DEFAULT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: datastack_drop() + + Copy or reorder modifiers, constraints, and effects + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete(*, hierarchy=False) + + Delete selected objects and collections + + :param hierarchy: Hierarchy, Delete child objects and collections (optional) + :type hierarchy: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: drivers_add_selected() + + Add drivers to selected items + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: drivers_delete_selected() + + Delete drivers assigned to selected items + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: expanded_toggle() + + Expand/Collapse all items + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: hide() + + Hide selected objects and collections + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: highlight_update() + + Update the item highlight based on the current mouse position + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: id_copy() + + Copy the selected data-blocks to the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: id_delete() + + Delete the ID under cursor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: id_linked_relocate() + + Replace the active linked ID (and its dependencies if any) by another one, from the same or a different library + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: id_operation(*, type='UNLINK') + + General data-block management operations + + :param type: ID Data Operation, (optional) + + - ``UNLINK`` + Unlink. + - ``LOCAL`` + Make Local. + - ``SINGLE`` + Make Single User. + - ``DELETE`` + Delete. + - ``REMAP`` + Remap Users -- Make all users of selected data-blocks to use instead current (clicked) one. + - ``COPY`` + Copy. + - ``PASTE`` + Paste. + - ``ADD_FAKE`` + Add Fake User -- Ensure data-block gets saved even if it isn't in use (e.g. for motion and material libraries). + - ``CLEAR_FAKE`` + Clear Fake User. + - ``RENAME`` + Rename. + - ``SELECT_LINKED`` + Select Linked. + :type type: Literal['UNLINK', 'LOCAL', 'SINGLE', 'DELETE', 'REMAP', 'COPY', 'PASTE', 'ADD_FAKE', 'CLEAR_FAKE', 'RENAME', 'SELECT_LINKED'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: id_paste() + + Paste data-blocks from the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: id_remap(*, id_type='OBJECT', old_id=0, new_id=0) + + Undocumented, consider `contributing `__. + + :param id_type: ID Type, (optional) + :type id_type: Literal[:ref:`rna_enum_id_type_items`] + :param old_id: Old ID, Old ID's session uid to remap data from (in [-inf, inf], optional) + :type old_id: int + :param new_id: New ID, New ID's session uid to remap all selected IDs' users to (in [-inf, inf], optional) + :type new_id: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: item_activate(*, extend=False, extend_range=False, deselect_all=False, recurse=False) + + Handle mouse clicks to select and activate items + + :param extend: Extend, Extend selection for activation (optional) + :type extend: bool + :param extend_range: Extend Range, Select a range from active element (optional) + :type extend_range: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param recurse: Recurse, Select objects recursively from active element (optional) + :type recurse: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: item_drag_drop() + + Drag and drop element to another place + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: item_openclose(*, all=False) + + Toggle whether item under cursor is open or closed + + :param all: All, Close or open all items (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: item_rename(*, use_active=False) + + Rename the active element + + :param use_active: Use Active, Rename the active item, rather than the one the mouse is over (optional) + :type use_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyingset_add_selected() + + Add selected items (blue-gray rows) to active Keying Set + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: keyingset_remove_selected() + + Remove selected items (blue-gray rows) from active Keying Set + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: lib_operation(*, type='DELETE') + + Undocumented, consider `contributing `__. + + :param type: Library Operation, (optional) + + - ``DELETE`` + Delete -- Delete this library and all its items. + - ``RELOCATE`` + Relocate -- Select a new path for this library, and reload all its data. + - ``RELOAD`` + Reload -- Reload all data from this library. + :type type: Literal['DELETE', 'RELOCATE', 'RELOAD'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: lib_relocate() + + Relocate the library under cursor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: liboverride_operation(*, type='OVERRIDE_LIBRARY_CREATE_HIERARCHY', selection_set='SELECTED') + + Create, reset or clear library override hierarchies + + :param type: Library Override Operation, (optional) + + - ``OVERRIDE_LIBRARY_CREATE_HIERARCHY`` + Make -- Create a local override of the selected linked data-blocks, and their hierarchy of dependencies. + - ``OVERRIDE_LIBRARY_RESET`` + Reset -- Reset the selected local overrides to their linked references values. + - ``OVERRIDE_LIBRARY_CLEAR_SINGLE`` + Clear -- Delete the selected local overrides and relink their usages to the linked data-blocks if possible, else reset them and mark them as non editable. + :type type: Literal['OVERRIDE_LIBRARY_CREATE_HIERARCHY', 'OVERRIDE_LIBRARY_RESET', 'OVERRIDE_LIBRARY_CLEAR_SINGLE'] + :param selection_set: Selection Set, Over which part of the tree items to apply the operation (optional) + + - ``SELECTED`` + Selected -- Apply the operation over selected data-blocks only. + - ``CONTENT`` + Content -- Apply the operation over content of the selected items only (the data-blocks in their sub-tree). + - ``SELECTED_AND_CONTENT`` + Selected & Content -- Apply the operation over selected data-blocks and all their dependencies. + :type selection_set: Literal['SELECTED', 'CONTENT', 'SELECTED_AND_CONTENT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: liboverride_troubleshoot_operation(*, type='OVERRIDE_LIBRARY_RESYNC_HIERARCHY', selection_set='SELECTED') + + Advanced operations over library override to help fix broken hierarchies + + :param type: Library Override Troubleshoot Operation, (optional) + + - ``OVERRIDE_LIBRARY_RESYNC_HIERARCHY`` + Resync -- Rebuild the selected local overrides from their linked references, as well as their hierarchies of dependencies. + - ``OVERRIDE_LIBRARY_RESYNC_HIERARCHY_ENFORCE`` + Resync Enforce -- Rebuild the selected local overrides from their linked references, as well as their hierarchies of dependencies, enforcing these hierarchies to match the linked data (i.e. ignoring existing overrides on data-blocks pointer properties). + - ``OVERRIDE_LIBRARY_DELETE_HIERARCHY`` + Delete -- Delete the selected local overrides (including their hierarchies of override dependencies) and relink their usages to the linked data-blocks. + :type type: Literal['OVERRIDE_LIBRARY_RESYNC_HIERARCHY', 'OVERRIDE_LIBRARY_RESYNC_HIERARCHY_ENFORCE', 'OVERRIDE_LIBRARY_DELETE_HIERARCHY'] + :param selection_set: Selection Set, Over which part of the tree items to apply the operation (optional) + + - ``SELECTED`` + Selected -- Apply the operation over selected data-blocks only. + - ``CONTENT`` + Content -- Apply the operation over content of the selected items only (the data-blocks in their sub-tree). + - ``SELECTED_AND_CONTENT`` + Selected & Content -- Apply the operation over selected data-blocks and all their dependencies. + :type selection_set: Literal['SELECTED', 'CONTENT', 'SELECTED_AND_CONTENT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: material_drop() + + Drag material to object in Outliner + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: modifier_operation(*, type='APPLY') + + Undocumented, consider `contributing `__. + + :param type: Modifier Operation, (optional) + :type type: Literal['APPLY', 'DELETE', 'TOGVIS', 'TOGREN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: object_operation(*, type='SELECT') + + Undocumented, consider `contributing `__. + + :param type: Object Operation, (optional) + + - ``SELECT`` + Select. + - ``DESELECT`` + Deselect. + - ``SELECT_HIERARCHY`` + Select Hierarchy. + - ``REMAP`` + Remap Users -- Make all users of selected data-blocks to use instead a new chosen one. + - ``RENAME`` + Rename. + :type type: Literal['SELECT', 'DESELECT', 'SELECT_HIERARCHY', 'REMAP', 'RENAME'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: operation() + + Context menu for item operations + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: orphans_manage() + + Open a window to manage unused data + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: orphans_purge(*, do_local_ids=True, do_linked_ids=True, do_recursive=True) + + Clear all orphaned data-blocks without any users from the file + + :param do_local_ids: Local Data-blocks, Include unused local data-blocks into deletion (optional) + :type do_local_ids: bool + :param do_linked_ids: Linked Data-blocks, Include unused linked data-blocks into deletion (optional) + :type do_linked_ids: bool + :param do_recursive: Recursive Delete, Recursively check for indirectly unused data-blocks, ensuring that no orphaned data-blocks remain after execution (optional) + :type do_recursive: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: parent_clear() + + Drag to clear parent in Outliner + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: parent_drop() + + Drag to parent in Outliner + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: scene_drop() + + Drag object to scene in Outliner + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: scene_operation(*, type='DELETE') + + Context menu for scene operations + + :param type: Scene Operation, (optional) + :type type: Literal['DELETE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scroll_page(*, up=False) + + Scroll page up or down + + :param up: Up, Scroll up one page (optional) + :type up: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + Toggle the Outliner selection of items + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, tweak=False, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET') + + Use box selection to select tree elements + + :param tweak: Tweak, Tweak gesture from empty space for box selection (optional) + :type tweak: bool + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_walk(*, direction='UP', extend=False, toggle_all=False) + + Use walk navigation to select tree elements + + :param direction: Walk Direction, Select/Deselect element in this direction (optional) + :type direction: Literal['UP', 'DOWN', 'LEFT', 'RIGHT'] + :param extend: Extend, Extend selection on walk (optional) + :type extend: bool + :param toggle_all: Toggle All, Toggle open/close hierarchy (optional) + :type toggle_all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: show_active() + + Open up the tree and adjust the view so that the active object is shown centered + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: show_hierarchy() + + Open all object entries and close all others + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: show_one_level(*, open=True) + + Expand/collapse all entries by one level + + :param open: Open, Expand all entries one level deep (optional) + :type open: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: start_filter() + + Start entering filter text + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: unhide_all() + + Unhide all objects and collections + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.paint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.paint.rst new file mode 100644 index 0000000..e6ac217 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.paint.rst @@ -0,0 +1,801 @@ +Paint Operators +=============== + +.. module:: bpy.ops.paint + +.. function:: add_simple_uvs() + + Add cube map UVs on mesh + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: add_texture_paint_slot(*, type='BASE_COLOR', slot_type='IMAGE', name="Untitled", color=(0.0, 0.0, 0.0, 1.0), width=1024, height=1024, alpha=True, generated_type='BLANK', float=False, domain='POINT', data_type='FLOAT_COLOR') + + Add a paint slot + + :param type: Material Layer Type, Material layer type of new paint slot (optional) + :type type: Literal['BASE_COLOR', 'SPECULAR', 'ROUGHNESS', 'METALLIC', 'NORMAL', 'BUMP', 'DISPLACEMENT'] + :param slot_type: Slot Type, Type of new paint slot (optional) + :type slot_type: Literal['IMAGE', 'COLOR_ATTRIBUTE'] + :param name: Name, Name for new paint slot source (optional, never None) + :type name: str + :param color: Color, Default fill color (array of 4 items, in [0, inf], optional) + :type color: Sequence[float] + :param width: Width, Image width (in [1, inf], optional) + :type width: int + :param height: Height, Image height (in [1, inf], optional) + :type height: int + :param alpha: Alpha, Create an image with an alpha channel (optional) + :type alpha: bool + :param generated_type: Generated Type, Fill the image with a grid for UV map testing (optional) + :type generated_type: Literal[:ref:`rna_enum_image_generated_type_items`] + :param float: 32-bit Float, Create image with 32-bit floating-point bit depth (optional) + :type float: bool + :param domain: Domain, Type of element that attribute is stored on (optional) + :type domain: Literal[:ref:`rna_enum_color_attribute_domain_items`] + :param data_type: Data Type, Type of data stored in attribute (optional) + :type data_type: Literal[:ref:`rna_enum_color_attribute_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: brush_colors_flip() + + Swap primary and secondary brush colors + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: face_select_all(*, action='TOGGLE') + + Change selection for all faces + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_select_hide(*, unselected=False) + + Hide selected faces + + :param unselected: Unselected, Hide unselected rather than selected objects (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_select_less(*, face_step=True) + + Deselect Faces connected to existing selection + + :param face_step: Face Step, Also deselect faces that only touch on a corner (optional) + :type face_step: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_select_linked() + + Select linked faces + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: face_select_linked_pick(*, deselect=False) + + Select linked faces under the cursor + + :param deselect: Deselect, Deselect rather than select items (optional) + :type deselect: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_select_loop(*, select=True, extend=False) + + Select face loop under the cursor + + :param select: Select, If false, faces will be deselected (optional) + :type select: bool + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_select_more(*, face_step=True) + + Select Faces connected to existing selection + + :param face_step: Face Step, Also select faces that only touch on a corner (optional) + :type face_step: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_vert_reveal(*, select=True) + + Reveal hidden faces and vertices + + :param select: Select, Specifies whether the newly revealed geometry should be selected (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: grab_clone(*, delta=(0.0, 0.0)) + + Move the clone source image + + :param delta: Delta, Delta offset of clone image in 0.0 to 1.0 coordinates (array of 2 items, in [-inf, inf], optional) + :type delta: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_show(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, action='HIDE', area='Inside', use_front_faces_only=False) + + Hide/show some vertices + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param action: Visibility Action, Whether to hide or show vertices (optional) + + - ``HIDE`` + Hide -- Hide vertices. + - ``SHOW`` + Show -- Show vertices. + :type action: Literal['HIDE', 'SHOW'] + :param area: Visibility Area, Which vertices to hide or show (optional) + + - ``OUTSIDE`` + Outside -- Hide or show vertices outside the selection. + - ``Inside`` + Inside -- Hide or show vertices inside the selection. + :type area: Literal['OUTSIDE', 'Inside'] + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_show_all(*, action='HIDE') + + Hide/show all vertices + + :param action: Visibility Action, Whether to hide or show vertices (optional) + + - ``HIDE`` + Hide -- Hide vertices. + - ``SHOW`` + Show -- Show vertices. + :type action: Literal['HIDE', 'SHOW'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_show_lasso_gesture(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, action='HIDE', area='Inside', use_front_faces_only=False) + + Hide/show some vertices + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param action: Visibility Action, Whether to hide or show vertices (optional) + + - ``HIDE`` + Hide -- Hide vertices. + - ``SHOW`` + Show -- Show vertices. + :type action: Literal['HIDE', 'SHOW'] + :param area: Visibility Area, Which vertices to hide or show (optional) + + - ``OUTSIDE`` + Outside -- Hide or show vertices outside the selection. + - ``Inside`` + Inside -- Hide or show vertices inside the selection. + :type area: Literal['OUTSIDE', 'Inside'] + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_show_line_gesture(*, xstart=0, xend=0, ystart=0, yend=0, flip=False, cursor=5, action='HIDE', area='Inside', use_front_faces_only=False, use_limit_to_segment=False) + + Hide/show some vertices + + :param xstart: X Start, (in [-inf, inf], optional) + :type xstart: int + :param xend: X End, (in [-inf, inf], optional) + :type xend: int + :param ystart: Y Start, (in [-inf, inf], optional) + :type ystart: int + :param yend: Y End, (in [-inf, inf], optional) + :type yend: int + :param flip: Flip, (optional) + :type flip: bool + :param cursor: Cursor, Mouse cursor style to use during the modal operator (in [0, inf], optional) + :type cursor: int + :param action: Visibility Action, Whether to hide or show vertices (optional) + + - ``HIDE`` + Hide -- Hide vertices. + - ``SHOW`` + Show -- Show vertices. + :type action: Literal['HIDE', 'SHOW'] + :param area: Visibility Area, Which vertices to hide or show (optional) + + - ``OUTSIDE`` + Outside -- Hide or show vertices outside the selection. + - ``Inside`` + Inside -- Hide or show vertices inside the selection. + :type area: Literal['OUTSIDE', 'Inside'] + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :param use_limit_to_segment: Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line (optional) + :type use_limit_to_segment: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_show_masked(*, action='HIDE') + + Hide/show all masked vertices above a threshold + + :param action: Visibility Action, Whether to hide or show vertices (optional) + + - ``HIDE`` + Hide -- Hide vertices. + - ``SHOW`` + Show -- Show vertices. + :type action: Literal['HIDE', 'SHOW'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide_show_polyline_gesture(*, path=None, action='HIDE', area='Inside', use_front_faces_only=False) + + Hide/show some vertices + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param action: Visibility Action, Whether to hide or show vertices (optional) + + - ``HIDE`` + Hide -- Hide vertices. + - ``SHOW`` + Show -- Show vertices. + :type action: Literal['HIDE', 'SHOW'] + :param area: Visibility Area, Which vertices to hide or show (optional) + + - ``OUTSIDE`` + Outside -- Hide or show vertices outside the selection. + - ``Inside`` + Inside -- Hide or show vertices inside the selection. + :type area: Literal['OUTSIDE', 'Inside'] + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: image_from_view(*, filepath="") + + Make an image from biggest 3D view for reprojection + + :param filepath: File Path, Name of the file (optional, never None) + :type filepath: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: image_paint(*, stroke=None, mode='NORMAL', brush_toggle='None', pen_flip=False) + + Paint a stroke into the image + + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param mode: Stroke Mode, Action taken when a paint stroke is made (optional) + + - ``NORMAL`` + Regular -- Apply brush normally. + - ``INVERT`` + Invert -- Invert action of brush for duration of stroke. + :type mode: Literal['NORMAL', 'INVERT'] + :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke (optional) + + - ``None`` + None -- Apply brush normally. + - ``SMOOTH`` + Smooth -- Switch to smooth brush for duration of stroke. + - ``ERASE`` + Erase -- Switch to erase brush for duration of stroke. + - ``MASK`` + Mask -- Switch to mask brush for duration of stroke. + :type brush_toggle: Literal['None', 'SMOOTH', 'ERASE', 'MASK'] + :param pen_flip: Pen Flip, Whether a tablet's eraser mode is being used (optional) + :type pen_flip: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mask_box_gesture(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, use_front_faces_only=False, mode='VALUE', value=1.0) + + Mask within a rectangle defined by the cursor + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :param mode: Mode, (optional) + + - ``VALUE`` + Value -- Set mask to the level specified by the 'value' property. + - ``VALUE_INVERSE`` + Value Inverted -- Set mask to the level specified by the inverted 'value' property. + - ``INVERT`` + Invert -- Invert the mask. + :type mode: Literal['VALUE', 'VALUE_INVERSE', 'INVERT'] + :param value: Value, Mask level to use when mode is 'Value'; zero means no masking and one is fully masked (in [0, 1], optional) + :type value: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mask_flood_fill(*, mode='VALUE', value=0.0) + + Fill the whole mask with a given value, or invert its values + + :param mode: Mode, (optional) + + - ``VALUE`` + Value -- Set mask to the level specified by the 'value' property. + - ``VALUE_INVERSE`` + Value Inverted -- Set mask to the level specified by the inverted 'value' property. + - ``INVERT`` + Invert -- Invert the mask. + :type mode: Literal['VALUE', 'VALUE_INVERSE', 'INVERT'] + :param value: Value, Mask level to use when mode is 'Value'; zero means no masking and one is fully masked (in [0, 1], optional) + :type value: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mask_lasso_gesture(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, use_front_faces_only=False, mode='VALUE', value=1.0) + + Mask within a shape defined by the cursor + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :param mode: Mode, (optional) + + - ``VALUE`` + Value -- Set mask to the level specified by the 'value' property. + - ``VALUE_INVERSE`` + Value Inverted -- Set mask to the level specified by the inverted 'value' property. + - ``INVERT`` + Invert -- Invert the mask. + :type mode: Literal['VALUE', 'VALUE_INVERSE', 'INVERT'] + :param value: Value, Mask level to use when mode is 'Value'; zero means no masking and one is fully masked (in [0, 1], optional) + :type value: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mask_line_gesture(*, xstart=0, xend=0, ystart=0, yend=0, flip=False, cursor=5, use_front_faces_only=False, use_limit_to_segment=False, mode='VALUE', value=1.0) + + Mask to one side of a line defined by the cursor + + :param xstart: X Start, (in [-inf, inf], optional) + :type xstart: int + :param xend: X End, (in [-inf, inf], optional) + :type xend: int + :param ystart: Y Start, (in [-inf, inf], optional) + :type ystart: int + :param yend: Y End, (in [-inf, inf], optional) + :type yend: int + :param flip: Flip, (optional) + :type flip: bool + :param cursor: Cursor, Mouse cursor style to use during the modal operator (in [0, inf], optional) + :type cursor: int + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :param use_limit_to_segment: Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line (optional) + :type use_limit_to_segment: bool + :param mode: Mode, (optional) + + - ``VALUE`` + Value -- Set mask to the level specified by the 'value' property. + - ``VALUE_INVERSE`` + Value Inverted -- Set mask to the level specified by the inverted 'value' property. + - ``INVERT`` + Invert -- Invert the mask. + :type mode: Literal['VALUE', 'VALUE_INVERSE', 'INVERT'] + :param value: Value, Mask level to use when mode is 'Value'; zero means no masking and one is fully masked (in [0, 1], optional) + :type value: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mask_polyline_gesture(*, path=None, use_front_faces_only=False, mode='VALUE', value=1.0) + + Mask within a shape defined by the cursor + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :param mode: Mode, (optional) + + - ``VALUE`` + Value -- Set mask to the level specified by the 'value' property. + - ``VALUE_INVERSE`` + Value Inverted -- Set mask to the level specified by the inverted 'value' property. + - ``INVERT`` + Invert -- Invert the mask. + :type mode: Literal['VALUE', 'VALUE_INVERSE', 'INVERT'] + :param value: Value, Mask level to use when mode is 'Value'; zero means no masking and one is fully masked (in [0, 1], optional) + :type value: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: project_image(*, image='') + + Project an edited render from the active camera back onto the object + + :param image: Image, (optional) + :type image: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sample_color(*, location=(0, 0), merged=False, palette=False) + + Use the mouse to sample a color in the image + + :param location: Location, (array of 2 items, in [0, inf], optional) + :type location: Sequence[int] + :param merged: Sample Merged, Sample the output display color (optional) + :type merged: bool + :param palette: Add to Palette, (optional) + :type palette: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: texture_paint_toggle() + + Toggle texture paint mode in 3D view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vert_select_all(*, action='TOGGLE') + + Change selection for all vertices + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vert_select_hide(*, unselected=False) + + Hide selected vertices + + :param unselected: Unselected, Hide unselected rather than selected vertices (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vert_select_less(*, face_step=True) + + Deselect Vertices connected to existing selection + + :param face_step: Face Step, Also deselect faces that only touch on a corner (optional) + :type face_step: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vert_select_linked() + + Select linked vertices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vert_select_linked_pick(*, select=True) + + Select linked vertices under the cursor + + :param select: Select, Whether to select or deselect linked vertices under the cursor (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vert_select_loop(*, select=True, extend=False) + + Select vertex loop under the cursor + + :param select: Select, If false, vertices will be deselected (optional) + :type select: bool + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vert_select_more(*, face_step=True) + + Select Vertices connected to existing selection + + :param face_step: Face Step, Also select faces that only touch on a corner (optional) + :type face_step: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vert_select_ungrouped(*, extend=False) + + Select vertices without a group + + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_color_brightness_contrast(*, brightness=0.0, contrast=0.0) + + Adjust vertex color brightness/contrast + + :param brightness: Brightness, (in [-100, 100], optional) + :type brightness: float + :param contrast: Contrast, (in [-100, 100], optional) + :type contrast: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_color_dirt(*, blur_strength=1.0, blur_iterations=1, clean_angle=3.14159, dirt_angle=0.0, dirt_only=False, normalize=True) + + Generate a dirt map gradient based on cavity + + :param blur_strength: Blur Strength, Blur strength per iteration (in [0.01, 1], optional) + :type blur_strength: float + :param blur_iterations: Blur Iterations, Number of times to blur the colors (higher blurs more) (in [0, 40], optional) + :type blur_iterations: int + :param clean_angle: Highlight Angle, Less than 90 limits the angle used in the tonal range (in [0, 3.14159], optional) + :type clean_angle: float + :param dirt_angle: Dirt Angle, Less than 90 limits the angle used in the tonal range (in [0, 3.14159], optional) + :type dirt_angle: float + :param dirt_only: Dirt Only, Don't calculate cleans for convex areas (optional) + :type dirt_only: bool + :param normalize: Normalize, Normalize the colors, increasing the contrast (optional) + :type normalize: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/vertexpaint_dirt.py\:179 `__ + + +.. function:: vertex_color_from_weight() + + Convert active weight into gray scale vertex colors + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_color_hsv(*, h=0.5, s=1.0, v=1.0) + + Adjust vertex color Hue/Saturation/Value + + :param h: Hue, (in [0, 1], optional) + :type h: float + :param s: Saturation, (in [0, 2], optional) + :type s: float + :param v: Value, (in [0, 2], optional) + :type v: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_color_invert() + + Invert RGB values + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_color_levels(*, offset=0.0, gain=1.0) + + Adjust levels of vertex colors + + :param offset: Offset, Value to add to colors (in [-1, 1], optional) + :type offset: float + :param gain: Gain, Value to multiply colors by (in [0, inf], optional) + :type gain: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_color_set(*, use_alpha=True) + + Fill the active vertex color layer with the current paint color + + :param use_alpha: Affect Alpha, Set color completely opaque instead of reusing existing alpha (optional) + :type use_alpha: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_color_smooth() + + Smooth colors across vertices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: vertex_paint(*, stroke=None, mode='NORMAL', brush_toggle='None', pen_flip=False, override_location=False) + + Paint a stroke in the active color attribute layer + + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param mode: Stroke Mode, Action taken when a paint stroke is made (optional) + + - ``NORMAL`` + Regular -- Apply brush normally. + - ``INVERT`` + Invert -- Invert action of brush for duration of stroke. + :type mode: Literal['NORMAL', 'INVERT'] + :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke (optional) + + - ``None`` + None -- Apply brush normally. + - ``SMOOTH`` + Smooth -- Switch to smooth brush for duration of stroke. + - ``ERASE`` + Erase -- Switch to erase brush for duration of stroke. + - ``MASK`` + Mask -- Switch to mask brush for duration of stroke. + :type brush_toggle: Literal['None', 'SMOOTH', 'ERASE', 'MASK'] + :param pen_flip: Pen Flip, Whether a tablet's eraser mode is being used (optional) + :type pen_flip: bool + :param override_location: Override Location, Override the given "location" array by recalculating object space positions from the provided "mouse_event" positions (optional) + :type override_location: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_paint_toggle() + + Toggle the vertex paint mode in 3D view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: visibility_filter(*, action='GROW', iterations=1, auto_iteration_count=True) + + Edit the visibility of the current mesh + + :param action: Action, (optional) + + - ``GROW`` + Grow Visibility -- Grow the visibility by one face based on mesh topology. + - ``SHRINK`` + Shrink Visibility -- Shrink the visibility by one face based on mesh topology. + :type action: Literal['GROW', 'SHRINK'] + :param iterations: Iterations, Number of times that the filter is going to be applied (in [1, 100], optional) + :type iterations: int + :param auto_iteration_count: Auto Iteration Count, Use an automatic number of iterations based on the number of vertices of the sculpt (optional) + :type auto_iteration_count: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: visibility_invert() + + Invert the visibility of all vertices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: weight_from_bones(*, type='AUTOMATIC') + + Set the weights of the groups matching the attached armature's selected bones, using the distance between the vertices and the bones + + :param type: Type, Method to use for assigning weights (optional) + + - ``AUTOMATIC`` + Automatic -- Automatic weights from bones. + - ``ENVELOPES`` + From Envelopes -- Weights from envelopes with user defined radius. + :type type: Literal['AUTOMATIC', 'ENVELOPES'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: weight_gradient(*, type='LINEAR', xstart=0, xend=0, ystart=0, yend=0, flip=False, cursor=5) + + Draw a line to apply a weight gradient to selected vertices + + :param type: Type, (optional) + :type type: Literal['LINEAR', 'RADIAL'] + :param xstart: X Start, (in [-inf, inf], optional) + :type xstart: int + :param xend: X End, (in [-inf, inf], optional) + :type xend: int + :param ystart: Y Start, (in [-inf, inf], optional) + :type ystart: int + :param yend: Y End, (in [-inf, inf], optional) + :type yend: int + :param flip: Flip, (optional) + :type flip: bool + :param cursor: Cursor, Mouse cursor style to use during the modal operator (in [0, inf], optional) + :type cursor: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: weight_paint(*, stroke=None, mode='NORMAL', brush_toggle='None', pen_flip=False, override_location=False) + + Paint a stroke in the current vertex group's weights + + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param mode: Stroke Mode, Action taken when a paint stroke is made (optional) + + - ``NORMAL`` + Regular -- Apply brush normally. + - ``INVERT`` + Invert -- Invert action of brush for duration of stroke. + :type mode: Literal['NORMAL', 'INVERT'] + :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke (optional) + + - ``None`` + None -- Apply brush normally. + - ``SMOOTH`` + Smooth -- Switch to smooth brush for duration of stroke. + - ``ERASE`` + Erase -- Switch to erase brush for duration of stroke. + - ``MASK`` + Mask -- Switch to mask brush for duration of stroke. + :type brush_toggle: Literal['None', 'SMOOTH', 'ERASE', 'MASK'] + :param pen_flip: Pen Flip, Whether a tablet's eraser mode is being used (optional) + :type pen_flip: bool + :param override_location: Override Location, Override the given "location" array by recalculating object space positions from the provided "mouse_event" positions (optional) + :type override_location: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: weight_paint_toggle() + + Toggle weight paint mode in 3D view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: weight_sample() + + Use the mouse to sample a weight in the 3D view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: weight_sample_group() + + Select one of the vertex groups available under current mouse position + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: weight_set() + + Fill the active vertex group with the current paint weight + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.paintcurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.paintcurve.rst new file mode 100644 index 0000000..457d9a4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.paintcurve.rst @@ -0,0 +1,73 @@ +Paintcurve Operators +==================== + +.. module:: bpy.ops.paintcurve + +.. function:: add_point(*, location=(0, 0)) + + Add New Paint Curve Point + + :param location: Location, Location of vertex in area space (array of 2 items, in [0, 32767], optional) + :type location: Sequence[int] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: add_point_slide(*, PAINTCURVE_OT_add_point={}, PAINTCURVE_OT_slide={}) + + Add new curve point and slide it + + :param PAINTCURVE_OT_add_point: Add New Paint Curve Point, Add New Paint Curve Point (optional, :func:`bpy.ops.paintcurve.add_point` keyword arguments) + :type PAINTCURVE_OT_add_point: dict[str, Any] + :param PAINTCURVE_OT_slide: Slide Paint Curve Point, Select and slide paint curve point (optional, :func:`bpy.ops.paintcurve.slide` keyword arguments) + :type PAINTCURVE_OT_slide: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: cursor() + + Place cursor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete_point() + + Remove Paint Curve Point + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: draw() + + Draw curve + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: new() + + Add new paint curve + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select(*, location=(0, 0), toggle=False, extend=False) + + Select a paint curve point + + :param location: Location, Location of vertex in area space (array of 2 items, in [0, 32767], optional) + :type location: Sequence[int] + :param toggle: Toggle, (De)select all (optional) + :type toggle: bool + :param extend: Extend, Extend selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: slide(*, align=False, select=True) + + Select and slide paint curve point + + :param align: Align Handles, Aligns opposite point handle during transform (optional) + :type align: bool + :param select: Select, Attempt to select a point handle before transform (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.palette.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.palette.rst new file mode 100644 index 0000000..012e279 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.palette.rst @@ -0,0 +1,59 @@ +Palette Operators +================= + +.. module:: bpy.ops.palette + +.. function:: color_add() + + Add new color to active palette + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: color_delete() + + Remove active color from palette + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: color_move(*, type='UP') + + Move the active Color up/down in the list + + :param type: Type, (optional) + :type type: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extract_from_image(*, threshold=1) + + Extract all colors used in Image and create a Palette + + :param threshold: Threshold, (in [-inf, inf], optional) + :type threshold: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: join(*, palette="") + + Join Palette Swatches + + :param palette: Palette, Name of the Palette (optional, never None) + :type palette: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: new() + + Add new palette + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: sort(*, type='HSV') + + Sort Palette Colors + + :param type: Type, (optional) + :type type: Literal['HSV', 'SVH', 'VHS', 'LUMINANCE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.particle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.particle.rst new file mode 100644 index 0000000..ea9ac6b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.particle.rst @@ -0,0 +1,335 @@ +Particle Operators +================== + +.. module:: bpy.ops.particle + +.. function:: brush_edit(*, stroke=None, pen_flip=False) + + Apply a stroke of brush to the particles + + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param pen_flip: Pen Flip, Whether a tablet's eraser mode is being used (optional) + :type pen_flip: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: connect_hair(*, all=False) + + Connect hair to the emitter mesh + + :param all: All Hair, Connect all hair systems to the emitter mesh (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy_particle_systems(*, space='OBJECT', remove_target_particles=True, use_active=False) + + Copy particle systems from the active object to selected objects + + :param space: Space, Space transform for copying from one object to another (optional) + + - ``OBJECT`` + Object -- Copy inside each object's local space. + - ``WORLD`` + World -- Copy in world space. + :type space: Literal['OBJECT', 'WORLD'] + :param remove_target_particles: Remove Target Particles, Remove particle systems on the target objects (optional) + :type remove_target_particles: bool + :param use_active: Use Active, Use the active particle system from the context (optional) + :type use_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete(*, type='PARTICLE') + + Delete selected particles or keys + + :param type: Type, Delete a full particle or only keys (optional) + :type type: Literal['PARTICLE', 'KEY'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: disconnect_hair(*, all=False) + + Disconnect hair from the emitter mesh + + :param all: All Hair, Disconnect all hair systems from the emitter mesh (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_particle_system(*, use_duplicate_settings=False) + + Duplicate particle system within the active object + + :param use_duplicate_settings: Duplicate Settings, Duplicate settings as well, so the new particle system uses its own settings (optional) + :type use_duplicate_settings: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dupliob_copy() + + Duplicate the current instance object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: dupliob_move_down() + + Move instance object down in the list + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: dupliob_move_up() + + Move instance object up in the list + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: dupliob_refresh() + + Refresh list of instance objects and their weights + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: dupliob_remove() + + Remove the selected instance object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: edited_clear() + + Undo all edition performed on the particle system + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: hair_dynamics_preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove a Hair Dynamics Preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: hide(*, unselected=False) + + Hide selected particles + + :param unselected: Unselected, Hide unselected rather than selected (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mirror() + + Duplicate and mirror the selected particles along the local X axis + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: new() + + Add new particle settings + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: new_target() + + Add a new particle target + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: particle_edit_toggle() + + Toggle particle edit mode + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: particle_system_remove_all() + + Remove all particle system within the active object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: rekey(*, keys_number=2) + + Change the number of keys of selected particles (root and tip keys included) + + :param keys_number: Number of Keys, (in [2, inf], optional) + :type keys_number: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: remove_doubles(*, threshold=0.0002) + + Remove selected particles close enough to others + + :param threshold: Merge Distance, Threshold distance within which particles are removed (in [0, inf], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reveal(*, select=True) + + Show hidden particles + + :param select: Select, (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + (De)select all particles' keys + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_less() + + Deselect boundary selected keys of each particle + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked() + + Select all keys linked to already selected ones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked_pick(*, deselect=False, location=(0, 0)) + + Select nearest particle from mouse pointer + + :param deselect: Deselect, Deselect linked keys rather than selecting them (optional) + :type deselect: bool + :param location: Location, (array of 2 items, in [0, inf], optional) + :type location: Sequence[int] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_more() + + Select keys linked to boundary selected keys of each particle + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_random(*, ratio=0.5, seed=0, action='SELECT', type='HAIR') + + Select a randomly distributed set of hair or points + + :param ratio: Ratio, Portion of items to select randomly (in [0, 1], optional) + :type ratio: float + :param seed: Random Seed, Seed for the random number generator (in [0, inf], optional) + :type seed: int + :param action: Action, Selection action to execute (optional) + + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + :type action: Literal['SELECT', 'DESELECT'] + :param type: Type, Select either hair or points (optional) + :type type: Literal['HAIR', 'POINTS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_roots(*, action='SELECT') + + Select roots of all visible particles + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_tips(*, action='SELECT') + + Select tips of all visible particles + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shape_cut() + + Cut hair to conform to the set shape object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: subdivide() + + Subdivide selected particles segments (adds keys) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: target_move_down() + + Move particle target down in the list + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: target_move_up() + + Move particle target up in the list + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: target_remove() + + Remove the selected particle target + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: unify_length() + + Make selected hair the same length + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: weight_set(*, factor=1.0) + + Set the weight of selected keys + + :param factor: Factor, Interpolation factor between current brush weight, and keys' weights (in [0, 1], optional) + :type factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.pointcloud.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.pointcloud.rst new file mode 100644 index 0000000..d0607fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.pointcloud.rst @@ -0,0 +1,84 @@ +Pointcloud Operators +==================== + +.. module:: bpy.ops.pointcloud + +.. function:: attribute_set(*, value_float=0.0, value_float_vector_2d=(0.0, 0.0), value_float_vector_3d=(0.0, 0.0, 0.0), value_int=0, value_int_vector_2d=(0, 0), value_color=(1.0, 1.0, 1.0, 1.0), value_bool=False) + + Set values of the active attribute for selected elements + + :param value_float: Value, (in [-inf, inf], optional) + :type value_float: float + :param value_float_vector_2d: Value, (array of 2 items, in [-inf, inf], optional) + :type value_float_vector_2d: Sequence[float] + :param value_float_vector_3d: Value, (array of 3 items, in [-inf, inf], optional) + :type value_float_vector_3d: Sequence[float] + :param value_int: Value, (in [-inf, inf], optional) + :type value_int: int + :param value_int_vector_2d: Value, (array of 2 items, in [-inf, inf], optional) + :type value_int_vector_2d: Sequence[int] + :param value_color: Value, (array of 4 items, in [-inf, inf], optional) + :type value_color: Sequence[float] + :param value_bool: Value, (optional) + :type value_bool: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete() + + Remove selected points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate() + + Copy selected points + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate_move(*, POINTCLOUD_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Make copies of selected elements and move them + + :param POINTCLOUD_OT_duplicate: Duplicate, Copy selected points (optional, :func:`bpy.ops.pointcloud.duplicate` keyword arguments) + :type POINTCLOUD_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + (De)select all points + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_random(*, seed=0, probability=0.5) + + Randomize existing selection or create new random selection + + :param seed: Seed, Source of randomness (in [-inf, inf], optional) + :type seed: int + :param probability: Probability, Chance of every point being included in the selection (in [0, 1], optional) + :type probability: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: separate() + + Separate selected geometry into a new point cloud + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.pose.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.pose.rst new file mode 100644 index 0000000..232d24c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.pose.rst @@ -0,0 +1,621 @@ +Pose Operators +============== + +.. module:: bpy.ops.pose + +.. function:: armature_apply(*, selected=False) + + Apply the current pose as the new rest pose + + :param selected: Selected Only, Only apply the selected bones (with propagation to children) (optional) + :type selected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: autoside_names(*, axis='XAXIS') + + Automatically renames the selected bones according to which side of the target axis they fall on + + :param axis: Axis, Axis to tag names with (optional) + + - ``XAXIS`` + X-Axis -- Left/Right. + - ``YAXIS`` + Y-Axis -- Front/Back. + - ``ZAXIS`` + Z-Axis -- Top/Bottom. + :type axis: Literal['XAXIS', 'YAXIS', 'ZAXIS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: blend_to_neighbor(*, factor=0.5, prev_frame=0, next_frame=0, channels='ALL', axis_lock='FREE') + + Blend from current position to previous or next keyframe + + :param factor: Factor, Weighting factor for which keyframe is favored more (in [0, 1], optional) + :type factor: float + :param prev_frame: Previous Keyframe, Frame number of keyframe immediately before the current frame (in [-1048574, 1048574], optional) + :type prev_frame: int + :param next_frame: Next Keyframe, Frame number of keyframe immediately after the current frame (in [-1048574, 1048574], optional) + :type next_frame: int + :param channels: Channels, Set of properties that are affected (optional) + + - ``ALL`` + All Properties -- All properties, including transforms, bendy bone shape, and custom properties. + - ``LOC`` + Location -- Location only. + - ``ROT`` + Rotation -- Rotation only. + - ``SIZE`` + Scale -- Scale only. + - ``BBONE`` + Bendy Bone -- Bendy Bone shape properties. + - ``CUSTOM`` + Custom Properties -- Custom properties. + :type channels: Literal['ALL', 'LOC', 'ROT', 'SIZE', 'BBONE', 'CUSTOM'] + :param axis_lock: Axis Lock, Transform axis to restrict effects to (optional) + + - ``FREE`` + Free -- All axes are affected. + - ``X`` + X -- Only X-axis transforms are affected. + - ``Y`` + Y -- Only Y-axis transforms are affected. + - ``Z`` + Z -- Only Z-axis transforms are affected. + :type axis_lock: Literal['FREE', 'X', 'Y', 'Z'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: blend_with_rest(*, factor=0.5, prev_frame=0, next_frame=0, channels='ALL', axis_lock='FREE') + + Make the current pose more similar to, or further away from, the rest pose + + :param factor: Factor, Weighting factor for which keyframe is favored more (in [0, 1], optional) + :type factor: float + :param prev_frame: Previous Keyframe, Frame number of keyframe immediately before the current frame (in [-1048574, 1048574], optional) + :type prev_frame: int + :param next_frame: Next Keyframe, Frame number of keyframe immediately after the current frame (in [-1048574, 1048574], optional) + :type next_frame: int + :param channels: Channels, Set of properties that are affected (optional) + + - ``ALL`` + All Properties -- All properties, including transforms, bendy bone shape, and custom properties. + - ``LOC`` + Location -- Location only. + - ``ROT`` + Rotation -- Rotation only. + - ``SIZE`` + Scale -- Scale only. + - ``BBONE`` + Bendy Bone -- Bendy Bone shape properties. + - ``CUSTOM`` + Custom Properties -- Custom properties. + :type channels: Literal['ALL', 'LOC', 'ROT', 'SIZE', 'BBONE', 'CUSTOM'] + :param axis_lock: Axis Lock, Transform axis to restrict effects to (optional) + + - ``FREE`` + Free -- All axes are affected. + - ``X`` + X -- Only X-axis transforms are affected. + - ``Y`` + Y -- Only Y-axis transforms are affected. + - ``Z`` + Z -- Only Z-axis transforms are affected. + :type axis_lock: Literal['FREE', 'X', 'Y', 'Z'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: breakdown(*, factor=0.5, prev_frame=0, next_frame=0, channels='ALL', axis_lock='FREE') + + Create a suitable breakdown pose on the current frame + + :param factor: Factor, Weighting factor for which keyframe is favored more (in [0, 1], optional) + :type factor: float + :param prev_frame: Previous Keyframe, Frame number of keyframe immediately before the current frame (in [-1048574, 1048574], optional) + :type prev_frame: int + :param next_frame: Next Keyframe, Frame number of keyframe immediately after the current frame (in [-1048574, 1048574], optional) + :type next_frame: int + :param channels: Channels, Set of properties that are affected (optional) + + - ``ALL`` + All Properties -- All properties, including transforms, bendy bone shape, and custom properties. + - ``LOC`` + Location -- Location only. + - ``ROT`` + Rotation -- Rotation only. + - ``SIZE`` + Scale -- Scale only. + - ``BBONE`` + Bendy Bone -- Bendy Bone shape properties. + - ``CUSTOM`` + Custom Properties -- Custom properties. + :type channels: Literal['ALL', 'LOC', 'ROT', 'SIZE', 'BBONE', 'CUSTOM'] + :param axis_lock: Axis Lock, Transform axis to restrict effects to (optional) + + - ``FREE`` + Free -- All axes are affected. + - ``X`` + X -- Only X-axis transforms are affected. + - ``Y`` + Y -- Only Y-axis transforms are affected. + - ``Z`` + Z -- Only Z-axis transforms are affected. + :type axis_lock: Literal['FREE', 'X', 'Y', 'Z'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: constraint_add(*, type='CHILD_OF') + + Add a constraint to the active bone + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_constraint_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: constraint_add_with_targets(*, type='CHILD_OF') + + Add a constraint to the active bone, with target (where applicable) set to the selected Objects/Bones + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_constraint_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: constraints_clear() + + Clear all constraints from the selected bones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: constraints_copy() + + Copy constraints to other selected bones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: copy() + + Copy the current pose of the selected bones to the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: flip_names(*, do_strip_numbers=False) + + Flips (and corrects) the axis suffixes of the names of selected bones + + :param do_strip_numbers: Strip Numbers, Try to remove right-most dot-number from flipped names.Warning: May result in incoherent naming in some cases(optional) + :type do_strip_numbers: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: hide(*, unselected=False) + + Tag selected bones to not be visible in Pose Mode + + :param unselected: Unselected, (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: ik_add(*, with_targets=True) + + Add an IK Constraint to the active Bone. The target can be a selected bone or object + + :param with_targets: With Targets, Assign IK Constraint with targets derived from the select bones/objects (optional) + :type with_targets: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: ik_clear() + + Remove all IK Constraints from selected bones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: loc_clear() + + Reset locations of selected bones to their default values + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: paste(*, flipped=False, selected_mask=False) + + Paste the stored pose on to the current pose + + :param flipped: Flipped on X-Axis, Paste the stored pose flipped on to current pose (optional) + :type flipped: bool + :param selected_mask: On Selected Only, Only paste the stored pose on to selected bones in the current pose (optional) + :type selected_mask: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paths_calculate(*, display_type='RANGE', range='SCENE', bake_location='HEADS') + + Calculate paths for the selected bones + + :param display_type: Display Type, (optional) + :type display_type: Literal[:ref:`rna_enum_motionpath_display_type_items`] + :param range: Computation Range, (optional) + :type range: Literal[:ref:`rna_enum_motionpath_range_items`] + :param bake_location: Bake Location, Which point on the bones is used when calculating paths (optional) + :type bake_location: Literal[:ref:`rna_enum_motionpath_bake_location_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paths_clear(*, only_selected=False) + + Undocumented, consider `contributing `__. + + :param only_selected: Only Selected, Only clear motion paths of selected bones (optional) + :type only_selected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paths_range_update() + + Update frame range for motion paths from the Scene's current frame range + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: paths_update() + + Recalculate paths for bones that already have them + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: propagate(*, mode='NEXT_KEY', end_frame=250.0) + + Copy selected aspects of the current pose to subsequent poses already keyframed + + :param mode: Terminate Mode, Method used to determine when to stop propagating pose to keyframes (optional) + + - ``NEXT_KEY`` + To Next Keyframe -- Propagate pose to first keyframe following the current frame only. + - ``LAST_KEY`` + To Last Keyframe -- Propagate pose to the last keyframe only (i.e. making action cyclic). + - ``BEFORE_FRAME`` + Before Frame -- Propagate pose to all keyframes between current frame and 'Frame' property. + - ``BEFORE_END`` + Before Last Keyframe -- Propagate pose to all keyframes from current frame until no more are found. + - ``SELECTED_KEYS`` + On Selected Keyframes -- Propagate pose to all selected keyframes. + - ``SELECTED_MARKERS`` + On Selected Markers -- Propagate pose to all keyframes occurring on frames with Scene Markers after the current frame. + :type mode: Literal['NEXT_KEY', 'LAST_KEY', 'BEFORE_FRAME', 'BEFORE_END', 'SELECTED_KEYS', 'SELECTED_MARKERS'] + :param end_frame: End Frame, Frame to stop propagating frames to (for 'Before Frame' mode) (in [1.17549e-38, inf], optional) + :type end_frame: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: push(*, factor=0.5, prev_frame=0, next_frame=0, channels='ALL', axis_lock='FREE') + + Exaggerate the current pose in regards to the breakdown pose + + :param factor: Factor, Weighting factor for which keyframe is favored more (in [0, 1], optional) + :type factor: float + :param prev_frame: Previous Keyframe, Frame number of keyframe immediately before the current frame (in [-1048574, 1048574], optional) + :type prev_frame: int + :param next_frame: Next Keyframe, Frame number of keyframe immediately after the current frame (in [-1048574, 1048574], optional) + :type next_frame: int + :param channels: Channels, Set of properties that are affected (optional) + + - ``ALL`` + All Properties -- All properties, including transforms, bendy bone shape, and custom properties. + - ``LOC`` + Location -- Location only. + - ``ROT`` + Rotation -- Rotation only. + - ``SIZE`` + Scale -- Scale only. + - ``BBONE`` + Bendy Bone -- Bendy Bone shape properties. + - ``CUSTOM`` + Custom Properties -- Custom properties. + :type channels: Literal['ALL', 'LOC', 'ROT', 'SIZE', 'BBONE', 'CUSTOM'] + :param axis_lock: Axis Lock, Transform axis to restrict effects to (optional) + + - ``FREE`` + Free -- All axes are affected. + - ``X`` + X -- Only X-axis transforms are affected. + - ``Y`` + Y -- Only Y-axis transforms are affected. + - ``Z`` + Z -- Only Z-axis transforms are affected. + :type axis_lock: Literal['FREE', 'X', 'Y', 'Z'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: quaternions_flip() + + Flip quaternion values to achieve desired rotations, while maintaining the same orientations + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: relax(*, factor=0.5, prev_frame=0, next_frame=0, channels='ALL', axis_lock='FREE') + + Make the current pose more similar to its breakdown pose + + :param factor: Factor, Weighting factor for which keyframe is favored more (in [0, 1], optional) + :type factor: float + :param prev_frame: Previous Keyframe, Frame number of keyframe immediately before the current frame (in [-1048574, 1048574], optional) + :type prev_frame: int + :param next_frame: Next Keyframe, Frame number of keyframe immediately after the current frame (in [-1048574, 1048574], optional) + :type next_frame: int + :param channels: Channels, Set of properties that are affected (optional) + + - ``ALL`` + All Properties -- All properties, including transforms, bendy bone shape, and custom properties. + - ``LOC`` + Location -- Location only. + - ``ROT`` + Rotation -- Rotation only. + - ``SIZE`` + Scale -- Scale only. + - ``BBONE`` + Bendy Bone -- Bendy Bone shape properties. + - ``CUSTOM`` + Custom Properties -- Custom properties. + :type channels: Literal['ALL', 'LOC', 'ROT', 'SIZE', 'BBONE', 'CUSTOM'] + :param axis_lock: Axis Lock, Transform axis to restrict effects to (optional) + + - ``FREE`` + Free -- All axes are affected. + - ``X`` + X -- Only X-axis transforms are affected. + - ``Y`` + Y -- Only Y-axis transforms are affected. + - ``Z`` + Z -- Only Z-axis transforms are affected. + :type axis_lock: Literal['FREE', 'X', 'Y', 'Z'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reveal(*, select=True) + + Reveal all bones hidden in Pose Mode + + :param select: Select, (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rot_clear() + + Reset rotations of selected bones to their default values + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: rotation_mode_set(*, type='QUATERNION') + + Set the rotation representation used by selected bones + + :param type: Rotation Mode, (optional) + :type type: Literal[:ref:`rna_enum_object_rotation_mode_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scale_clear() + + Reset scaling of selected bones to their default values + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_all(*, action='TOGGLE') + + Toggle selection status of all bones + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_constraint_target() + + Select bones used as targets for the currently selected bones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_grouped(*, extend=False, type='COLLECTION') + + Select all visible bones grouped by similar properties + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param type: Type, (optional) + + - ``COLLECTION`` + Collection -- Same collections as the active bone. + - ``COLOR`` + Color -- Same color as the active bone. + - ``KEYINGSET`` + Keying Set -- All bones affected by active Keying Set. + - ``CHILDREN`` + Children -- Select all children of currently selected bones. + - ``CHILDREN_IMMEDIATE`` + Immediate Children -- Select direct children of currently selected bones. + - ``PARENT`` + Parents -- Select the parents of currently selected bones. + - ``SIBLINGS`` + Siblings -- Select all bones that have the same parent as currently selected bones. + :type type: Literal['COLLECTION', 'COLOR', 'KEYINGSET', 'CHILDREN', 'CHILDREN_IMMEDIATE', 'PARENT', 'SIBLINGS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_hierarchy(*, direction='PARENT', extend=False) + + Select immediate parent/children of selected bones + + :param direction: Direction, (optional) + :type direction: Literal['PARENT', 'CHILD'] + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_linked() + + Select all bones linked by connected parent/child relationships from the current selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked_pick(*, extend=False) + + Select bones linked by connected parent/child relationships under the mouse cursor + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_mirror(*, only_active=False, extend=False) + + Mirror the bone selection + + :param only_active: Active Only, Only operate on the active bone (optional) + :type only_active: bool + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_parent() + + Select bones that are parents of the currently selected bones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: selection_set_add() + + Create a new empty Selection Set + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:147 `__ + +.. function:: selection_set_add_and_assign() + + Create a new Selection Set with the currently selected bones + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:278 `__ + +.. function:: selection_set_assign() + + Add selected bones to Selection Set + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:194 `__ + +.. function:: selection_set_copy() + + Copy the selected Selection Set(s) to the clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:290 `__ + +.. function:: selection_set_delete_all() + + Remove all Selection Sets from this Armature + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:77 `__ + +.. function:: selection_set_deselect() + + Remove Selection Set bones from current selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:261 `__ + +.. function:: selection_set_move(*, direction='UP') + + Move the active Selection Set up/down the list of sets + + :param direction: Move Direction, Direction to move the active Selection Set: UP (default) or DOWN (optional) + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:126 `__ + + +.. function:: selection_set_paste() + + Add new Selection Set(s) from the clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:302 `__ + +.. function:: selection_set_remove() + + Remove a Selection Set from this Armature + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:165 `__ + +.. function:: selection_set_remove_bones() + + Remove the selected bones from all Selection Sets + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:89 `__ + +.. function:: selection_set_select(*, selection_set_index=-1) + + Select the bones from this Selection Set + + :param selection_set_index: Selection Set Index, Which Selection Set to select; -1 uses the active Selection Set (in [-inf, inf], optional) + :type selection_set_index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:239 `__ + + +.. function:: selection_set_unassign() + + Remove selected bones from Selection Set + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/bone_selection_sets.py\:213 `__ + +.. function:: transforms_clear() + + Reset location, rotation, and scaling of selected bones to their default values + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: user_transforms_clear(*, only_selected=True) + + Reset pose bone transforms to keyframed state + + :param only_selected: Only Selected, Only visible/selected bones (optional) + :type only_selected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: visual_transform_apply() + + Apply final constrained position of pose bones to their transform + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.poselib.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.poselib.rst new file mode 100644 index 0000000..68a64c2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.poselib.rst @@ -0,0 +1,115 @@ +Poselib Operators +================= + +.. module:: bpy.ops.poselib + +.. function:: apply_pose_asset(*, asset_library_type='LOCAL', asset_library_identifier="", relative_asset_identifier="", blend_factor=1.0, flipped=False) + + Apply the given Pose Action to the rig + + :param asset_library_type: Asset Library Type, (optional) + :type asset_library_type: Literal[:ref:`rna_enum_asset_library_type_items`] + :param asset_library_identifier: Asset Library Identifier, (optional, never None) + :type asset_library_identifier: str + :param relative_asset_identifier: Relative Asset Identifier, (optional, never None) + :type relative_asset_identifier: str + :param blend_factor: Blend Factor, Amount that the pose is applied on top of the existing poses. A negative value will subtract the pose instead of adding it (in [-inf, inf], optional) + :type blend_factor: float + :param flipped: Apply Flipped, When enabled, applies the pose flipped over the X-axis (optional) + :type flipped: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: asset_delete() + + Delete the selected Pose Asset + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: asset_modify(*, mode='ADJUST') + + Update the selected pose asset in the asset library from the currently selected bones. The mode defines how the asset is updated + + :param mode: Overwrite Mode, Specify which parts of the pose asset are overwritten (optional) + + - ``ADJUST`` + Adjust -- Update existing channels in the pose asset but don't remove or add any channels. + - ``REPLACE`` + Replace with Selection -- Completely replace all channels in the pose asset with the current selection. + - ``ADD`` + Add Selected Bones -- Add channels of the selection to the pose asset. Existing channels will be updated. + - ``REMOVE`` + Remove Selected Bones -- Remove channels of the selection from the pose asset. + :type mode: Literal['ADJUST', 'REPLACE', 'ADD', 'REMOVE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: blend_pose_asset(*, asset_library_type='LOCAL', asset_library_identifier="", relative_asset_identifier="", blend_factor=0.0, flipped=False, release_confirm=False) + + Blend the given Pose Action to the rig + + :param asset_library_type: Asset Library Type, (optional) + :type asset_library_type: Literal[:ref:`rna_enum_asset_library_type_items`] + :param asset_library_identifier: Asset Library Identifier, (optional, never None) + :type asset_library_identifier: str + :param relative_asset_identifier: Relative Asset Identifier, (optional, never None) + :type relative_asset_identifier: str + :param blend_factor: Blend Factor, Amount that the pose is applied on top of the existing poses. A negative value will subtract the pose instead of adding it (in [-inf, inf], optional) + :type blend_factor: float + :param flipped: Apply Flipped, When enabled, applies the pose flipped over the X-axis (optional) + :type flipped: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy_as_asset() + + Create a new pose asset on the clipboard, to be pasted into an Asset Browser + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/pose_library/operators.py\:116 `__ + +.. function:: create_pose_asset(*, pose_name="", asset_library_reference='', catalog_path="") + + Create a new asset from the selected bones in the scene + + :param pose_name: Pose Name, Name for the new pose asset (optional, never None) + :type pose_name: str + :param asset_library_reference: Library, Asset library used to store the new pose (optional) + :type asset_library_reference: str + :param catalog_path: Catalog, Catalog to use for the new asset (optional, never None) + :type catalog_path: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paste_asset() + + Paste the Asset that was previously copied using Copy As Asset + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/pose_library/operators.py\:190 `__ + +.. function:: pose_asset_select_bones(*, select=True, flipped=False) + + Select those bones that are used in this pose + + :param select: Select, (optional) + :type select: bool + :param flipped: Flipped, (optional) + :type flipped: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/pose_library/operators.py\:228 `__ + + +.. function:: restore_previous_action() + + Switch back to the previous Action, after creating a pose asset + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/pose_library/operators.py\:65 `__ + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.preferences.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.preferences.rst new file mode 100644 index 0000000..78afdc4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.preferences.rst @@ -0,0 +1,484 @@ +Preferences Operators +===================== + +.. module:: bpy.ops.preferences + +.. function:: addon_disable(*, module="") + + Turn off this add-on + + :param module: Module, Module name of the add-on to disable (optional, never None) + :type module: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:547 `__ + + +.. function:: addon_enable(*, module="") + + Turn on this add-on + + :param module: Module, Module name of the add-on to enable (optional, never None) + :type module: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:483 `__ + + +.. function:: addon_expand(*, module="") + + Display information and preferences for this add-on + + :param module: Module, Module name of the add-on to expand (optional, never None) + :type module: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:924 `__ + + +.. function:: addon_install(*, overwrite=True, enable_on_install=False, target='', filepath="", filter_folder=True, filter_python=True, filter_glob="*.py;*.zip") + + Install an add-on + + :param overwrite: Overwrite, Remove existing add-ons with the same ID (optional) + :type overwrite: bool + :param enable_on_install: Enable on Install, Enable after installing (optional) + :type enable_on_install: bool + :param target: Target Path, (optional) + :type target: str + :param filepath: filepath, (optional, never None) + :type filepath: str + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_python: Filter Python, (optional) + :type filter_python: bool + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:712 `__ + + +.. function:: addon_refresh() + + Scan add-on directories for new modules + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:645 `__ + +.. function:: addon_remove(*, module="") + + Delete the add-on from the file system + + :param module: Module, Module name of the add-on to remove (optional, never None) + :type module: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:873 `__ + + +.. function:: addon_show(*, module="") + + Show add-on preferences + + :param module: Module, Module name of the add-on to expand (optional, never None) + :type module: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:950 `__ + + +.. function:: app_template_install(*, overwrite=True, filepath="", filter_folder=True, filter_glob="*.zip") + + Install an application template + + :param overwrite: Overwrite, Remove existing template with the same ID (optional) + :type overwrite: bool + :param filepath: filepath, (optional, never None) + :type filepath: str + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:1000 `__ + + +.. function:: asset_library_add(*, directory="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, display_type='DEFAULT', sort_method='') + + Add a directory to be used by the Asset Browser as source of assets + + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: asset_library_remove(*, index=0) + + Remove a path to a .blend file, so the Asset Browser will not attempt to show it anymore + + :param index: Index, (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: associate_blend() + + Use this installation for .blend files and to display thumbnails + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: autoexec_path_add() + + Add path to exclude from auto-execution + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: autoexec_path_remove(*, index=0) + + Remove path to exclude from auto-execution + + :param index: Index, (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clear_filter() + + Clear the search filter + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: copy_prev() + + Copy settings from previous version + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:170 `__ + +.. function:: extension_repo_add(*, name="", remote_url="", use_access_token=False, access_token="", use_sync_on_startup=False, use_custom_directory=False, custom_directory="", type='REMOTE') + + Add a new repository used to store extensions + + :param name: Name, Unique repository name (optional, never None) + :type name: str + :param remote_url: URL, Remote URL to the extension repository, the file-system may be referenced using the file URI scheme: "file://" (optional, never None) + :type remote_url: str + :param use_access_token: Requires Access Token, Repository requires an access token (optional) + :type use_access_token: bool + :param access_token: Secret, Personal access token, may be required by some repositories (optional, never None) + :type access_token: str + :param use_sync_on_startup: Check for Updates on Startup, Allow Blender to check for updates upon launch (optional) + :type use_sync_on_startup: bool + :param use_custom_directory: Custom Directory, Manually set the path for extensions to be stored. When disabled a user's extensions directory is created. (optional) + :type use_custom_directory: bool + :param custom_directory: Custom Directory, The local directory containing extensions (optional, never None) + :type custom_directory: str + :param type: Type, The kind of repository to add (optional) + + - ``REMOTE`` + Add Remote Repository -- Add a repository referencing a remote repository with support for listing and updating extensions. + - ``LOCAL`` + Add Local Repository -- Add a repository managed manually without referencing an external repository. + :type type: Literal['REMOTE', 'LOCAL'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extension_repo_remove(*, index=0, remove_files=False) + + Remove an extension repository + + :param index: Index, (in [0, inf], optional) + :type index: int + :param remove_files: Remove Files, Remove extension files when removing the repository (optional) + :type remove_files: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: extension_url_drop(*, url="") + + Handle dropping an extension URL + + :param url: URL, Location of the extension to install (optional, never None) + :type url: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: keyconfig_activate(*, filepath="") + + Undocumented, consider `contributing `__. + + :param filepath: filepath, (optional, never None) + :type filepath: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:91 `__ + + +.. function:: keyconfig_export(*, all=False, filepath="", filter_folder=True, filter_text=True, filter_python=True) + + Export key configuration to a Python script + + :param all: All Keymaps, Write all keymaps (not just user modified) (optional) + :type all: bool + :param filepath: filepath, (optional, never None) + :type filepath: str + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_text: Filter text, (optional) + :type filter_text: bool + :param filter_python: Filter Python, (optional) + :type filter_python: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:324 `__ + + +.. function:: keyconfig_import(*, filepath="keymap.py", filter_folder=True, filter_text=True, filter_python=True, keep_original=True) + + Import key configuration from a Python script + + :param filepath: filepath, (optional, never None) + :type filepath: str + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_text: Filter text, (optional) + :type filter_text: bool + :param filter_python: Filter Python, (optional) + :type filter_python: bool + :param keep_original: Keep Original, Keep original file after copying to configuration folder (optional) + :type keep_original: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:259 `__ + + +.. function:: keyconfig_remove() + + Remove key config + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:463 `__ + +.. function:: keyconfig_test() + + Test key configuration for conflicts + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:194 `__ + +.. function:: keyitem_add() + + Add key map item + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:411 `__ + +.. function:: keyitem_remove(*, item_id=0) + + Remove key map item + + :param item_id: Item Identifier, Identifier of the item to remove (in [-inf, inf], optional) + :type item_id: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:443 `__ + + +.. function:: keyitem_restore(*, item_id=0) + + Restore key map item + + :param item_id: Item Identifier, Identifier of the item to restore (in [-inf, inf], optional) + :type item_id: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:395 `__ + + +.. function:: keymap_restore(*, all=False) + + Restore key map(s) + + :param all: All Keymaps, Restore all keymaps to default (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:366 `__ + + +.. function:: reset_default_theme() + + Reset to the default theme colors + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: script_directory_add(*, directory="", filter_folder=True) + + Undocumented, consider `contributing `__. + + :param directory: directory, (optional, never None) + :type directory: str + :param filter_folder: Filter Folders, (optional) + :type filter_folder: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:1256 `__ + + +.. function:: script_directory_remove(*, index=0) + + Undocumented, consider `contributing `__. + + :param index: Index, Index of the script directory to remove (in [-inf, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:1286 `__ + + +.. function:: start_filter() + + Start entering filter text + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: studiolight_copy_settings(*, index=0) + + Copy Studio Light settings to the Studio Light editor + + :param index: index, (in [-inf, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:1227 `__ + + +.. function:: studiolight_install(*, files=None, directory="", filter_folder=True, filter_glob="*.png;*.jpg;*.hdr;*.exr", type='MATCAP') + + Install a user defined light + + :param files: File Path, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param directory: directory, (optional, never None) + :type directory: str + :param filter_folder: Filter Folders, (optional) + :type filter_folder: bool + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :param type: Type, (optional) + + - ``MATCAP`` + MatCap -- Install custom MatCaps. + - ``WORLD`` + World -- Install custom HDRIs. + - ``STUDIO`` + Studio -- Install custom Studio Lights. + :type type: Literal['MATCAP', 'WORLD', 'STUDIO'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:1110 `__ + + +.. function:: studiolight_new(*, filename="StudioLight") + + Save custom studio light from the studio light editor settings + + :param filename: Name, (optional, never None) + :type filename: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:1157 `__ + + +.. function:: studiolight_uninstall(*, index=0) + + Delete Studio Light + + :param index: index, (in [-inf, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:1208 `__ + + +.. function:: theme_install(*, overwrite=True, filepath="", filter_folder=True, filter_glob="*.xml") + + Load and apply a Blender XML theme file + + :param overwrite: Overwrite, Remove existing theme file if exists (optional) + :type overwrite: bool + :param filepath: filepath, (optional, never None) + :type filepath: str + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_glob: filter_glob, (optional, never None) + :type filter_glob: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/userpref.py\:598 `__ + + +.. function:: unassociate_blend() + + Remove this installation's associations with .blend files + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.ptcache.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.ptcache.rst new file mode 100644 index 0000000..d9f480f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.ptcache.rst @@ -0,0 +1,53 @@ +Ptcache Operators +================= + +.. module:: bpy.ops.ptcache + +.. function:: add() + + Add new cache + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: bake(*, bake=False) + + Bake physics + + :param bake: Bake, (optional) + :type bake: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bake_all(*, bake=True) + + Bake all physics + + :param bake: Bake, (optional) + :type bake: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bake_from_cache() + + Bake from cache + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: free_bake() + + Delete physics bake + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: free_bake_all() + + Delete all baked caches of all objects in the current scene + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: remove() + + Delete current cache + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.render.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.render.rst new file mode 100644 index 0000000..335fd8e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.render.rst @@ -0,0 +1,119 @@ +Render Operators +================ + +.. module:: bpy.ops.render + +.. function:: color_management_white_balance_preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove a white balance preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: eevee_raytracing_preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove an EEVEE ray-tracing preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: opengl(*, animation=False, render_keyed_only=False, sequencer=False, write_still=False, view_context=True) + + Take a snapshot of the active viewport + + :param animation: Animation, Render files from the animation range of this scene (optional) + :type animation: bool + :param render_keyed_only: Render Keyframes Only, Render only those frames where selected objects have a key in their animation data. Only used when rendering animation (optional) + :type render_keyed_only: bool + :param sequencer: Sequencer, Render using the sequencer's OpenGL display (optional) + :type sequencer: bool + :param write_still: Write Image, Save the rendered image to the output path (used only when animation is disabled) (optional) + :type write_still: bool + :param view_context: View Context, Use the current 3D view for rendering, else use scene settings (optional) + :type view_context: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: play_rendered_anim() + + Play back rendered frames/movies using an external player + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/screen_play_rendered_anim.py\:87 `__ + +.. function:: preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove a Render Preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: render(*, animation=False, write_still=False, use_viewport=False, use_sequencer_scene=False, layer="", scene="", frame_start=0, frame_end=0) + + Undocumented, consider `contributing `__. + + :param animation: Animation, Render files from the animation range of this scene (optional) + :type animation: bool + :param write_still: Write Image, Save the rendered image to the output path (used only when animation is disabled) (optional) + :type write_still: bool + :param use_viewport: Use 3D Viewport, When inside a 3D viewport, use layers and camera of the viewport (optional) + :type use_viewport: bool + :param use_sequencer_scene: Use Sequencer Scene, Render the sequencer scene instead of the active scene (optional) + :type use_sequencer_scene: bool + :param layer: Render Layer, Single render layer to re-render (used only when animation is disabled) (optional, never None) + :type layer: str + :param scene: Scene, Scene to render, current scene if not specified (optional, never None) + :type scene: str + :param frame_start: Start Frame, Frame to start rendering animation at. If not specified, the scene start frame will be assumed. This should only be specified if doing an animation render (in [-inf, inf], optional) + :type frame_start: int + :param frame_end: End Frame, Frame to end rendering animation at. If not specified, the scene end frame will be assumed. This should only be specified if doing an animation render (in [-inf, inf], optional) + :type frame_end: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shutter_curve_preset(*, shape='SMOOTH') + + Set shutter curve + + :param shape: Mode, (optional) + :type shape: Literal['SHARP', 'SMOOTH', 'MAX', 'LINE', 'ROUND', 'ROOT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_cancel() + + Cancel showing the render view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_show() + + Toggle show render view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.rigidbody.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.rigidbody.rst new file mode 100644 index 0000000..a8c2df6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.rigidbody.rst @@ -0,0 +1,149 @@ +Rigidbody Operators +=================== + +.. module:: bpy.ops.rigidbody + +.. function:: bake_to_keyframes(*, frame_start=1, frame_end=250, step=1) + + Bake rigid body transformations of selected objects to keyframes + + :param frame_start: Start Frame, Start frame for baking (in [0, 300000], optional) + :type frame_start: int + :param frame_end: End Frame, End frame for baking (in [1, 300000], optional) + :type frame_end: int + :param step: Frame Step, Frame Step (in [1, 120], optional) + :type step: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/rigidbody.py\:108 `__ + + +.. function:: connect(*, con_type='FIXED', pivot_type='CENTER', connection_pattern='SELECTED_TO_ACTIVE') + + Create rigid body constraints between selected rigid bodies + + :param con_type: Type, Type of generated constraint (optional) + + - ``FIXED`` + Fixed -- Glue rigid bodies together. + - ``POINT`` + Point -- Constrain rigid bodies to move around common pivot point. + - ``HINGE`` + Hinge -- Restrict rigid body rotation to one axis. + - ``SLIDER`` + Slider -- Restrict rigid body translation to one axis. + - ``PISTON`` + Piston -- Restrict rigid body translation and rotation to one axis. + - ``GENERIC`` + Generic -- Restrict translation and rotation to specified axes. + - ``GENERIC_SPRING`` + Generic Spring -- Restrict translation and rotation to specified axes with springs. + - ``MOTOR`` + Motor -- Drive rigid body around or along an axis. + :type con_type: Literal['FIXED', 'POINT', 'HINGE', 'SLIDER', 'PISTON', 'GENERIC', 'GENERIC_SPRING', 'MOTOR'] + :param pivot_type: Location, Constraint pivot location (optional) + + - ``CENTER`` + Center -- Pivot location is between the constrained rigid bodies. + - ``ACTIVE`` + Active -- Pivot location is at the active object position. + - ``SELECTED`` + Selected -- Pivot location is at the selected object position. + :type pivot_type: Literal['CENTER', 'ACTIVE', 'SELECTED'] + :param connection_pattern: Connection Pattern, Pattern used to connect objects (optional) + + - ``SELECTED_TO_ACTIVE`` + Selected to Active -- Connect selected objects to the active object. + - ``CHAIN_DISTANCE`` + Chain by Distance -- Connect objects as a chain based on distance, starting at the active object. + :type connection_pattern: Literal['SELECTED_TO_ACTIVE', 'CHAIN_DISTANCE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/rigidbody.py\:277 `__ + + +.. function:: constraint_add(*, type='FIXED') + + Add Rigid Body Constraint to active object + + :param type: Rigid Body Constraint Type, (optional) + :type type: Literal[:ref:`rna_enum_rigidbody_constraint_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: constraint_remove() + + Remove Rigid Body Constraint from Object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: mass_calculate(*, material='DEFAULT', density=1.0) + + Automatically calculate mass values for Rigid Body Objects based on volume + + :param material: Material Preset, Type of material that objects are made of (determines material density) (optional) + :type material: Literal['DEFAULT'] + :param density: Density, Density value (kg/m^3), allows custom value if the 'Custom' preset is used (in [1.17549e-38, inf], optional) + :type density: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: object_add(*, type='ACTIVE') + + Add active object as Rigid Body + + :param type: Rigid Body Type, (optional) + :type type: Literal[:ref:`rna_enum_rigidbody_object_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: object_remove() + + Remove Rigid Body settings from Object + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: object_settings_copy() + + Copy Rigid Body settings from active object to selected + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/rigidbody.py\:45 `__ + +.. function:: objects_add(*, type='ACTIVE') + + Add selected objects as Rigid Bodies + + :param type: Rigid Body Type, (optional) + :type type: Literal[:ref:`rna_enum_rigidbody_object_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: objects_remove() + + Remove selected objects from Rigid Body simulation + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: shape_change(*, type='MESH') + + Change collision shapes for selected Rigid Body Objects + + :param type: Rigid Body Shape, (optional) + :type type: Literal[:ref:`rna_enum_rigidbody_object_shape_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: world_add() + + Add Rigid Body simulation world to the current scene + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: world_remove() + + Remove Rigid Body simulation world from the current scene + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.rst new file mode 100644 index 0000000..169a6ca --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.rst @@ -0,0 +1,128 @@ +Operators (bpy.ops) +=================== + +.. module:: bpy.ops + + +Calling Operators +----------------- + +Provides Python access to calling operators, this includes operators written in +C++, Python or macros. + +Only keyword arguments can be used to pass operator properties. + +Operators don't have return values as you might expect, +instead they return a set() which is made up of: +``{'RUNNING_MODAL', 'CANCELLED', 'FINISHED', 'PASS_THROUGH'}``. +Common return values are ``{'FINISHED'}`` and ``{'CANCELLED'}``, the latter +meaning that the operator execution was aborted without making any changes or +saving an undo history entry. + +If operator was cancelled but there wasn't any reports from it with ``{'ERROR'}`` type, +it will just return ``{'CANCELLED'}`` without raising any exceptions. +However, if there are error reports, a ``RuntimeError`` will be raised +after the operator finishes execution, including all error report messages, +regardless of the return status (even if it was ``{'FINISHED'}``). + +Calling an operator in the wrong context will raise a ``RuntimeError``, +there is a poll() method to avoid this problem. + +Note that the operator ID (bl_idname) in this example is ``mesh.subdivide``, +``bpy.ops`` is just the access path for Python. + + +Keywords and Positional Arguments +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For calling operators keywords are used for operator properties and +positional arguments are used to define how the operator is called. + +There are 2 optional positional arguments (documented in detail below). + +.. code-block:: python + + bpy.ops.test.operator(execution_context, undo) + +- execution_context - ``str`` (enum). +- undo - ``bool`` type. + + +Each of these arguments is optional, but must be given in the order above. + +.. literalinclude:: ./examples/bpy.ops.0.py + :lines: 48- + + +Overriding Context +------------------ + +It is possible to override context members that the operator sees, so that they +act on specified rather than the selected or active data, or to execute an +operator in the different part of the user interface. + +The context overrides are passed in as keyword arguments, +with keywords matching the context member names in ``bpy.context``. +For example to override ``bpy.context.active_object``, +you would pass ``active_object=object`` to :class:`bpy.types.Context.temp_override`. + +.. note:: + + You will nearly always want to use a copy of the actual current context as basis + (otherwise, you'll have to find and gather all needed data yourself). + +.. note:: + + Context members are names which Blender uses for data access, + overrides do not extend to overriding methods or any Python specific functionality. + +.. literalinclude:: ./examples/bpy.ops.1.py + :lines: 25- + + +.. _operator-execution_context: + +Execution Context +----------------- + +When calling an operator you may want to pass the execution context. + +This determines the context that is given for the operator to run in, and whether +invoke() is called or only execute(). + +``EXEC_DEFAULT`` is used by default, running only the ``execute()`` method, but you may +want the operator to take user interaction with ``INVOKE_DEFAULT`` which will also +call invoke() if existing. + +The execution context is one of: + +- ``INVOKE_DEFAULT`` +- ``INVOKE_REGION_WIN`` +- ``INVOKE_REGION_CHANNELS`` +- ``INVOKE_REGION_PREVIEW`` +- ``INVOKE_AREA`` +- ``INVOKE_SCREEN`` +- ``EXEC_DEFAULT`` +- ``EXEC_REGION_WIN`` +- ``EXEC_REGION_CHANNELS`` +- ``EXEC_REGION_PREVIEW`` +- ``EXEC_AREA`` +- ``EXEC_SCREEN`` + +.. literalinclude:: ./examples/bpy.ops.2.py + :lines: 32- + + +It is also possible to run an operator in a particular part of the user +interface. For this we need to pass the window, area and sometimes a region. + +.. literalinclude:: ./examples/bpy.ops.3.py + :lines: 6- + +.. toctree:: + :caption: Submodules + :maxdepth: 1 + :glob: + + bpy.ops.* + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.scene.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.scene.rst new file mode 100644 index 0000000..110f34b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.scene.rst @@ -0,0 +1,185 @@ +Scene Operators +=============== + +.. module:: bpy.ops.scene + +.. function:: delete() + + Delete active scene + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: drop_scene_asset(*, session_uid=0) + + Import scene and set it as the active one in the window + + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: gltf2_action_filter_refresh() + + Refresh list of actions + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/io_scene_gltf2/blender/com/gltf2_blender_ui.py\:615 `__ + +.. function:: gpencil_brush_preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove Grease Pencil brush preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: gpencil_material_preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove Grease Pencil material preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: new(*, type='NEW') + + Add new scene by type + + :param type: Type, (optional) + + - ``NEW`` + New -- Add a new, empty scene with default settings. + - ``EMPTY`` + Copy Settings -- Add a new, empty scene, and copy settings from the current scene. + - ``LINK_COPY`` + Linked Copy -- Link in the collections from the current scene (shallow copy). + - ``FULL_COPY`` + Full Copy -- Make a full copy of the current scene. + :type type: Literal['NEW', 'EMPTY', 'LINK_COPY', 'FULL_COPY'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: new_sequencer(*, type='NEW') + + Add new scene by type in the sequence editor and assign to active strip + + :param type: Type, (optional) + + - ``NEW`` + New -- Add a new, empty scene with default settings. + - ``EMPTY`` + Copy Settings -- Add a new, empty scene, and copy settings from the current scene. + - ``LINK_COPY`` + Linked Copy -- Link in the collections from the current scene (shallow copy). + - ``FULL_COPY`` + Full Copy -- Make a full copy of the current scene. + :type type: Literal['NEW', 'EMPTY', 'LINK_COPY', 'FULL_COPY'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: new_sequencer_scene(*, type='NEW') + + Add new scene to be used by the sequencer + + :param type: Type, (optional) + + - ``NEW`` + New -- Add a new, empty scene with default settings. + - ``EMPTY`` + Copy Settings -- Add a new, empty scene, and copy settings from the current scene. + - ``LINK_COPY`` + Linked Copy -- Link in the collections from the current scene (shallow copy). + - ``FULL_COPY`` + Full Copy -- Make a full copy of the current scene. + :type type: Literal['NEW', 'EMPTY', 'LINK_COPY', 'FULL_COPY'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: render_view_add() + + Add a render view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: render_view_remove() + + Remove the selected render view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_layer_add(*, type='NEW') + + Add a view layer + + :param type: Type, (optional) + + - ``NEW`` + New -- Add a new view layer. + - ``COPY`` + Copy Settings -- Copy settings of current view layer. + - ``EMPTY`` + Blank -- Add a new view layer with all collections disabled. + :type type: Literal['NEW', 'COPY', 'EMPTY'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_layer_add_aov() + + Add a Shader AOV + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_layer_add_lightgroup(*, name="") + + Add a Light Group + + :param name: Name, Name of newly created lightgroup (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_layer_add_used_lightgroups() + + Add all used Light Groups + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_layer_remove() + + Remove the selected view layer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_layer_remove_aov() + + Remove Active AOV + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_layer_remove_lightgroup() + + Remove Active Lightgroup + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_layer_remove_unused_lightgroups() + + Remove all unused Light Groups + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.screen.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.screen.rst new file mode 100644 index 0000000..4129c7d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.screen.rst @@ -0,0 +1,441 @@ +Screen Operators +================ + +.. module:: bpy.ops.screen + +.. function:: actionzone(*, modifier=0) + + Handle area action zones for mouse actions/gestures + + :param modifier: Modifier, Modifier state (in [0, 2], optional) + :type modifier: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: animation_cancel(*, restore_frame=True) + + Cancel animation, returning to the original frame + + :param restore_frame: Restore Frame, Restore the frame when animation was initialized (optional) + :type restore_frame: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: animation_play(*, reverse=False, sync=False) + + Play animation + + :param reverse: Play in Reverse, Animation is played backwards (optional) + :type reverse: bool + :param sync: Sync, Drop frames to maintain framerate (optional) + :type sync: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: animation_step() + + Step through animation by position + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: area_close() + + Close selected area + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: area_dupli() + + Duplicate selected area into new window + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: area_join(*, source_xy=(0, 0), target_xy=(0, 0)) + + Join selected areas into new window + + :param source_xy: Source location, (array of 2 items, in [-inf, inf], optional) + :type source_xy: Sequence[int] + :param target_xy: Target location, (array of 2 items, in [-inf, inf], optional) + :type target_xy: Sequence[int] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: area_move(*, x=0, y=0, delta=0, snap=False) + + Move selected area edges + + :param x: X, (in [-inf, inf], optional) + :type x: int + :param y: Y, (in [-inf, inf], optional) + :type y: int + :param delta: Delta, (in [-inf, inf], optional) + :type delta: int + :param snap: Snapping, Enable snapping (optional) + :type snap: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: area_options() + + Operations for splitting and merging + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: area_split(*, direction='HORIZONTAL', factor=0.5, cursor=(0, 0)) + + Split selected area into new windows + + :param direction: Direction, (optional) + :type direction: Literal['HORIZONTAL', 'VERTICAL'] + :param factor: Factor, (in [0, 1], optional) + :type factor: float + :param cursor: Cursor, (array of 2 items, in [-inf, inf], optional) + :type cursor: Sequence[int] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: area_swap(*, cursor=(0, 0)) + + Swap selected areas screen positions + + :param cursor: Cursor, (array of 2 items, in [-inf, inf], optional) + :type cursor: Sequence[int] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: back_to_previous() + + Revert back to the original screen layout, before fullscreen area overlay + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete() + + Delete active screen + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: drivers_editor_show() + + Show drivers editor in a separate window + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: frame_jump(*, end=False) + + Jump to first/last frame in frame range + + :param end: Last Frame, Jump to the last frame of the frame range (optional) + :type end: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: frame_offset(*, delta=0) + + Move current frame forward/backward by a given number + + :param delta: Delta, (in [-inf, inf], optional) + :type delta: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: header_toggle_menus() + + Expand or collapse the header pull-down menus + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: info_log_show() + + Show info log in a separate window + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: keyframe_jump(*, next=True) + + Jump to previous/next keyframe + + :param next: Next Keyframe, (optional) + :type next: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: marker_jump(*, next=True) + + Jump to previous/next marker + + :param next: Next Marker, (optional) + :type next: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: new() + + Add a new screen + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: quadview_size() + + Resize Quad View areas + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: redo_last() + + Display parameters for last action performed + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: region_blend() + + Blend in and out overlapping region + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: region_context_menu() + + Display region context menu + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: region_flip() + + Toggle the region's alignment (left/right or top/bottom) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: region_quadview() + + Split selected area into camera, front, right, and top views + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: region_scale() + + Scale selected area + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: region_toggle(*, region_type='WINDOW') + + Hide or unhide the region + + :param region_type: Region Type, Type of the region to toggle (optional) + :type region_type: Literal[:ref:`rna_enum_region_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: repeat_history(*, index=0) + + Display menu for previous actions performed + + :param index: Index, (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: repeat_last() + + Repeat last action + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: screen_full_area(*, use_hide_panels=False) + + Toggle display selected area as fullscreen/maximized + + :param use_hide_panels: Hide Panels, Hide all the panels (Focus Mode) (optional) + :type use_hide_panels: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: screen_set(*, delta=1) + + Cycle through available screens + + :param delta: Delta, (in [-1, 1], optional) + :type delta: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: screenshot(*, filepath="", hide_props_region=True, check_existing=True, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='') + + Capture a picture of the whole Blender window + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: screenshot_area(*, filepath="", hide_props_region=True, check_existing=True, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='') + + Capture a picture of an editor + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: space_context_cycle(*, direction='NEXT') + + Cycle through the editor context by activating the next/previous one + + :param direction: Direction, Direction to cycle through (optional) + :type direction: Literal['PREV', 'NEXT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: space_type_set_or_cycle(*, space_type='EMPTY') + + Set the space type or cycle subtype + + :param space_type: Type, (optional) + :type space_type: Literal[:ref:`rna_enum_space_type_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: spacedata_cleanup() + + Remove unused settings for invisible editors + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: time_jump(*, backward=False) + + Jump forward/backward by a given number of frames or seconds + + :param backward: Backwards, Jump backwards in time (optional) + :type backward: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: userpref_show(*, section='INTERFACE') + + Edit user preferences and system settings + + :param section: Section to activate in the Preferences (optional) + :type section: Literal[:ref:`rna_enum_preference_section_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: workspace_cycle(*, direction='NEXT') + + Cycle through workspaces + + :param direction: Direction, Direction to cycle through (optional) + :type direction: Literal['PREV', 'NEXT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.script.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.script.rst new file mode 100644 index 0000000..59594e7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.script.rst @@ -0,0 +1,33 @@ +Script Operators +================ + +.. module:: bpy.ops.script + +.. function:: execute_preset(*, filepath="", menu_idname="") + + Load a preset + + :param filepath: filepath, (optional, never None) + :type filepath: str + :param menu_idname: Menu ID Name, ID name of the menu this was called from (optional, never None) + :type menu_idname: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:285 `__ + + +.. function:: python_file_run(*, filepath="") + + Run Python file + + :param filepath: Path, (optional, never None) + :type filepath: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reload() + + Reload scripts + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sculpt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sculpt.rst new file mode 100644 index 0000000..4c21b30 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sculpt.rst @@ -0,0 +1,898 @@ +Sculpt Operators +================ + +.. module:: bpy.ops.sculpt + +.. function:: brush_stroke(*, stroke=None, mode='NORMAL', brush_toggle='None', pen_flip=False, override_location=False, ignore_background_click=False) + + Sculpt a stroke into the geometry + + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param mode: Stroke Mode, Action taken when a paint stroke is made (optional) + + - ``NORMAL`` + Regular -- Apply brush normally. + - ``INVERT`` + Invert -- Invert action of brush for duration of stroke. + :type mode: Literal['NORMAL', 'INVERT'] + :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke (optional) + + - ``None`` + None -- Apply brush normally. + - ``SMOOTH`` + Smooth -- Switch to smooth brush for duration of stroke. + - ``ERASE`` + Erase -- Switch to erase brush for duration of stroke. + - ``MASK`` + Mask -- Switch to mask brush for duration of stroke. + :type brush_toggle: Literal['None', 'SMOOTH', 'ERASE', 'MASK'] + :param pen_flip: Pen Flip, Whether a tablet's eraser mode is being used (optional) + :type pen_flip: bool + :param override_location: Override Location, Override the given "location" array by recalculating object space positions from the provided "mouse_event" positions (optional) + :type override_location: bool + :param ignore_background_click: Ignore Background Click, Clicks on the background do not start the stroke (optional) + :type ignore_background_click: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: cloth_filter(*, start_mouse=(0, 0), area_normal_radius=0.25, strength=1.0, iteration_count=1, event_history=None, type='GRAVITY', force_axis={'X', 'Y', 'Z'}, orientation='LOCAL', cloth_mass=1.0, cloth_damping=0.0, use_face_sets=False, use_collisions=False) + + Applies a cloth simulation deformation to the entire mesh + + :param start_mouse: Starting Mouse, (array of 2 items, in [0, 16384], optional) + :type start_mouse: Sequence[int] + :param area_normal_radius: Normal Radius, Radius used for calculating area normal on initial click,in percentage of brush radius(in [0.001, 5], optional) + :type area_normal_radius: float + :param strength: Strength, Filter strength (in [-10, 10], optional) + :type strength: float + :param iteration_count: Repeat, How many times to repeat the filter (in [1, 10000], optional) + :type iteration_count: int + :param event_history: (optional) + :type event_history: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param type: Filter Type, Operation that is going to be applied to the mesh (optional) + + - ``GRAVITY`` + Gravity -- Applies gravity to the simulation. + - ``INFLATE`` + Inflate -- Inflates the cloth. + - ``EXPAND`` + Expand -- Expands the cloth's dimensions. + - ``PINCH`` + Pinch -- Pulls the cloth to the cursor's start position. + - ``SCALE`` + Scale -- Scales the mesh as a soft body using the origin of the object as scale. + :type type: Literal['GRAVITY', 'INFLATE', 'EXPAND', 'PINCH', 'SCALE'] + :param force_axis: Force Axis, Apply the force in the selected axis (optional) + + - ``X`` + X -- Apply force in the X axis. + - ``Y`` + Y -- Apply force in the Y axis. + - ``Z`` + Z -- Apply force in the Z axis. + :type force_axis: set[Literal['X', 'Y', 'Z']] + :param orientation: Orientation, Orientation of the axis to limit the filter force (optional) + + - ``LOCAL`` + Local -- Use the local axis to limit the force and set the gravity direction. + - ``WORLD`` + World -- Use the global axis to limit the force and set the gravity direction. + - ``VIEW`` + View -- Use the view axis to limit the force and set the gravity direction. + :type orientation: Literal['LOCAL', 'WORLD', 'VIEW'] + :param cloth_mass: Cloth Mass, Mass of each simulation particle (in [0, 2], optional) + :type cloth_mass: float + :param cloth_damping: Cloth Damping, How much the applied forces are propagated through the cloth (in [0, 1], optional) + :type cloth_damping: float + :param use_face_sets: Use Face Sets, Apply the filter only to the face set under the cursor (optional) + :type use_face_sets: bool + :param use_collisions: Use Collisions, Collide with other collider objects in the scene (optional) + :type use_collisions: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: color_filter(*, start_mouse=(0, 0), area_normal_radius=0.25, strength=1.0, iteration_count=1, event_history=None, type='FILL', fill_color=(1.0, 1.0, 1.0)) + + Applies a filter to modify the active color attribute + + :param start_mouse: Starting Mouse, (array of 2 items, in [0, 16384], optional) + :type start_mouse: Sequence[int] + :param area_normal_radius: Normal Radius, Radius used for calculating area normal on initial click,in percentage of brush radius(in [0.001, 5], optional) + :type area_normal_radius: float + :param strength: Strength, Filter strength (in [-10, 10], optional) + :type strength: float + :param iteration_count: Repeat, How many times to repeat the filter (in [1, 10000], optional) + :type iteration_count: int + :param event_history: (optional) + :type event_history: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param type: Filter Type, (optional) + + - ``FILL`` + Fill -- Fill with a specific color. + - ``HUE`` + Hue -- Change hue. + - ``SATURATION`` + Saturation -- Change saturation. + - ``VALUE`` + Value -- Change value. + - ``BRIGHTNESS`` + Brightness -- Change brightness. + - ``CONTRAST`` + Contrast -- Change contrast. + - ``SMOOTH`` + Smooth -- Smooth colors. + - ``RED`` + Red -- Change red channel. + - ``GREEN`` + Green -- Change green channel. + - ``BLUE`` + Blue -- Change blue channel. + :type type: Literal['FILL', 'HUE', 'SATURATION', 'VALUE', 'BRIGHTNESS', 'CONTRAST', 'SMOOTH', 'RED', 'GREEN', 'BLUE'] + :param fill_color: Fill Color, (array of 3 items, in [0, inf], optional) + :type fill_color: :class:`mathutils.Color` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: detail_flood_fill() + + Flood fill the mesh with the selected detail setting + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: dynamic_topology_toggle() + + Dynamic topology alters the mesh topology while sculpting + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: dyntopo_detail_size_edit() + + Modify the detail size of dyntopo interactively + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: expand(*, target='MASK', falloff_type='GEODESIC', invert=False, use_mask_preserve=False, use_falloff_gradient=False, use_modify_active=False, use_reposition_pivot=True, max_geodesic_move_preview=10000, use_auto_mask=False, normal_falloff_smooth=2) + + Generic sculpt expand operator + + :param target: Data Target, Data that is going to be modified in the expand operation (optional) + :type target: Literal['MASK', 'FACE_SETS', 'COLOR'] + :param falloff_type: Falloff Type, Initial falloff of the expand operation (optional) + :type falloff_type: Literal['GEODESIC', 'TOPOLOGY', 'TOPOLOGY_DIAGONALS', 'NORMALS', 'SPHERICAL', 'BOUNDARY_TOPOLOGY', 'BOUNDARY_FACE_SET', 'ACTIVE_FACE_SET'] + :param invert: Invert, Invert the expand active elements (optional) + :type invert: bool + :param use_mask_preserve: Preserve Previous, Preserve the previous state of the target data (optional) + :type use_mask_preserve: bool + :param use_falloff_gradient: Falloff Gradient, Expand Using a linear falloff (optional) + :type use_falloff_gradient: bool + :param use_modify_active: Modify Active, Modify the active face set instead of creating a new one (optional) + :type use_modify_active: bool + :param use_reposition_pivot: Reposition Pivot, Reposition the sculpt transform pivot to the boundary of the expand active area (optional) + :type use_reposition_pivot: bool + :param max_geodesic_move_preview: Max Vertex Count for Geodesic Move Preview, Maximum number of vertices in the mesh for using geodesic falloff when moving the origin of expand. If the total number of vertices is greater than this value, the falloff will be set to spherical when moving (in [0, inf], optional) + :type max_geodesic_move_preview: int + :param use_auto_mask: Auto Create, Fill in mask if nothing is already masked (optional) + :type use_auto_mask: bool + :param normal_falloff_smooth: Normal Smooth, Blurring steps for normal falloff (in [0, 10], optional) + :type normal_falloff_smooth: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_set_box_gesture(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, use_front_faces_only=False) + + Add a face set in a rectangle defined by the cursor + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_set_change_visibility(*, mode='TOGGLE', active_face_set=0) + + Change the visibility of the face sets of the sculpt + + :param mode: Mode, (optional) + + - ``TOGGLE`` + Toggle Visibility -- Hide all face sets except for the active one. + - ``SHOW_ACTIVE`` + Show Active Face Set -- Show the active face set. + - ``HIDE_ACTIVE`` + Hide Active Face Set -- Hide the active face set. + :type mode: Literal['TOGGLE', 'SHOW_ACTIVE', 'HIDE_ACTIVE'] + :param active_face_set: Active Face Set, (in [0, inf], optional) + :type active_face_set: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_set_edit(*, active_face_set=1, mode='GROW', strength=1.0, modify_hidden=False) + + Edits the current active face set + + :param active_face_set: Active Face Set, (in [0, inf], optional) + :type active_face_set: int + :param mode: Mode, (optional) + + - ``GROW`` + Grow Face Set -- Grows the face set boundary by one face based on mesh topology. + - ``SHRINK`` + Shrink Face Set -- Shrinks the face set boundary by one face based on mesh topology. + - ``DELETE_GEOMETRY`` + Delete Geometry -- Deletes the faces that are assigned to the face set. + - ``FAIR_POSITIONS`` + Fair Positions -- Creates the smoothest possible geometry patch from the face set minimizing changes in vertex positions. + - ``FAIR_TANGENCY`` + Fair Tangency -- Creates the smoothest possible geometry patch from the face set minimizing changes in vertex tangents. + :type mode: Literal['GROW', 'SHRINK', 'DELETE_GEOMETRY', 'FAIR_POSITIONS', 'FAIR_TANGENCY'] + :param strength: Strength, (in [0, 1], optional) + :type strength: float + :param modify_hidden: Modify Hidden, Apply the edit operation to hidden geometry (optional) + :type modify_hidden: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_set_extract(*, add_boundary_loop=True, smooth_iterations=4, apply_shrinkwrap=True, add_solidify=True) + + Create a new mesh object from the selected face set + + :param add_boundary_loop: Add Boundary Loop, Add an extra edge loop to better preserve the shape when applying a subdivision surface modifier (optional) + :type add_boundary_loop: bool + :param smooth_iterations: Smooth Iterations, Smooth iterations applied to the extracted mesh (in [0, inf], optional) + :type smooth_iterations: int + :param apply_shrinkwrap: Project to Sculpt, Project the extracted mesh into the original sculpt (optional) + :type apply_shrinkwrap: bool + :param add_solidify: Extract as Solid, Extract the mask as a solid object with a solidify modifier (optional) + :type add_solidify: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_set_lasso_gesture(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, use_front_faces_only=False) + + Add a face set in a shape defined by the cursor + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_set_line_gesture(*, xstart=0, xend=0, ystart=0, yend=0, flip=False, cursor=5, use_front_faces_only=False, use_limit_to_segment=False) + + Add a face set to one side of a line defined by the cursor + + :param xstart: X Start, (in [-inf, inf], optional) + :type xstart: int + :param xend: X End, (in [-inf, inf], optional) + :type xend: int + :param ystart: Y Start, (in [-inf, inf], optional) + :type ystart: int + :param yend: Y End, (in [-inf, inf], optional) + :type yend: int + :param flip: Flip, (optional) + :type flip: bool + :param cursor: Cursor, Mouse cursor style to use during the modal operator (in [0, inf], optional) + :type cursor: int + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :param use_limit_to_segment: Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line (optional) + :type use_limit_to_segment: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_set_polyline_gesture(*, path=None, use_front_faces_only=False) + + Add a face set in a shape defined by the cursor + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_sets_create(*, mode='MASKED') + + Create a new face set + + :param mode: Mode, (optional) + + - ``MASKED`` + Face Set from Masked -- Create a new face set from the masked faces. + - ``VISIBLE`` + Face Set from Visible -- Create a new face set from the visible vertices. + - ``ALL`` + Face Set Full Mesh -- Create a unique face set with all faces in the sculpt. + - ``SELECTION`` + Face Set from Edit Mode Selection -- Create a face set corresponding to the Edit Mode face selection. + :type mode: Literal['MASKED', 'VISIBLE', 'ALL', 'SELECTION'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_sets_init(*, mode='LOOSE_PARTS', threshold=0.5) + + Initializes all face sets in the mesh + + :param mode: Mode, (optional) + + - ``LOOSE_PARTS`` + Face Sets from Loose Parts -- Create a face set per loose part in the mesh. + - ``MATERIALS`` + Face Sets from Material Slots -- Create a face set per material slot. + - ``NORMALS`` + Face Sets from Mesh Normals -- Create face sets for faces that have similar normal. + - ``UV_SEAMS`` + Face Sets from UV Seams -- Create face sets using UV seams as boundaries. + - ``CREASES`` + Face Sets from Edge Creases -- Create face sets using edge creases as boundaries. + - ``BEVEL_WEIGHT`` + Face Sets from Bevel Weight -- Create face sets using bevel weights as boundaries. + - ``SHARP_EDGES`` + Face Sets from Sharp Edges -- Create face sets using sharp edges as boundaries. + - ``FACE_SET_BOUNDARIES`` + Face Sets from Face Set Boundaries -- Create a face set per isolated face set. + :type mode: Literal['LOOSE_PARTS', 'MATERIALS', 'NORMALS', 'UV_SEAMS', 'CREASES', 'BEVEL_WEIGHT', 'SHARP_EDGES', 'FACE_SET_BOUNDARIES'] + :param threshold: Threshold, Minimum value to consider a certain attribute a boundary when creating the face sets (in [0, 1], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: face_sets_randomize_colors() + + Generates a new set of random colors to render the face sets in the viewport + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: mask_by_color(*, contiguous=False, invert=False, preserve_previous_mask=False, threshold=0.35, location=(0, 0)) + + Creates a mask based on the active color attribute + + :param contiguous: Contiguous, Mask only contiguous color areas (optional) + :type contiguous: bool + :param invert: Invert, Invert the generated mask (optional) + :type invert: bool + :param preserve_previous_mask: Preserve Previous Mask, Preserve the previous mask and add or subtract the new one generated by the colors (optional) + :type preserve_previous_mask: bool + :param threshold: Threshold, How much changes in color affect the mask generation (in [0, 1], optional) + :type threshold: float + :param location: Location, Region coordinates of sampling (array of 2 items, in [0, 32767], optional) + :type location: Sequence[int] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mask_filter(*, filter_type='SMOOTH', iterations=1, auto_iteration_count=True) + + Applies a filter to modify the current mask + + :param filter_type: Type, Filter that is going to be applied to the mask (optional) + :type filter_type: Literal['SMOOTH', 'SHARPEN', 'GROW', 'SHRINK', 'CONTRAST_INCREASE', 'CONTRAST_DECREASE'] + :param iterations: Iterations, Number of times that the filter is going to be applied (in [1, 100], optional) + :type iterations: int + :param auto_iteration_count: Auto Iteration Count, Use an automatic number of iterations based on the number of vertices of the sculpt (optional) + :type auto_iteration_count: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mask_from_boundary(*, mix_mode='MIX', mix_factor=1.0, settings_source='OPERATOR', boundary_mode='MESH', propagation_steps=1) + + Creates a mask based on the boundaries of the surface + + :param mix_mode: Mode, Mix mode (optional) + :type mix_mode: Literal['MIX', 'MULTIPLY', 'DIVIDE', 'ADD', 'SUBTRACT'] + :param mix_factor: Mix Factor, (in [0, 5], optional) + :type mix_factor: float + :param settings_source: Settings, Use settings from here (optional) + + - ``OPERATOR`` + Operator -- Use settings from operator properties. + - ``BRUSH`` + Brush -- Use settings from brush. + - ``SCENE`` + Scene -- Use settings from scene. + :type settings_source: Literal['OPERATOR', 'BRUSH', 'SCENE'] + :param boundary_mode: Mode, Boundary type to mask (optional) + + - ``MESH`` + Mesh -- Calculate the boundary mask based on disconnected mesh topology islands. + - ``FACE_SETS`` + Face Sets -- Calculate the boundary mask between face sets. + :type boundary_mode: Literal['MESH', 'FACE_SETS'] + :param propagation_steps: Propagation Steps, (in [1, 20], optional) + :type propagation_steps: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mask_from_cavity(*, mix_mode='MIX', mix_factor=1.0, settings_source='OPERATOR', factor=0.5, blur_steps=2, use_curve=False, invert=False) + + Creates a mask based on the curvature of the surface + + :param mix_mode: Mode, Mix mode (optional) + :type mix_mode: Literal['MIX', 'MULTIPLY', 'DIVIDE', 'ADD', 'SUBTRACT'] + :param mix_factor: Mix Factor, (in [0, 5], optional) + :type mix_factor: float + :param settings_source: Settings, Use settings from here (optional) + + - ``OPERATOR`` + Operator -- Use settings from operator properties. + - ``BRUSH`` + Brush -- Use settings from brush. + - ``SCENE`` + Scene -- Use settings from scene. + :type settings_source: Literal['OPERATOR', 'BRUSH', 'SCENE'] + :param factor: Factor, The contrast of the cavity mask (in [0, 5], optional) + :type factor: float + :param blur_steps: Blur, The number of times the cavity mask is blurred (in [0, 25], optional) + :type blur_steps: int + :param use_curve: Custom Curve, (optional) + :type use_curve: bool + :param invert: Cavity (Inverted), (optional) + :type invert: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mask_init(*, mode='RANDOM_PER_VERTEX') + + Creates a new mask for the entire mesh + + :param mode: Mode, (optional) + :type mode: Literal['RANDOM_PER_VERTEX', 'RANDOM_PER_FACE_SET', 'RANDOM_PER_LOOSE_PART'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mesh_filter(*, start_mouse=(0, 0), area_normal_radius=0.25, strength=1.0, iteration_count=1, event_history=None, type='INFLATE', deform_axis={'X', 'Y', 'Z'}, orientation='LOCAL', surface_smooth_shape_preservation=0.5, surface_smooth_current_vertex=0.5, sharpen_smooth_ratio=0.35, sharpen_intensify_detail_strength=0.0, sharpen_curvature_smooth_iterations=0) + + Applies a filter to modify the current mesh + + :param start_mouse: Starting Mouse, (array of 2 items, in [0, 16384], optional) + :type start_mouse: Sequence[int] + :param area_normal_radius: Normal Radius, Radius used for calculating area normal on initial click,in percentage of brush radius(in [0.001, 5], optional) + :type area_normal_radius: float + :param strength: Strength, Filter strength (in [-10, 10], optional) + :type strength: float + :param iteration_count: Repeat, How many times to repeat the filter (in [1, 10000], optional) + :type iteration_count: int + :param event_history: (optional) + :type event_history: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param type: Filter Type, Operation that is going to be applied to the mesh (optional) + + - ``SMOOTH`` + Smooth -- Smooth mesh. + - ``SCALE`` + Scale -- Scale mesh. + - ``INFLATE`` + Inflate -- Inflate mesh. + - ``SPHERE`` + Sphere -- Morph into sphere. + - ``RANDOM`` + Random -- Randomize vertex positions. + - ``RELAX`` + Relax -- Relax mesh. + - ``RELAX_FACE_SETS`` + Relax Face Sets -- Smooth the edges of all the face sets. + - ``SURFACE_SMOOTH`` + Surface Smooth -- Smooth the surface of the mesh, preserving the volume. + - ``SHARPEN`` + Sharpen -- Sharpen the cavities of the mesh. + - ``ENHANCE_DETAILS`` + Enhance Details -- Enhance the high frequency surface detail. + - ``ERASE_DISPLACEMENT`` + Erase Displacement -- Deletes the displacement of the Multires Modifier. + :type type: Literal['SMOOTH', 'SCALE', 'INFLATE', 'SPHERE', 'RANDOM', 'RELAX', 'RELAX_FACE_SETS', 'SURFACE_SMOOTH', 'SHARPEN', 'ENHANCE_DETAILS', 'ERASE_DISPLACEMENT'] + :param deform_axis: Deform Axis, Apply the deformation in the selected axis (optional) + + - ``X`` + X -- Deform in the X axis. + - ``Y`` + Y -- Deform in the Y axis. + - ``Z`` + Z -- Deform in the Z axis. + :type deform_axis: set[Literal['X', 'Y', 'Z']] + :param orientation: Orientation, Orientation of the axis to limit the filter displacement (optional) + + - ``LOCAL`` + Local -- Use the local axis to limit the displacement. + - ``WORLD`` + World -- Use the global axis to limit the displacement. + - ``VIEW`` + View -- Use the view axis to limit the displacement. + :type orientation: Literal['LOCAL', 'WORLD', 'VIEW'] + :param surface_smooth_shape_preservation: Shape Preservation, How much of the original shape is preserved when smoothing (in [0, 1], optional) + :type surface_smooth_shape_preservation: float + :param surface_smooth_current_vertex: Per Vertex Displacement, How much the position of each individual vertex influences the final result (in [0, 1], optional) + :type surface_smooth_current_vertex: float + :param sharpen_smooth_ratio: Smooth Ratio, How much smoothing is applied to polished surfaces (in [0, 1], optional) + :type sharpen_smooth_ratio: float + :param sharpen_intensify_detail_strength: Intensify Details, How much creases and valleys are intensified (in [0, 10], optional) + :type sharpen_intensify_detail_strength: float + :param sharpen_curvature_smooth_iterations: Curvature Smooth Iterations, How much smooth the resulting shape is, ignoring high frequency details (in [0, 10], optional) + :type sharpen_curvature_smooth_iterations: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: optimize() + + Recalculate the sculpt BVH to improve performance + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: paint_mask_extract(*, mask_threshold=0.5, add_boundary_loop=True, smooth_iterations=4, apply_shrinkwrap=True, add_solidify=True) + + Create a new mesh object from the current paint mask + + :param mask_threshold: Threshold, Minimum mask value to consider the vertex valid to extract a face from the original mesh (in [0, 1], optional) + :type mask_threshold: float + :param add_boundary_loop: Add Boundary Loop, Add an extra edge loop to better preserve the shape when applying a subdivision surface modifier (optional) + :type add_boundary_loop: bool + :param smooth_iterations: Smooth Iterations, Smooth iterations applied to the extracted mesh (in [0, inf], optional) + :type smooth_iterations: int + :param apply_shrinkwrap: Project to Sculpt, Project the extracted mesh into the original sculpt (optional) + :type apply_shrinkwrap: bool + :param add_solidify: Extract as Solid, Extract the mask as a solid object with a solidify modifier (optional) + :type add_solidify: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paint_mask_slice(*, mask_threshold=0.5, fill_holes=True, new_object=True) + + Slices the paint mask from the mesh + + :param mask_threshold: Threshold, Minimum mask value to consider the vertex valid to extract a face from the original mesh (in [0, 1], optional) + :type mask_threshold: float + :param fill_holes: Fill Holes, Fill holes after slicing the mask (optional) + :type fill_holes: bool + :param new_object: Slice to New Object, Create a new object from the sliced mask (optional) + :type new_object: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: project_line_gesture(*, xstart=0, xend=0, ystart=0, yend=0, flip=False, cursor=5, use_front_faces_only=False, use_limit_to_segment=False) + + Project the geometry onto a plane defined by a line + + :param xstart: X Start, (in [-inf, inf], optional) + :type xstart: int + :param xend: X End, (in [-inf, inf], optional) + :type xend: int + :param ystart: Y Start, (in [-inf, inf], optional) + :type ystart: int + :param yend: Y End, (in [-inf, inf], optional) + :type yend: int + :param flip: Flip, (optional) + :type flip: bool + :param cursor: Cursor, Mouse cursor style to use during the modal operator (in [0, inf], optional) + :type cursor: int + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :param use_limit_to_segment: Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line (optional) + :type use_limit_to_segment: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sample_detail_size(*, location=(0, 0), mode='DYNTOPO') + + Sample the mesh detail on clicked point + + :param location: Location, Screen coordinates of sampling (array of 2 items, in [0, 32767], optional) + :type location: Sequence[int] + :param mode: Detail Mode, Target sculpting workflow that is going to use the sampled size (optional) + + - ``DYNTOPO`` + Dyntopo -- Sample dyntopo detail. + - ``VOXEL`` + Voxel -- Sample mesh voxel size. + :type mode: Literal['DYNTOPO', 'VOXEL'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sculptmode_toggle() + + Toggle sculpt mode in 3D view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: set_persistent_base() + + Reset the copy of the mesh that is being sculpted on + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: set_pivot_position(*, mode='UNMASKED', mouse_x=0.0, mouse_y=0.0) + + Sets the sculpt transform pivot position + + :param mode: Mode, (optional) + + - ``ORIGIN`` + Origin -- Sets the pivot to the origin of the sculpt. + - ``UNMASKED`` + Unmasked -- Sets the pivot position to the average position of the unmasked vertices. + - ``BORDER`` + Mask Border -- Sets the pivot position to the center of the border of the mask. + - ``ACTIVE`` + Active Vertex -- Sets the pivot position to the active vertex position. + - ``SURFACE`` + Surface -- Sets the pivot position to the surface under the cursor. + :type mode: Literal['ORIGIN', 'UNMASKED', 'BORDER', 'ACTIVE', 'SURFACE'] + :param mouse_x: Mouse Position X, Position of the mouse used for "Surface" and "Active Vertex" mode (in [0, inf], optional) + :type mouse_x: float + :param mouse_y: Mouse Position Y, Position of the mouse used for "Surface" and "Active Vertex" mode (in [0, inf], optional) + :type mouse_y: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: symmetrize(*, merge_tolerance=0.0005) + + Symmetrize the topology modifications + + :param merge_tolerance: Merge Distance, Distance within which symmetrical vertices are merged (in [0, inf], optional) + :type merge_tolerance: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: trim_box_gesture(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, use_front_faces_only=False, location=(0, 0), trim_mode='DIFFERENCE', use_cursor_depth=False, trim_orientation='VIEW', trim_extrude_mode='FIXED', trim_solver='MANIFOLD') + + Execute a boolean operation on the mesh and a rectangle defined by the cursor + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :param location: Location, Mouse location (array of 2 items, in [-inf, inf], optional) + :type location: Sequence[int] + :param trim_mode: Trim Mode, (optional) + + - ``DIFFERENCE`` + Difference -- Use a difference boolean operation. + - ``UNION`` + Union -- Use a union boolean operation. + - ``JOIN`` + Join -- Join the new mesh as separate geometry, without performing any boolean operation. + :type trim_mode: Literal['DIFFERENCE', 'UNION', 'JOIN'] + :param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape (optional) + :type use_cursor_depth: bool + :param trim_orientation: Shape Orientation, (optional) + + - ``VIEW`` + View -- Use the view to orientate the trimming shape. + - ``SURFACE`` + Surface -- Use the surface normal to orientate the trimming shape. + :type trim_orientation: Literal['VIEW', 'SURFACE'] + :param trim_extrude_mode: Extrude Mode, (optional) + + - ``PROJECT`` + Project -- Align trim geometry with the perspective of the current view for a tapered shape. + - ``FIXED`` + Fixed -- Align trim geometry orthogonally for a shape with 90 degree angles. + :type trim_extrude_mode: Literal['PROJECT', 'FIXED'] + :param trim_solver: Solver, (optional) + + - ``EXACT`` + Exact -- Slower solver with the best results for coplanar faces. + - ``FLOAT`` + Float -- Simple solver with good performance, without support for overlapping geometry. + - ``MANIFOLD`` + Manifold -- Fastest solver that works only on manifold meshes but gives better results. + :type trim_solver: Literal['EXACT', 'FLOAT', 'MANIFOLD'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: trim_lasso_gesture(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, use_front_faces_only=False, location=(0, 0), trim_mode='DIFFERENCE', use_cursor_depth=False, trim_orientation='VIEW', trim_extrude_mode='FIXED', trim_solver='MANIFOLD') + + Execute a boolean operation on the mesh and a shape defined by the cursor + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :param location: Location, Mouse location (array of 2 items, in [-inf, inf], optional) + :type location: Sequence[int] + :param trim_mode: Trim Mode, (optional) + + - ``DIFFERENCE`` + Difference -- Use a difference boolean operation. + - ``UNION`` + Union -- Use a union boolean operation. + - ``JOIN`` + Join -- Join the new mesh as separate geometry, without performing any boolean operation. + :type trim_mode: Literal['DIFFERENCE', 'UNION', 'JOIN'] + :param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape (optional) + :type use_cursor_depth: bool + :param trim_orientation: Shape Orientation, (optional) + + - ``VIEW`` + View -- Use the view to orientate the trimming shape. + - ``SURFACE`` + Surface -- Use the surface normal to orientate the trimming shape. + :type trim_orientation: Literal['VIEW', 'SURFACE'] + :param trim_extrude_mode: Extrude Mode, (optional) + + - ``PROJECT`` + Project -- Align trim geometry with the perspective of the current view for a tapered shape. + - ``FIXED`` + Fixed -- Align trim geometry orthogonally for a shape with 90 degree angles. + :type trim_extrude_mode: Literal['PROJECT', 'FIXED'] + :param trim_solver: Solver, (optional) + + - ``EXACT`` + Exact -- Slower solver with the best results for coplanar faces. + - ``FLOAT`` + Float -- Simple solver with good performance, without support for overlapping geometry. + - ``MANIFOLD`` + Manifold -- Fastest solver that works only on manifold meshes but gives better results. + :type trim_solver: Literal['EXACT', 'FLOAT', 'MANIFOLD'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: trim_line_gesture(*, xstart=0, xend=0, ystart=0, yend=0, flip=False, cursor=5, use_front_faces_only=False, use_limit_to_segment=False, location=(0, 0), trim_mode='DIFFERENCE', use_cursor_depth=False, trim_orientation='VIEW', trim_extrude_mode='FIXED', trim_solver='MANIFOLD') + + Remove a portion of the mesh on one side of a line + + :param xstart: X Start, (in [-inf, inf], optional) + :type xstart: int + :param xend: X End, (in [-inf, inf], optional) + :type xend: int + :param ystart: Y Start, (in [-inf, inf], optional) + :type ystart: int + :param yend: Y End, (in [-inf, inf], optional) + :type yend: int + :param flip: Flip, (optional) + :type flip: bool + :param cursor: Cursor, Mouse cursor style to use during the modal operator (in [0, inf], optional) + :type cursor: int + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :param use_limit_to_segment: Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line (optional) + :type use_limit_to_segment: bool + :param location: Location, Mouse location (array of 2 items, in [-inf, inf], optional) + :type location: Sequence[int] + :param trim_mode: Trim Mode, (optional) + + - ``DIFFERENCE`` + Difference -- Use a difference boolean operation. + - ``UNION`` + Union -- Use a union boolean operation. + - ``JOIN`` + Join -- Join the new mesh as separate geometry, without performing any boolean operation. + :type trim_mode: Literal['DIFFERENCE', 'UNION', 'JOIN'] + :param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape (optional) + :type use_cursor_depth: bool + :param trim_orientation: Shape Orientation, (optional) + + - ``VIEW`` + View -- Use the view to orientate the trimming shape. + - ``SURFACE`` + Surface -- Use the surface normal to orientate the trimming shape. + :type trim_orientation: Literal['VIEW', 'SURFACE'] + :param trim_extrude_mode: Extrude Mode, (optional) + + - ``PROJECT`` + Project -- Align trim geometry with the perspective of the current view for a tapered shape. + - ``FIXED`` + Fixed -- Align trim geometry orthogonally for a shape with 90 degree angles. + :type trim_extrude_mode: Literal['PROJECT', 'FIXED'] + :param trim_solver: Solver, (optional) + + - ``EXACT`` + Exact -- Slower solver with the best results for coplanar faces. + - ``FLOAT`` + Float -- Simple solver with good performance, without support for overlapping geometry. + - ``MANIFOLD`` + Manifold -- Fastest solver that works only on manifold meshes but gives better results. + :type trim_solver: Literal['EXACT', 'FLOAT', 'MANIFOLD'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: trim_polyline_gesture(*, path=None, use_front_faces_only=False, location=(0, 0), trim_mode='DIFFERENCE', use_cursor_depth=False, trim_orientation='VIEW', trim_extrude_mode='FIXED', trim_solver='MANIFOLD') + + Execute a boolean operation on the mesh and a polygonal shape defined by the cursor + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view (optional) + :type use_front_faces_only: bool + :param location: Location, Mouse location (array of 2 items, in [-inf, inf], optional) + :type location: Sequence[int] + :param trim_mode: Trim Mode, (optional) + + - ``DIFFERENCE`` + Difference -- Use a difference boolean operation. + - ``UNION`` + Union -- Use a union boolean operation. + - ``JOIN`` + Join -- Join the new mesh as separate geometry, without performing any boolean operation. + :type trim_mode: Literal['DIFFERENCE', 'UNION', 'JOIN'] + :param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape (optional) + :type use_cursor_depth: bool + :param trim_orientation: Shape Orientation, (optional) + + - ``VIEW`` + View -- Use the view to orientate the trimming shape. + - ``SURFACE`` + Surface -- Use the surface normal to orientate the trimming shape. + :type trim_orientation: Literal['VIEW', 'SURFACE'] + :param trim_extrude_mode: Extrude Mode, (optional) + + - ``PROJECT`` + Project -- Align trim geometry with the perspective of the current view for a tapered shape. + - ``FIXED`` + Fixed -- Align trim geometry orthogonally for a shape with 90 degree angles. + :type trim_extrude_mode: Literal['PROJECT', 'FIXED'] + :param trim_solver: Solver, (optional) + + - ``EXACT`` + Exact -- Slower solver with the best results for coplanar faces. + - ``FLOAT`` + Float -- Simple solver with good performance, without support for overlapping geometry. + - ``MANIFOLD`` + Manifold -- Fastest solver that works only on manifold meshes but gives better results. + :type trim_solver: Literal['EXACT', 'FLOAT', 'MANIFOLD'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: uv_sculpt_grab(*, use_invert=False) + + Grab UVs + + :param use_invert: Invert, Invert action for the duration of the stroke (optional) + :type use_invert: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: uv_sculpt_pinch(*, use_invert=False) + + Pinch UVs + + :param use_invert: Invert, Invert action for the duration of the stroke (optional) + :type use_invert: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: uv_sculpt_relax(*, use_invert=False, relax_method='LAPLACIAN') + + Relax UVs + + :param use_invert: Invert, Invert action for the duration of the stroke (optional) + :type use_invert: bool + :param relax_method: Relax Method, Algorithm used for UV relaxation (optional) + + - ``LAPLACIAN`` + Laplacian -- Use Laplacian method for relaxation. + - ``HC`` + HC -- Use HC method for relaxation. + - ``COTAN`` + Geometry -- Use Geometry (cotangent) relaxation, making UVs follow the underlying 3D geometry. + :type relax_method: Literal['LAPLACIAN', 'HC', 'COTAN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sculpt_curves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sculpt_curves.rst new file mode 100644 index 0000000..1ef61d7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sculpt_curves.rst @@ -0,0 +1,66 @@ +Sculpt Curves Operators +======================= + +.. module:: bpy.ops.sculpt_curves + +.. function:: brush_stroke(*, stroke=None, mode='NORMAL', brush_toggle='None', pen_flip=False) + + Sculpt curves using a brush + + :param stroke: Stroke, (optional) + :type stroke: :class:`bpy_prop_collection`\ [:class:`OperatorStrokeElement`] | None + :param mode: Stroke Mode, Action taken when a paint stroke is made (optional) + + - ``NORMAL`` + Regular -- Apply brush normally. + - ``INVERT`` + Invert -- Invert action of brush for duration of stroke. + :type mode: Literal['NORMAL', 'INVERT'] + :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke (optional) + + - ``None`` + None -- Apply brush normally. + - ``SMOOTH`` + Smooth -- Switch to smooth brush for duration of stroke. + - ``ERASE`` + Erase -- Switch to erase brush for duration of stroke. + - ``MASK`` + Mask -- Switch to mask brush for duration of stroke. + :type brush_toggle: Literal['None', 'SMOOTH', 'ERASE', 'MASK'] + :param pen_flip: Pen Flip, Whether a tablet's eraser mode is being used (optional) + :type pen_flip: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: min_distance_edit() + + Change the minimum distance used by the density brush + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_grow(*, distance=0.1) + + Select curves which are close to curves that are selected already + + :param distance: Distance, By how much to grow the selection (in [-inf, inf], optional) + :type distance: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_random(*, seed=0, partial=False, probability=0.5, min=0.0, constant_per_curve=True) + + Randomizes existing selection or create new random selection + + :param seed: Seed, Source of randomness (in [-inf, inf], optional) + :type seed: int + :param partial: Partial, Allow points or curves to be selected partially (optional) + :type partial: bool + :param probability: Probability, Chance of every point or curve being included in the selection (in [0, 1], optional) + :type probability: float + :param min: Min, Minimum value for the random selection (in [0, 1], optional) + :type min: float + :param constant_per_curve: Constant per Curve, The generated random number is the same for every control point of a curve (optional) + :type constant_per_curve: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sequencer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sequencer.rst new file mode 100644 index 0000000..0090a8e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sequencer.rst @@ -0,0 +1,1695 @@ +Sequencer Operators +=================== + +.. module:: bpy.ops.sequencer + +.. function:: add_scene_strip_from_scene_asset(*, move_strips=True, frame_start=0, channel=1, replace_sel=True, overlap=False, overlap_shuffle_override=False, skip_locked_or_muted_channels=True, asset_library_type='LOCAL', asset_library_identifier="", relative_asset_identifier="") + + Add a strip using a duplicate of this scene asset as the source + + :param move_strips: Move Strips, Automatically begin translating strips with the mouse after adding them to the timeline (optional) + :type move_strips: bool + :param frame_start: Start Frame, Start frame of the strip (in [-inf, inf], optional) + :type frame_start: int + :param channel: Channel, Channel to place this strip into (in [1, 128], optional) + :type channel: int + :param replace_sel: Replace Selection, Deselect previously selected strips after add operation completes (optional) + :type replace_sel: bool + :param overlap: Allow Overlap, Don't correct overlap on new strips (optional) + :type overlap: bool + :param overlap_shuffle_override: Override Overlap Shuffle Behavior, Use the overlap_mode tool settings to determine how to shuffle overlapping strips (optional) + :type overlap_shuffle_override: bool + :param skip_locked_or_muted_channels: Skip Locked or Muted Channels, Add strips to muted or locked channels when adding movie strips (optional) + :type skip_locked_or_muted_channels: bool + :param asset_library_type: Asset Library Type, (optional) + :type asset_library_type: Literal[:ref:`rna_enum_asset_library_type_items`] + :param asset_library_identifier: Asset Library Identifier, (optional, never None) + :type asset_library_identifier: str + :param relative_asset_identifier: Relative Asset Identifier, (optional, never None) + :type relative_asset_identifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: box_blade(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET', type='SOFT', ignore_selection=True, ignore_connections=False, remove_gaps=True) + + Draw a box around the parts of strips you want to cut away + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :param type: Type, The type of split operation to perform on strips (optional) + :type type: Literal['SOFT', 'HARD'] + :param ignore_selection: Ignore Selection, In box blade mode, make cuts to all strips, even if they are not selected (optional) + :type ignore_selection: bool + :param ignore_connections: Ignore Connections, Don't propagate split to connected strips (optional) + :type ignore_connections: bool + :param remove_gaps: Remove Gaps, In box blade mode, close gaps between cut strips, rippling later strips on the same channel (optional) + :type remove_gaps: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: change_effect_type(*, type='CROSS') + + Replace effect strip with another that takes the same number of inputs + + :param type: Type, Strip effect type (optional) + + - ``CROSS`` + Crossfade -- Fade out of one video, fading into another. + - ``ADD`` + Add -- Add together color channels from two videos. + - ``SUBTRACT`` + Subtract -- Subtract one strip's color from another. + - ``ALPHA_OVER`` + Alpha Over -- Blend alpha on top of another video. + - ``ALPHA_UNDER`` + Alpha Under -- Blend alpha below another video. + - ``GAMMA_CROSS`` + Gamma Crossfade -- Crossfade with color correction. + - ``MULTIPLY`` + Multiply -- Multiply color channels from two videos. + - ``WIPE`` + Wipe -- Sweep a transition line across the frame. + - ``GLOW`` + Glow -- Add blur and brightness to light areas. + - ``COLOR`` + Color -- Add a simple color strip. + - ``SPEED`` + Speed -- Timewarp video strips, modifying playback speed. + - ``MULTICAM`` + Multicam Selector -- Control active camera angles. + - ``ADJUSTMENT`` + Adjustment Layer -- Apply nondestructive effects. + - ``GAUSSIAN_BLUR`` + Gaussian Blur -- Soften details along axes. + - ``TEXT`` + Text -- Add a simple text strip. + - ``COLORMIX`` + Color Mix -- Combine two strips using blend modes. + :type type: Literal['CROSS', 'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER', 'GAMMA_CROSS', 'MULTIPLY', 'WIPE', 'GLOW', 'COLOR', 'SPEED', 'MULTICAM', 'ADJUSTMENT', 'GAUSSIAN_BLUR', 'TEXT', 'COLORMIX'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: change_path(*, filepath="", directory="", files=None, hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, display_type='DEFAULT', sort_method='', use_placeholders=False) + + Undocumented, consider `contributing `__. + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param use_placeholders: Use Placeholders, Use placeholders for missing frames of the strip (optional) + :type use_placeholders: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: change_scene(*, scene='') + + Change Scene assigned to Strip + + :param scene: Scene, (optional) + :type scene: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: connect(*, toggle=True) + + Link selected strips together for simplified group selection + + :param toggle: Toggle, Toggle strip connections (optional) + :type toggle: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy() + + Copy the selected strips to the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: crossfade_sounds() + + Do cross-fading volume animation of two selected sound strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/sequencer.py\:43 `__ + +.. function:: cursor_set(*, location=(0.0, 0.0)) + + Set 2D cursor location + + :param location: Location, Cursor location in normalized preview coordinates (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: deinterlace_selected_movies() + + Deinterlace all selected movie sources + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/sequencer.py\:134 `__ + +.. function:: delete(*, delete_data=False) + + Delete selected strips from the sequencer + + :param delete_data: Delete Data, After removing the Strip, delete the associated data also (optional) + :type delete_data: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: disconnect() + + Unlink selected strips so that they can be selected individually + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate(*, linked=False) + + Duplicate the selected strips + + :param linked: Linked, Duplicate strip but not strip data, linking to the original data (optional) + :type linked: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_move(*, SEQUENCER_OT_duplicate={}, TRANSFORM_OT_seq_slide={}) + + Duplicate selected strips and move them + + :param SEQUENCER_OT_duplicate: Duplicate Strips, Duplicate the selected strips (optional, :func:`bpy.ops.sequencer.duplicate` keyword arguments) + :type SEQUENCER_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_seq_slide: Sequence Slide, Slide a sequence strip in time (optional, :func:`bpy.ops.transform.seq_slide` keyword arguments) + :type TRANSFORM_OT_seq_slide: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_move_linked(*, SEQUENCER_OT_duplicate={}, TRANSFORM_OT_seq_slide={}) + + Duplicate selected strips, but not their data, and move them + + :param SEQUENCER_OT_duplicate: Duplicate Strips, Duplicate the selected strips (optional, :func:`bpy.ops.sequencer.duplicate` keyword arguments) + :type SEQUENCER_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_seq_slide: Sequence Slide, Slide a sequence strip in time (optional, :func:`bpy.ops.transform.seq_slide` keyword arguments) + :type TRANSFORM_OT_seq_slide: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: effect_strip_add(*, type='CROSS', move_strips=True, frame_start=0, length=0, channel=1, replace_sel=True, overlap=False, overlap_shuffle_override=False, skip_locked_or_muted_channels=True, color=(0.0, 0.0, 0.0)) + + Add an effect to the sequencer, most are applied on top of existing strips + + :param type: Type, Sequencer effect type (optional) + + - ``CROSS`` + Crossfade -- Fade out of one video, fading into another. + - ``ADD`` + Add -- Add together color channels from two videos. + - ``SUBTRACT`` + Subtract -- Subtract one strip's color from another. + - ``ALPHA_OVER`` + Alpha Over -- Blend alpha on top of another video. + - ``ALPHA_UNDER`` + Alpha Under -- Blend alpha below another video. + - ``GAMMA_CROSS`` + Gamma Crossfade -- Crossfade with color correction. + - ``MULTIPLY`` + Multiply -- Multiply color channels from two videos. + - ``WIPE`` + Wipe -- Sweep a transition line across the frame. + - ``GLOW`` + Glow -- Add blur and brightness to light areas. + - ``COLOR`` + Color -- Add a simple color strip. + - ``SPEED`` + Speed -- Timewarp video strips, modifying playback speed. + - ``MULTICAM`` + Multicam Selector -- Control active camera angles. + - ``ADJUSTMENT`` + Adjustment Layer -- Apply nondestructive effects. + - ``GAUSSIAN_BLUR`` + Gaussian Blur -- Soften details along axes. + - ``TEXT`` + Text -- Add a simple text strip. + - ``COLORMIX`` + Color Mix -- Combine two strips using blend modes. + :type type: Literal['CROSS', 'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER', 'GAMMA_CROSS', 'MULTIPLY', 'WIPE', 'GLOW', 'COLOR', 'SPEED', 'MULTICAM', 'ADJUSTMENT', 'GAUSSIAN_BLUR', 'TEXT', 'COLORMIX'] + :param move_strips: Move Strips, Automatically begin translating strips with the mouse after adding them to the timeline (optional) + :type move_strips: bool + :param frame_start: Start Frame, Start frame of the strip (in [-inf, inf], optional) + :type frame_start: int + :param length: Length, Length of the strip in frames, or the length of each strip if multiple are added (in [-inf, inf], optional) + :type length: int + :param channel: Channel, Channel to place this strip into (in [1, 128], optional) + :type channel: int + :param replace_sel: Replace Selection, Deselect previously selected strips after add operation completes (optional) + :type replace_sel: bool + :param overlap: Allow Overlap, Don't correct overlap on new strips (optional) + :type overlap: bool + :param overlap_shuffle_override: Override Overlap Shuffle Behavior, Use the overlap_mode tool settings to determine how to shuffle overlapping strips (optional) + :type overlap_shuffle_override: bool + :param skip_locked_or_muted_channels: Skip Locked or Muted Channels, Add strips to muted or locked channels when adding movie strips (optional) + :type skip_locked_or_muted_channels: bool + :param color: Color, Initialize the strip with this color (array of 3 items, in [0, 1], optional) + :type color: :class:`mathutils.Color` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: enable_proxies(*, proxy_25=False, proxy_50=False, proxy_75=False, proxy_100=False, overwrite=False) + + Enable selected proxies on all selected Movie and Image strips + + :param proxy_25: 25%, (optional) + :type proxy_25: bool + :param proxy_50: 50%, (optional) + :type proxy_50: bool + :param proxy_75: 75%, (optional) + :type proxy_75: bool + :param proxy_100: 100%, (optional) + :type proxy_100: bool + :param overwrite: Overwrite, (optional) + :type overwrite: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: export_subtitles(*, filepath="", hide_props_region=True, check_existing=True, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=8, display_type='DEFAULT', sort_method='') + + Export .srt file containing text strips + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: fades_add(*, duration_seconds=1.0, type='IN_OUT') + + Adds or updates a fade animation for either visual or audio strips + + :param duration_seconds: Fade Duration, Duration of the fade in seconds (in [0.01, inf], optional) + :type duration_seconds: float + :param type: Fade Type, Fade in, out, both in and out, to, or from the current frame. Default is both in and out (optional) + + - ``IN_OUT`` + Fade In and Out -- Fade selected strips in and out. + - ``IN`` + Fade In -- Fade in selected strips. + - ``OUT`` + Fade Out -- Fade out selected strips. + - ``CURSOR_FROM`` + From Current Frame -- Fade from the time cursor to the end of overlapping strips. + - ``CURSOR_TO`` + To Current Frame -- Fade from the start of strips under the time cursor to the current frame. + :type type: Literal['IN_OUT', 'IN', 'OUT', 'CURSOR_FROM', 'CURSOR_TO'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/sequencer.py\:221 `__ + + +.. function:: fades_clear() + + Removes fade animation from selected strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/sequencer.py\:157 `__ + +.. function:: gap_insert(*, frames=10) + + Insert gap at current frame to first strips at the right, independent of selection or locked state of strips + + :param frames: Frames, Frames to insert after current strip (in [0, inf], optional) + :type frames: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: gap_remove(*, all=False) + + Remove gap at current frame to first strip at the right, independent of selection or locked state of strips + + :param all: All Gaps, Do all gaps to right of current frame (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: image_strip_add(*, directory="", files=None, check_existing=False, filter_blender=False, filter_backup=False, filter_image=True, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='', move_strips=True, frame_start=0, length=0, channel=1, replace_sel=True, overlap=False, overlap_shuffle_override=False, skip_locked_or_muted_channels=True, fit_method='FIT', set_view_transform=True, image_import_type='DETECT', use_sequence_detection=True, use_placeholders=False) + + Add an image or image sequence to the sequencer + + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + + - ``DEFAULT`` + Default -- Automatically determine sort method for files. + - ``FILE_SORT_ALPHA`` + Name -- Sort the file list alphabetically. + - ``FILE_SORT_EXTENSION`` + Extension -- Sort the file list by extension/type. + - ``FILE_SORT_TIME`` + Modified Date -- Sort files by modification time. + - ``FILE_SORT_SIZE`` + Size -- Sort files by size. + - ``ASSET_CATALOG`` + Asset Catalog -- Sort the asset list so that assets in the same catalog are kept together. Within a single catalog, assets are ordered by name. The catalogs are in order of the flattened catalog hierarchy.. + :type sort_method: Literal['', 'DEFAULT', 'FILE_SORT_ALPHA', 'FILE_SORT_EXTENSION', 'FILE_SORT_TIME', 'FILE_SORT_SIZE', 'ASSET_CATALOG'] + :param move_strips: Move Strips, Automatically begin translating strips with the mouse after adding them to the timeline (optional) + :type move_strips: bool + :param frame_start: Start Frame, Start frame of the strip (in [-inf, inf], optional) + :type frame_start: int + :param length: Length, Length of the strip in frames, or the length of each strip if multiple are added (in [-inf, inf], optional) + :type length: int + :param channel: Channel, Channel to place this strip into (in [1, 128], optional) + :type channel: int + :param replace_sel: Replace Selection, Deselect previously selected strips after add operation completes (optional) + :type replace_sel: bool + :param overlap: Allow Overlap, Don't correct overlap on new strips (optional) + :type overlap: bool + :param overlap_shuffle_override: Override Overlap Shuffle Behavior, Use the overlap_mode tool settings to determine how to shuffle overlapping strips (optional) + :type overlap_shuffle_override: bool + :param skip_locked_or_muted_channels: Skip Locked or Muted Channels, Add strips to muted or locked channels when adding movie strips (optional) + :type skip_locked_or_muted_channels: bool + :param fit_method: Fit Method, Mode for fitting the image to the canvas (optional) + :type fit_method: Literal[:ref:`rna_enum_strip_scale_method_items`] + :param set_view_transform: Set View Transform, Set appropriate view transform based on media color space (optional) + :type set_view_transform: bool + :param image_import_type: Import As, Mode for importing selected images (optional) + + - ``DETECT`` + Auto Detect -- Add images as individual strips, unless their filenames match Blender's numbered sequence pattern, in which case they are grouped into a single image sequence. + - ``SEQUENCE`` + Image Sequence -- Import all selected images as a single image sequence. The sequence of images does not have to match Blender's numbered sequence pattern, so placeholders cannot be inferred. + - ``INDIVIDUAL`` + Individual Images -- Add each selected image as an individual strip. + :type image_import_type: Literal['DETECT', 'SEQUENCE', 'INDIVIDUAL'] + :param use_sequence_detection: Detect Sequences, Automatically detect animated sequences in selected images (based on file names) (optional) + :type use_sequence_detection: bool + :param use_placeholders: Use Placeholders, Reserve placeholder frames for missing frames of the image sequence (optional) + :type use_placeholders: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: images_separate(*, length=1) + + On image sequence strips, it returns a strip for each image + + :param length: Length, Length of each frame (in [1, inf], optional) + :type length: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: lock() + + Lock strips so they cannot be transformed + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: mask_strip_add(*, move_strips=True, frame_start=0, channel=1, replace_sel=True, overlap=False, overlap_shuffle_override=False, skip_locked_or_muted_channels=True, mask='') + + Add a mask strip to the sequencer + + :param move_strips: Move Strips, Automatically begin translating strips with the mouse after adding them to the timeline (optional) + :type move_strips: bool + :param frame_start: Start Frame, Start frame of the strip (in [-inf, inf], optional) + :type frame_start: int + :param channel: Channel, Channel to place this strip into (in [1, 128], optional) + :type channel: int + :param replace_sel: Replace Selection, Deselect previously selected strips after add operation completes (optional) + :type replace_sel: bool + :param overlap: Allow Overlap, Don't correct overlap on new strips (optional) + :type overlap: bool + :param overlap_shuffle_override: Override Overlap Shuffle Behavior, Use the overlap_mode tool settings to determine how to shuffle overlapping strips (optional) + :type overlap_shuffle_override: bool + :param skip_locked_or_muted_channels: Skip Locked or Muted Channels, Add strips to muted or locked channels when adding movie strips (optional) + :type skip_locked_or_muted_channels: bool + :param mask: Mask, (optional) + :type mask: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: meta_make() + + Group selected strips into a meta-strip + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: meta_separate() + + Put the contents of a meta-strip back in the sequencer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: meta_toggle() + + Toggle a meta-strip (to edit enclosed strips) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: movie_strip_add(*, filepath="", directory="", files=None, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=True, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='', move_strips=True, frame_start=0, channel=1, replace_sel=True, overlap=False, overlap_shuffle_override=False, skip_locked_or_muted_channels=True, fit_method='FIT', set_view_transform=True, adjust_playback_rate=True, sound=True, use_framerate=True) + + Add a movie strip to the sequencer + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + + - ``DEFAULT`` + Default -- Automatically determine sort method for files. + - ``FILE_SORT_ALPHA`` + Name -- Sort the file list alphabetically. + - ``FILE_SORT_EXTENSION`` + Extension -- Sort the file list by extension/type. + - ``FILE_SORT_TIME`` + Modified Date -- Sort files by modification time. + - ``FILE_SORT_SIZE`` + Size -- Sort files by size. + - ``ASSET_CATALOG`` + Asset Catalog -- Sort the asset list so that assets in the same catalog are kept together. Within a single catalog, assets are ordered by name. The catalogs are in order of the flattened catalog hierarchy.. + :type sort_method: Literal['', 'DEFAULT', 'FILE_SORT_ALPHA', 'FILE_SORT_EXTENSION', 'FILE_SORT_TIME', 'FILE_SORT_SIZE', 'ASSET_CATALOG'] + :param move_strips: Move Strips, Automatically begin translating strips with the mouse after adding them to the timeline (optional) + :type move_strips: bool + :param frame_start: Start Frame, Start frame of the strip (in [-inf, inf], optional) + :type frame_start: int + :param channel: Channel, Channel to place this strip into (in [1, 128], optional) + :type channel: int + :param replace_sel: Replace Selection, Deselect previously selected strips after add operation completes (optional) + :type replace_sel: bool + :param overlap: Allow Overlap, Don't correct overlap on new strips (optional) + :type overlap: bool + :param overlap_shuffle_override: Override Overlap Shuffle Behavior, Use the overlap_mode tool settings to determine how to shuffle overlapping strips (optional) + :type overlap_shuffle_override: bool + :param skip_locked_or_muted_channels: Skip Locked or Muted Channels, Add strips to muted or locked channels when adding movie strips (optional) + :type skip_locked_or_muted_channels: bool + :param fit_method: Fit Method, Mode for fitting the image to the canvas (optional) + :type fit_method: Literal[:ref:`rna_enum_strip_scale_method_items`] + :param set_view_transform: Set View Transform, Set appropriate view transform based on media color space (optional) + :type set_view_transform: bool + :param adjust_playback_rate: Adjust Playback Rate, Play at normal speed regardless of scene FPS (optional) + :type adjust_playback_rate: bool + :param sound: Sound, Load sound with the movie (optional) + :type sound: bool + :param use_framerate: Set Scene Frame Rate, Set frame rate of the current scene to the frame rate of the movie (optional) + :type use_framerate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: movieclip_strip_add(*, move_strips=True, frame_start=0, channel=1, replace_sel=True, overlap=False, overlap_shuffle_override=False, skip_locked_or_muted_channels=True, clip='') + + Add a movieclip strip to the sequencer + + :param move_strips: Move Strips, Automatically begin translating strips with the mouse after adding them to the timeline (optional) + :type move_strips: bool + :param frame_start: Start Frame, Start frame of the strip (in [-inf, inf], optional) + :type frame_start: int + :param channel: Channel, Channel to place this strip into (in [1, 128], optional) + :type channel: int + :param replace_sel: Replace Selection, Deselect previously selected strips after add operation completes (optional) + :type replace_sel: bool + :param overlap: Allow Overlap, Don't correct overlap on new strips (optional) + :type overlap: bool + :param overlap_shuffle_override: Override Overlap Shuffle Behavior, Use the overlap_mode tool settings to determine how to shuffle overlapping strips (optional) + :type overlap_shuffle_override: bool + :param skip_locked_or_muted_channels: Skip Locked or Muted Channels, Add strips to muted or locked channels when adding movie strips (optional) + :type skip_locked_or_muted_channels: bool + :param clip: Clip, (optional) + :type clip: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: mute(*, unselected=False) + + Mute (un)selected strips + + :param unselected: Unselected, Mute unselected rather than selected strips (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: offset_clear() + + Clear strip in/out offsets from the start and end of content + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: paste(*, keep_offset=False, x=0, y=0) + + Paste strips from the internal clipboard + + :param keep_offset: Keep Offset, Keep strip offset relative to the current frame when pasting (optional) + :type keep_offset: bool + :param x: X, (in [-inf, inf], optional) + :type x: int + :param y: Y, (in [-inf, inf], optional) + :type y: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: preview_duplicate_move(*, SEQUENCER_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Duplicate selected strips and move them + + :param SEQUENCER_OT_duplicate: Duplicate Strips, Duplicate the selected strips (optional, :func:`bpy.ops.sequencer.duplicate` keyword arguments) + :type SEQUENCER_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: preview_duplicate_move_linked(*, SEQUENCER_OT_duplicate={}, TRANSFORM_OT_translate={}) + + Duplicate selected strips, but not their data, and move them + + :param SEQUENCER_OT_duplicate: Duplicate Strips, Duplicate the selected strips (optional, :func:`bpy.ops.sequencer.duplicate` keyword arguments) + :type SEQUENCER_OT_duplicate: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reassign_inputs() + + Reassign the inputs for the effect strip + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: rebuild_proxy() + + Rebuild all selected proxies and timecode indices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: refresh_all() + + Refresh the sequencer editor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: reload(*, adjust_length=False) + + Reload strips in the sequencer + + :param adjust_length: Adjust Length, Adjust length of strips to their data length (optional) + :type adjust_length: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rename_channel() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: rendersize() + + Set render size and aspect from active strip + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: retiming_add_freeze_frame_slide(*, SEQUENCER_OT_retiming_freeze_frame_add={}, TRANSFORM_OT_seq_slide={}) + + Add freeze frame and move it + + :param SEQUENCER_OT_retiming_freeze_frame_add: Add Freeze Frame, Add freeze frame (optional, :func:`bpy.ops.sequencer.retiming_freeze_frame_add` keyword arguments) + :type SEQUENCER_OT_retiming_freeze_frame_add: dict[str, Any] + :param TRANSFORM_OT_seq_slide: Sequence Slide, Slide a sequence strip in time (optional, :func:`bpy.ops.transform.seq_slide` keyword arguments) + :type TRANSFORM_OT_seq_slide: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: retiming_add_transition_slide(*, SEQUENCER_OT_retiming_transition_add={}, TRANSFORM_OT_seq_slide={}) + + Add smooth transition between 2 retimed segments and change its duration + + :param SEQUENCER_OT_retiming_transition_add: Add Speed Transition, Add smooth transition between 2 retimed segments (optional, :func:`bpy.ops.sequencer.retiming_transition_add` keyword arguments) + :type SEQUENCER_OT_retiming_transition_add: dict[str, Any] + :param TRANSFORM_OT_seq_slide: Sequence Slide, Slide a sequence strip in time (optional, :func:`bpy.ops.transform.seq_slide` keyword arguments) + :type TRANSFORM_OT_seq_slide: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: retiming_freeze_frame_add(*, duration=0) + + Add freeze frame + + :param duration: Duration, Duration of freeze frame segment (in [0, inf], optional) + :type duration: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: retiming_key_add(*, timeline_frame=0) + + Add retiming Key + + :param timeline_frame: Timeline Frame, Frame where key will be added (in [0, inf], optional) + :type timeline_frame: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: retiming_key_delete() + + Delete selected retiming keys from the sequencer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: retiming_reset() + + Reset strip retiming + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: retiming_segment_speed_set(*, speed=100.0) + + Set speed of retimed segment + + :param speed: Speed, New speed of retimed segment (in [0.001, inf], optional) + :type speed: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: retiming_show() + + Show retiming keys in selected strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: retiming_transition_add(*, duration=0) + + Add smooth transition between 2 retimed segments + + :param duration: Duration, Duration of freeze frame segment (in [0, inf], optional) + :type duration: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sample(*, size=1) + + Use mouse to sample color in current frame + + :param size: Sample Size, (in [1, 128], optional) + :type size: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scene_frame_range_update() + + Update frame range of scene strip + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: scene_strip_add(*, move_strips=True, frame_start=0, channel=1, replace_sel=True, overlap=False, overlap_shuffle_override=False, skip_locked_or_muted_channels=True, scene='') + + Add a strip re-using this scene as the source + + :param move_strips: Move Strips, Automatically begin translating strips with the mouse after adding them to the timeline (optional) + :type move_strips: bool + :param frame_start: Start Frame, Start frame of the strip (in [-inf, inf], optional) + :type frame_start: int + :param channel: Channel, Channel to place this strip into (in [1, 128], optional) + :type channel: int + :param replace_sel: Replace Selection, Deselect previously selected strips after add operation completes (optional) + :type replace_sel: bool + :param overlap: Allow Overlap, Don't correct overlap on new strips (optional) + :type overlap: bool + :param overlap_shuffle_override: Override Overlap Shuffle Behavior, Use the overlap_mode tool settings to determine how to shuffle overlapping strips (optional) + :type overlap_shuffle_override: bool + :param skip_locked_or_muted_channels: Skip Locked or Muted Channels, Add strips to muted or locked channels when adding movie strips (optional) + :type skip_locked_or_muted_channels: bool + :param scene: Scene, (optional) + :type scene: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scene_strip_add_new(*, move_strips=True, frame_start=0, channel=1, replace_sel=True, overlap=False, overlap_shuffle_override=False, skip_locked_or_muted_channels=True, type='NEW') + + Add a strip using a new scene as the source + + :param move_strips: Move Strips, Automatically begin translating strips with the mouse after adding them to the timeline (optional) + :type move_strips: bool + :param frame_start: Start Frame, Start frame of the strip (in [-inf, inf], optional) + :type frame_start: int + :param channel: Channel, Channel to place this strip into (in [1, 128], optional) + :type channel: int + :param replace_sel: Replace Selection, Deselect previously selected strips after add operation completes (optional) + :type replace_sel: bool + :param overlap: Allow Overlap, Don't correct overlap on new strips (optional) + :type overlap: bool + :param overlap_shuffle_override: Override Overlap Shuffle Behavior, Use the overlap_mode tool settings to determine how to shuffle overlapping strips (optional) + :type overlap_shuffle_override: bool + :param skip_locked_or_muted_channels: Skip Locked or Muted Channels, Add strips to muted or locked channels when adding movie strips (optional) + :type skip_locked_or_muted_channels: bool + :param type: Type, (optional) + + - ``NEW`` + New -- Add new Strip with a new empty Scene with default settings. + - ``EMPTY`` + Copy Settings -- Add a new Strip, with an empty scene, and copy settings from the current scene. + - ``LINK_COPY`` + Linked Copy -- Add a Strip and link in the collections from the current scene (shallow copy). + - ``FULL_COPY`` + Full Copy -- Add a Strip and make a full copy of the current scene. + :type type: Literal['NEW', 'EMPTY', 'LINK_COPY', 'FULL_COPY'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select(*, wait_to_deselect_others=False, use_select_on_click=False, mouse_x=0, mouse_y=0, extend=False, deselect=False, toggle=False, deselect_all=False, select_passthrough=False, center=False, linked_handle=False, linked_time=False, side_of_frame=False, ignore_connections=False) + + Select a strip (last selected becomes the "active strip") + + :param wait_to_deselect_others: Wait to Deselect Others, (optional) + :type wait_to_deselect_others: bool + :param use_select_on_click: Act on Click, Instead of selecting on mouse press, wait to see if there's drag event. Otherwise select on mouse release (optional) + :type use_select_on_click: bool + :param mouse_x: Mouse X, (in [-inf, inf], optional) + :type mouse_x: int + :param mouse_y: Mouse Y, (in [-inf, inf], optional) + :type mouse_y: int + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param deselect: Deselect, Remove from selection (optional) + :type deselect: bool + :param toggle: Toggle Selection, Toggle the selection (optional) + :type toggle: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param select_passthrough: Only Select Unselected, Ignore the select action when the element is already selected (optional) + :type select_passthrough: bool + :param center: Center, Use the object center when selecting, in edit mode used to extend object selection (optional) + :type center: bool + :param linked_handle: Linked Handle, Select handles next to the active strip (optional) + :type linked_handle: bool + :param linked_time: Linked Time, Select other strips or handles at the same time, or all retiming keys after the current in retiming mode (optional) + :type linked_time: bool + :param side_of_frame: Side of Frame, Select all strips on same side of the current frame as the mouse cursor (optional) + :type side_of_frame: bool + :param ignore_connections: Ignore Connections, Select strips individually whether or not they are connected (optional) + :type ignore_connections: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + Select or deselect all strips + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET', tweak=False, include_handles=False, ignore_connections=False) + + Select strips using box selection + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :param tweak: Tweak, Make box select pass through to sequence slide when the cursor is hovering on a strip (optional) + :type tweak: bool + :param include_handles: Select Handles, Select the strips and their handles (optional) + :type include_handles: bool + :param ignore_connections: Ignore Connections, Select strips individually whether or not they are connected (optional) + :type ignore_connections: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_circle(*, x=0, y=0, radius=25, wait_for_input=True, mode='SET', ignore_connections=False) + + Select strips using circle selection + + :param x: X, (in [-inf, inf], optional) + :type x: int + :param y: Y, (in [-inf, inf], optional) + :type y: int + :param radius: Radius, (in [1, inf], optional) + :type radius: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :param ignore_connections: Ignore Connections, Select strips individually whether or not they are connected (optional) + :type ignore_connections: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_grouped(*, type='TYPE', extend=False, use_active_channel=False) + + Select all strips grouped by various properties + + :param type: Type, (optional) + + - ``TYPE`` + Type -- Shared strip type. + - ``TYPE_BASIC`` + Global Type -- All strips of same basic type (graphical or sound). + - ``TYPE_EFFECT`` + Effect Type -- Shared strip effect type (if active strip is not an effect one, select all non-effect strips). + - ``DATA`` + Data -- Shared data (scene, image, sound, etc.). + - ``EFFECT`` + Effect -- Shared effects. + - ``EFFECT_LINK`` + Effect/Linked -- Other strips affected by the active one (sharing some time, and below or effect-assigned). + - ``OVERLAP`` + Overlap -- Overlapping time. + :type type: Literal['TYPE', 'TYPE_BASIC', 'TYPE_EFFECT', 'DATA', 'EFFECT', 'EFFECT_LINK', 'OVERLAP'] + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param use_active_channel: Same Channel, Only consider strips on the same channel as the active one (optional) + :type use_active_channel: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_handle(*, wait_to_deselect_others=False, use_select_on_click=False, mouse_x=0, mouse_y=0, ignore_connections=False) + + Select strip handle + + :param wait_to_deselect_others: Wait to Deselect Others, (optional) + :type wait_to_deselect_others: bool + :param use_select_on_click: Act on Click, Instead of selecting on mouse press, wait to see if there's drag event. Otherwise select on mouse release (optional) + :type use_select_on_click: bool + :param mouse_x: Mouse X, (in [-inf, inf], optional) + :type mouse_x: int + :param mouse_y: Mouse Y, (in [-inf, inf], optional) + :type mouse_y: int + :param ignore_connections: Ignore Connections, Select strips individually whether or not they are connected (optional) + :type ignore_connections: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_handles(*, side='BOTH') + + Select gizmo handles on the sides of the selected strip + + :param side: Side, The side of the handle that is selected (optional) + :type side: Literal['LEFT', 'RIGHT', 'BOTH', 'LEFT_NEIGHBOR', 'RIGHT_NEIGHBOR', 'BOTH_NEIGHBORS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_lasso(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, mode='SET') + + Select strips using lasso selection + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_less() + + Shrink the current selection of adjacent selected strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked() + + Select all strips adjacent to the current selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked_pick(*, extend=False) + + Select a chain of linked strips nearest to the mouse pointer + + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_more() + + Select more strips adjacent to the current selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_side(*, side='BOTH') + + Select strips on the nominated side of the selected strips + + :param side: Side, The side to which the selection is applied (optional) + :type side: Literal['MOUSE', 'LEFT', 'RIGHT', 'BOTH', 'NO_CHANGE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_side_of_frame(*, extend=False, side='LEFT') + + Select strips relative to the current frame + + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :param side: Side, (optional) + + - ``LEFT`` + Left -- Select to the left of the current frame. + - ``RIGHT`` + Right -- Select to the right of the current frame. + - ``CURRENT`` + Current Frame -- Select intersecting with the current frame. + :type side: Literal['LEFT', 'RIGHT', 'CURRENT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_range_to_strips(*, preview=False) + + Set the frame range to the selected strips start and end + + :param preview: Preview, Set the preview range instead (optional) + :type preview: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: slip(*, offset=0.0, slip_keyframes=False, use_cursor_position=False, ignore_connections=False) + + Slip the contents of selected strips + + :param offset: Offset, Offset to the data of the strip (in [-inf, inf], optional) + :type offset: float + :param slip_keyframes: Slip Keyframes, Move the keyframes alongside the media (optional) + :type slip_keyframes: bool + :param use_cursor_position: Use Cursor Position, Slip strips under mouse cursor instead of all selected strips (optional) + :type use_cursor_position: bool + :param ignore_connections: Ignore Connections, Do not slip connected strips if using cursor position (optional) + :type ignore_connections: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: snap(*, frame=0, side='LEFT', keep_offset=True) + + Snap strips to the current frame, using the active strip as the anchor, and the mouse cursor relative to the playhead to determine the side of the playhead to snap to + + :param frame: Frame, Frame where selected strips will be snapped (in [-inf, inf], optional) + :type frame: int + :param side: Snap Side, Which side of the playhead strips should snap to when no handles are selected (optional) + :type side: Literal['LEFT', 'RIGHT'] + :param keep_offset: Keep Offset, Whether the selection should be snapped as a whole or by each individual strip (optional) + :type keep_offset: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sound_strip_add(*, filepath="", directory="", files=None, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=True, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, display_type='DEFAULT', sort_method='', move_strips=True, frame_start=0, channel=1, replace_sel=True, overlap=False, overlap_shuffle_override=False, skip_locked_or_muted_channels=True, cache=False, mono=False) + + Add a sound strip to the sequencer + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + + - ``DEFAULT`` + Default -- Automatically determine sort method for files. + - ``FILE_SORT_ALPHA`` + Name -- Sort the file list alphabetically. + - ``FILE_SORT_EXTENSION`` + Extension -- Sort the file list by extension/type. + - ``FILE_SORT_TIME`` + Modified Date -- Sort files by modification time. + - ``FILE_SORT_SIZE`` + Size -- Sort files by size. + - ``ASSET_CATALOG`` + Asset Catalog -- Sort the asset list so that assets in the same catalog are kept together. Within a single catalog, assets are ordered by name. The catalogs are in order of the flattened catalog hierarchy.. + :type sort_method: Literal['', 'DEFAULT', 'FILE_SORT_ALPHA', 'FILE_SORT_EXTENSION', 'FILE_SORT_TIME', 'FILE_SORT_SIZE', 'ASSET_CATALOG'] + :param move_strips: Move Strips, Automatically begin translating strips with the mouse after adding them to the timeline (optional) + :type move_strips: bool + :param frame_start: Start Frame, Start frame of the strip (in [-inf, inf], optional) + :type frame_start: int + :param channel: Channel, Channel to place this strip into (in [1, 128], optional) + :type channel: int + :param replace_sel: Replace Selection, Deselect previously selected strips after add operation completes (optional) + :type replace_sel: bool + :param overlap: Allow Overlap, Don't correct overlap on new strips (optional) + :type overlap: bool + :param overlap_shuffle_override: Override Overlap Shuffle Behavior, Use the overlap_mode tool settings to determine how to shuffle overlapping strips (optional) + :type overlap_shuffle_override: bool + :param skip_locked_or_muted_channels: Skip Locked or Muted Channels, Add strips to muted or locked channels when adding movie strips (optional) + :type skip_locked_or_muted_channels: bool + :param cache: Cache, Cache the sound in memory (optional) + :type cache: bool + :param mono: Mono, Merge all the sound's channels into one (optional) + :type mono: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: split(*, frame=0, channel=0, type='SOFT', use_cursor_position=False, side='MOUSE', ignore_selection=False, ignore_connections=False) + + Split the selected strips in two + + :param frame: Frame, Frame where selected strips will be split (in [-inf, inf], optional) + :type frame: int + :param channel: Channel, Channel in which strip will be cut (in [-inf, inf], optional) + :type channel: int + :param type: Type, The type of split operation to perform on strips (optional) + :type type: Literal['SOFT', 'HARD'] + :param use_cursor_position: Use Cursor Position, Split at position of the cursor instead of current frame (optional) + :type use_cursor_position: bool + :param side: Side, The side that remains selected after splitting (optional) + :type side: Literal['MOUSE', 'LEFT', 'RIGHT', 'BOTH', 'NO_CHANGE'] + :param ignore_selection: Ignore Selection, Make cut even if strip is not selected preserving selection state after cut (optional) + :type ignore_selection: bool + :param ignore_connections: Ignore Connections, Don't propagate split to connected strips (optional) + :type ignore_connections: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: split_multicam(*, camera=1) + + Split multicam strip and select camera + + :param camera: Camera, (in [1, 32], optional) + :type camera: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/sequencer.py\:101 `__ + + +.. function:: strip_color_tag_set(*, color='NONE') + + Set a color tag for the selected strips + + :param color: Color Tag, (optional) + :type color: Literal[:ref:`rna_enum_strip_color_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: strip_jump(*, next=True, center=True) + + Move frame to next or previous edit point + + :param next: Next Strip, (optional) + :type next: bool + :param center: Use Strip Center, (optional) + :type center: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: strip_modifier_add(*, type='') + + Add a modifier to the strip + + :param type: Type, (optional) + :type type: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: strip_modifier_copy(*, type='REPLACE') + + Copy modifiers of the active strip to all selected strips + + :param type: Type, (optional) + + - ``REPLACE`` + Replace -- Replace modifiers in destination. + - ``APPEND`` + Append -- Append active modifiers to selected strips. + :type type: Literal['REPLACE', 'APPEND'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: strip_modifier_equalizer_redefine(*, graphs='SIMPLE', name="Name") + + Redefine equalizer graphs + + :param graphs: Graphs, Number of graphs (optional) + + - ``SIMPLE`` + Unique -- One unique graphical definition. + - ``DOUBLE`` + Double -- Graphical definition in 2 sections. + - ``TRIPLE`` + Triplet -- Graphical definition in 3 sections. + :type graphs: Literal['SIMPLE', 'DOUBLE', 'TRIPLE'] + :param name: Name, Name of modifier to redefine (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: strip_modifier_move(*, name="Name", direction='UP') + + Move modifier up and down in the stack + + :param name: Name, Name of modifier to remove (optional, never None) + :type name: str + :param direction: Type, (optional) + + - ``UP`` + Up -- Move modifier up in the stack. + - ``DOWN`` + Down -- Move modifier down in the stack. + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: strip_modifier_move_to_index(*, modifier="", index=0) + + Change the strip modifier's index in the stack so it evaluates after the set number of others + + :param modifier: Modifier, Name of the modifier to edit (optional, never None) + :type modifier: str + :param index: Index, The index to move the modifier to (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: strip_modifier_remove(*, name="Name") + + Remove a modifier from the strip + + :param name: Name, Name of modifier to remove (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: strip_modifier_set_active(*, modifier="") + + Activate the strip modifier to use as the context + + :param modifier: Modifier, Name of the strip modifier to edit (optional, never None) + :type modifier: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: strip_transform_clear(*, property='ALL') + + Reset image transformation to default value + + :param property: Property, Strip transform property to be reset (optional) + + - ``POSITION`` + Position -- Reset strip transform location. + - ``SCALE`` + Scale -- Reset strip transform scale. + - ``ROTATION`` + Rotation -- Reset strip transform rotation. + - ``ALL`` + All -- Reset strip transform location, scale and rotation. + :type property: Literal['POSITION', 'SCALE', 'ROTATION', 'ALL'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: strip_transform_fit(*, fit_method='FIT') + + Undocumented, consider `contributing `__. + + :param fit_method: Fit Method, Mode for fitting the image to the canvas (optional) + :type fit_method: Literal[:ref:`rna_enum_strip_scale_method_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: swap(*, side='RIGHT') + + Swap active strip with strip to the right or left + + :param side: Side, Side of the strip to swap (optional) + :type side: Literal['LEFT', 'RIGHT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: swap_data() + + Swap 2 sequencer strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: swap_inputs() + + Swap the two inputs of the effect strip + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: text_cursor_move(*, type='LINE_BEGIN', select_text=False) + + Move cursor in text + + :param type: Type, Where to move cursor to, to make a selection (optional) + :type type: Literal['LINE_BEGIN', 'LINE_END', 'TEXT_BEGIN', 'TEXT_END', 'PREVIOUS_CHARACTER', 'NEXT_CHARACTER', 'PREVIOUS_WORD', 'NEXT_WORD', 'PREVIOUS_LINE', 'NEXT_LINE'] + :param select_text: Select Text, Select text while moving cursor (optional) + :type select_text: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: text_cursor_set(*, select_text=False) + + Set cursor position in text + + :param select_text: Select Text, Select text while moving cursor (optional) + :type select_text: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: text_delete(*, type='NEXT_OR_SELECTION') + + Delete text at cursor position + + :param type: Type, Which part of the text to delete (optional) + :type type: Literal['NEXT_OR_SELECTION', 'PREVIOUS_OR_SELECTION'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: text_deselect_all() + + Deselect all characters + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: text_edit_copy() + + Copy text to clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: text_edit_cut() + + Cut text to clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: text_edit_mode_toggle() + + Toggle text editing + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: text_edit_paste() + + Paste text from clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: text_insert(*, string="") + + Insert text at cursor position + + :param string: String, String to be inserted at cursor position (optional, never None) + :type string: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: text_line_break() + + Insert line break at cursor position + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: text_select_all() + + Select all characters + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: unlock() + + Unlock strips so they can be transformed + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: unmute(*, unselected=False) + + Unmute (un)selected strips + + :param unselected: Unselected, Unmute unselected rather than selected strips (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_all() + + View all the strips in the sequencer + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_all_preview() + + Zoom preview to fit in the area + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_frame() + + Move the view to the current frame + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_ghost_border(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True) + + Set the boundaries of the border used for offset view + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_selected() + + Zoom the sequencer on the selected strips + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_zoom_ratio(*, ratio=1.0) + + Change zoom ratio of sequencer preview + + :param ratio: Ratio, Zoom ratio, 1.0 is 1:1, higher is zoomed in, lower is zoomed out (in [-inf, inf], optional) + :type ratio: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sound.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sound.rst new file mode 100644 index 0000000..9511cbc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.sound.rst @@ -0,0 +1,234 @@ +Sound Operators +=============== + +.. module:: bpy.ops.sound + +.. function:: bake_animation() + + Update the audio animation cache + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: mixdown(*, filepath="", check_existing=True, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=True, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, display_type='DEFAULT', sort_method='') + + Mix the scene's audio to a sound file + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: open(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=True, filter_python=False, filter_font=False, filter_sound=True, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='', cache=False, mono=False) + + Load a sound file + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param cache: Cache, Cache the sound in memory (optional) + :type cache: bool + :param mono: Mono, Merge all the sound's channels into one (optional) + :type mono: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: open_mono(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=True, filter_python=False, filter_font=False, filter_sound=True, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='', cache=False, mono=True) + + Load a sound file as mono + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param show_multiview: Enable Multi-View, (optional) + :type show_multiview: bool + :param use_multiview: Use Multi-View, (optional) + :type use_multiview: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param cache: Cache, Cache the sound in memory (optional) + :type cache: bool + :param mono: Mono, Mixdown the sound to mono (optional) + :type mono: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: pack() + + Pack the sound into the current blend file + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: unpack(*, method='USE_LOCAL', id="") + + Unpack the sound to the samples filename + + :param method: Method, How to unpack (optional) + :type method: Literal[:ref:`rna_enum_unpack_method_items`] + :param id: Sound Name, Sound data-block name to unpack (optional, never None) + :type id: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: update_animation_flags() + + Update animation flags + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.spreadsheet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.spreadsheet.rst new file mode 100644 index 0000000..70f1f93 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.spreadsheet.rst @@ -0,0 +1,57 @@ +Spreadsheet Operators +===================== + +.. module:: bpy.ops.spreadsheet + +.. function:: add_row_filter_rule() + + Add a filter to remove rows from the displayed data + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: change_spreadsheet_data_source(*, component_type=0, attribute_domain_type=0) + + Change visible data source in the spreadsheet + + :param component_type: Component Type, (in [0, 32767], optional) + :type component_type: int + :param attribute_domain_type: Attribute Domain Type, (in [0, 32767], optional) + :type attribute_domain_type: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: fit_column() + + Resize a spreadsheet column to the width of the data + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: remove_row_filter_rule(*, index=0) + + Remove a row filter from the rules + + :param index: Index, (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reorder_columns() + + Change the order of columns + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: resize_column() + + Resize a spreadsheet column + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: toggle_pin() + + Turn on or off pinning + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/spreadsheet.py\:21 `__ + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.surface.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.surface.rst new file mode 100644 index 0000000..2eb3ab4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.surface.rst @@ -0,0 +1,161 @@ +Surface Operators +================= + +.. module:: bpy.ops.surface + +.. function:: primitive_nurbs_surface_circle_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a NURBS surface circle + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_nurbs_surface_curve_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a NURBS surface curve + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_nurbs_surface_cylinder_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a NURBS surface cylinder + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_nurbs_surface_sphere_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a NURBS surface sphere + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_nurbs_surface_surface_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a NURBS surface patch + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: primitive_nurbs_surface_torus_add(*, radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), scale=(0.0, 0.0, 0.0)) + + Construct a NURBS surface torus + + :param radius: Radius, (in [0, inf], optional) + :type radius: float + :param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object (optional) + :type enter_editmode: bool + :param align: Align, The alignment of the new object (optional) + + - ``WORLD`` + World -- Align the new object to the world. + - ``VIEW`` + View -- Align the new object to the view. + - ``CURSOR`` + 3D Cursor -- Use the 3D cursor orientation for the new object. + :type align: Literal['WORLD', 'VIEW', 'CURSOR'] + :param location: Location, Location for the newly added object (array of 3 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :param rotation: Rotation, Rotation for the newly added object (array of 3 items, in [-inf, inf], optional) + :type rotation: :class:`mathutils.Euler` | Sequence[float] + :param scale: Scale, Scale for the newly added object (array of 3 items, in [-inf, inf], optional) + :type scale: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.text.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.text.rst new file mode 100644 index 0000000..afba96b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.text.rst @@ -0,0 +1,442 @@ +Text Operators +============== + +.. module:: bpy.ops.text + +.. function:: autocomplete() + + Show a list of used text in the open document + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: comment_toggle(*, type='TOGGLE') + + Undocumented, consider `contributing `__. + + :param type: Type, Add or remove comments (optional) + :type type: Literal['TOGGLE', 'COMMENT', 'UNCOMMENT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: convert_whitespace(*, type='SPACES') + + Convert whitespaces by type + + :param type: Type, Type of whitespace to convert to (optional) + :type type: Literal['SPACES', 'TABS'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy() + + Copy selected text to clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: cursor_set(*, x=0, y=0) + + Set cursor position + + :param x: X, (in [-inf, inf], optional) + :type x: int + :param y: Y, (in [-inf, inf], optional) + :type y: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: cut() + + Cut selected text to clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete(*, type='NEXT_CHARACTER') + + Delete text by cursor position + + :param type: Type, Which part of the text to delete (optional) + :type type: Literal['NEXT_CHARACTER', 'PREVIOUS_CHARACTER', 'NEXT_WORD', 'PREVIOUS_WORD'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: duplicate_line() + + Duplicate the current line + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: find() + + Find specified text + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: find_set_selected() + + Find specified text and set as selected + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: indent() + + Indent selected text + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: indent_or_autocomplete() + + Indent selected text or autocomplete + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: insert(*, text="") + + Insert text at cursor position + + :param text: Text, Text to insert at the cursor position (optional, never None) + :type text: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: jump(*, line=1) + + Jump cursor to line + + :param line: Line, Line number to jump to (in [1, inf], optional) + :type line: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: jump_to_file_at_point(*, filepath="", line=0, column=0) + + Jump to a file for the text editor + + :param filepath: Filepath, (optional, never None) + :type filepath: str + :param line: Line, Line to jump to (in [0, inf], optional) + :type line: int + :param column: Column, Column to jump to (in [0, inf], optional) + :type column: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: line_break() + + Insert line break at cursor position + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: line_number() + + The current line number + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: make_internal() + + Make active text file internal + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: move(*, type='LINE_BEGIN') + + Move cursor to position type + + :param type: Type, Where to move cursor to (optional) + :type type: Literal['LINE_BEGIN', 'LINE_END', 'FILE_TOP', 'FILE_BOTTOM', 'PREVIOUS_CHARACTER', 'NEXT_CHARACTER', 'PREVIOUS_WORD', 'NEXT_WORD', 'PREVIOUS_LINE', 'NEXT_LINE', 'PREVIOUS_PAGE', 'NEXT_PAGE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: move_lines(*, direction='DOWN') + + Move the currently selected line(s) up/down + + :param direction: Direction, (optional) + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: move_select(*, type='LINE_BEGIN') + + Move the cursor while selecting + + :param type: Type, Where to move cursor to, to make a selection (optional) + :type type: Literal['LINE_BEGIN', 'LINE_END', 'FILE_TOP', 'FILE_BOTTOM', 'PREVIOUS_CHARACTER', 'NEXT_CHARACTER', 'PREVIOUS_WORD', 'NEXT_WORD', 'PREVIOUS_LINE', 'NEXT_LINE', 'PREVIOUS_PAGE', 'NEXT_PAGE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: new() + + Create a new text data-block + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: open(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=True, filter_font=False, filter_sound=False, filter_text=True, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, relative_path=True, display_type='DEFAULT', sort_method='', internal=False) + + Open a new text data-block + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + + - ``DEFAULT`` + Default -- Automatically determine sort method for files. + - ``FILE_SORT_ALPHA`` + Name -- Sort the file list alphabetically. + - ``FILE_SORT_EXTENSION`` + Extension -- Sort the file list by extension/type. + - ``FILE_SORT_TIME`` + Modified Date -- Sort files by modification time. + - ``FILE_SORT_SIZE`` + Size -- Sort files by size. + - ``ASSET_CATALOG`` + Asset Catalog -- Sort the asset list so that assets in the same catalog are kept together. Within a single catalog, assets are ordered by name. The catalogs are in order of the flattened catalog hierarchy.. + :type sort_method: Literal['', 'DEFAULT', 'FILE_SORT_ALPHA', 'FILE_SORT_EXTENSION', 'FILE_SORT_TIME', 'FILE_SORT_SIZE', 'ASSET_CATALOG'] + :param internal: Make Internal, Make text file internal after loading (optional) + :type internal: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: overwrite_toggle() + + Toggle overwrite while typing + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: paste(*, selection=False) + + Paste text from clipboard + + :param selection: Selection, Paste text selected elsewhere rather than copied (X11/Wayland only) (optional) + :type selection: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reload() + + Reload active text data-block from its file + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: replace(*, all=False) + + Replace text with the specified text + + :param all: Replace All, Replace all occurrences (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: replace_set_selected() + + Replace text with specified text and set as selected + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: resolve_conflict(*, resolution='IGNORE') + + When external text is out of sync, resolve the conflict + + :param resolution: Resolution, How to solve conflict due to differences in internal and external text (optional) + :type resolution: Literal['IGNORE', 'RELOAD', 'SAVE', 'MAKE_INTERNAL'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: run_script() + + Run active script + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: save() + + Save active text data-block + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: save_as(*, filepath="", hide_props_region=True, check_existing=True, filter_blender=False, filter_backup=False, filter_image=False, filter_movie=False, filter_python=True, filter_font=False, filter_sound=False, filter_text=True, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, display_type='DEFAULT', sort_method='') + + Save active text file with options + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scroll(*, lines=1) + + Undocumented, consider `contributing `__. + + :param lines: Lines, Number of lines to scroll (in [-inf, inf], optional) + :type lines: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scroll_bar(*, lines=1) + + Undocumented, consider `contributing `__. + + :param lines: Lines, Number of lines to scroll (in [-inf, inf], optional) + :type lines: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all() + + Select all text + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_line() + + Select text by line + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_word() + + Select word under cursor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: selection_set() + + Set text selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: start_find() + + Start searching text + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: to_3d_object(*, split_lines=False) + + Create 3D text object from active text data-block + + :param split_lines: Split Lines, Create one object per line in the text (optional) + :type split_lines: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: unindent() + + Unindent selected text + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: unlink() + + Unlink active text data-block + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: update_shader() + + Update users of this shader, such as custom cameras and script nodes, with its new sockets and options + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.text_editor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.text_editor.rst new file mode 100644 index 0000000..8c08cb0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.text_editor.rst @@ -0,0 +1,20 @@ +Text Editor Operators +===================== + +.. module:: bpy.ops.text_editor + +.. function:: preset_add(*, name="", remove_name=False, remove_active=False) + + Add or remove a Text Editor Preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.texture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.texture.rst new file mode 100644 index 0000000..2547947 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.texture.rst @@ -0,0 +1,32 @@ +Texture Operators +================= + +.. module:: bpy.ops.texture + +.. function:: new() + + Add a new texture + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: slot_copy() + + Copy the material texture settings and nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: slot_move(*, type='UP') + + Move texture slots up and down + + :param type: Type, (optional) + :type type: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: slot_paste() + + Paste the texture settings and nodes + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.transform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.transform.rst new file mode 100644 index 0000000..5b85239 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.transform.rst @@ -0,0 +1,834 @@ +Transform Operators +=================== + +.. module:: bpy.ops.transform + +.. function:: bbone_resize(*, value=(1.0, 1.0, 1.0), orient_type='GLOBAL', orient_matrix=((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, False), mirror=False, release_confirm=False, use_accurate=False) + + Scale selected bendy bones display size + + :param value: Display Size, (array of 3 items, in [-inf, inf], optional) + :type value: :class:`mathutils.Vector` | Sequence[float] + :param orient_type: Orientation, Transformation orientation (optional) + :type orient_type: str + :param orient_matrix: Matrix, (multi-dimensional array of 3 * 3 items, in [-inf, inf], optional) + :type orient_matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param orient_matrix_type: Matrix Orientation, (optional) + :type orient_matrix_type: str + :param constraint_axis: Constraint Axis, (array of 3 items, optional) + :type constraint_axis: Sequence[bool] + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: bend(*, value=(0.0,), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, gpencil_strokes=False, center_override=(0.0, 0.0, 0.0), release_confirm=False, use_accurate=False) + + Bend selected items between the 3D cursor and the mouse + + :param value: Angle, (array of 1 items, in [-inf, inf], optional) + :type value: Sequence[float] + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param gpencil_strokes: Edit Grease Pencil, Edit selected Grease Pencil strokes (optional) + :type gpencil_strokes: bool + :param center_override: Center Override, Force using this center value (when set) (array of 3 items, in [-inf, inf], optional) + :type center_override: :class:`mathutils.Vector` | Sequence[float] + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: create_orientation(*, name="", use_view=False, use=False, overwrite=False) + + Create transformation orientation from selection + + :param name: Name, Name of the new custom orientation (optional, never None) + :type name: str + :param use_view: Use View, Use the current view instead of the active object to create the new orientation (optional) + :type use_view: bool + :param use: Use After Creation, Select orientation after its creation (optional) + :type use: bool + :param overwrite: Overwrite Previous, Overwrite previously created orientation with same name (optional) + :type overwrite: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete_orientation() + + Delete transformation orientation + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: edge_bevelweight(*, value=0.0, snap=False, release_confirm=False, use_accurate=False) + + Change the bevel weight of edges + + :param value: Factor, (in [-1, 1], optional) + :type value: float + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: edge_crease(*, value=0.0, snap=False, release_confirm=False, use_accurate=False) + + Change the crease of edges + + :param value: Factor, (in [-1, 1], optional) + :type value: float + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: edge_slide(*, value=0.0, single_side=False, use_even=False, flipped=False, use_clamp=True, mirror=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False, snap_point=(0.0, 0.0, 0.0), correct_uv=True, release_confirm=False, use_accurate=False) + + Slide an edge loop along a mesh + + :param value: Factor, (in [-10, 10], optional) + :type value: float + :param single_side: Single Side, (optional) + :type single_side: bool + :param use_even: Even, Make the edge loop match the shape of the adjacent edge loop (optional) + :type use_even: bool + :param flipped: Flipped, When Even mode is active, flips between the two adjacent edge loops (optional) + :type flipped: bool + :param use_clamp: Clamp, Clamp within the edge extents (optional) + :type use_clamp: bool + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param snap_elements: Snap to Elements, (optional) + :type snap_elements: set[Literal[:ref:`rna_enum_snap_element_items`]] + :param use_snap_project: Project Individual Elements, (optional) + :type use_snap_project: bool + :param snap_target: Snap Base, Point on source that will snap to target (optional) + :type snap_target: Literal[:ref:`rna_enum_snap_source_items`] + :param use_snap_self: Target: Include Active, (optional) + :type use_snap_self: bool + :param use_snap_edit: Target: Include Edit, (optional) + :type use_snap_edit: bool + :param use_snap_nonedit: Target: Include Non-Edited, (optional) + :type use_snap_nonedit: bool + :param use_snap_selectable: Target: Exclude Non-Selectable, (optional) + :type use_snap_selectable: bool + :param snap_point: Point, (array of 3 items, in [-inf, inf], optional) + :type snap_point: :class:`mathutils.Vector` | Sequence[float] + :param correct_uv: Correct UVs, Correct UV coordinates when transforming (optional) + :type correct_uv: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: from_gizmo() + + Transform selected items by mode type + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: mirror(*, orient_type='GLOBAL', orient_matrix=((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, False), gpencil_strokes=False, center_override=(0.0, 0.0, 0.0), release_confirm=False, use_accurate=False) + + Mirror selected items around one or more axes + + :param orient_type: Orientation, Transformation orientation (optional) + :type orient_type: str + :param orient_matrix: Matrix, (multi-dimensional array of 3 * 3 items, in [-inf, inf], optional) + :type orient_matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param orient_matrix_type: Matrix Orientation, (optional) + :type orient_matrix_type: str + :param constraint_axis: Constraint Axis, (array of 3 items, optional) + :type constraint_axis: Sequence[bool] + :param gpencil_strokes: Edit Grease Pencil, Edit selected Grease Pencil strokes (optional) + :type gpencil_strokes: bool + :param center_override: Center Override, Force using this center value (when set) (array of 3 items, in [-inf, inf], optional) + :type center_override: :class:`mathutils.Vector` | Sequence[float] + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: push_pull(*, value=0.0, mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, center_override=(0.0, 0.0, 0.0), release_confirm=False, use_accurate=False) + + Push/Pull selected items + + :param value: Distance, (in [-inf, inf], optional) + :type value: float + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param center_override: Center Override, Force using this center value (when set) (array of 3 items, in [-inf, inf], optional) + :type center_override: :class:`mathutils.Vector` | Sequence[float] + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: resize(*, value=(1.0, 1.0, 1.0), mouse_dir_constraint=(0.0, 0.0, 0.0), orient_type='GLOBAL', orient_matrix=((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, False), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False, snap_point=(0.0, 0.0, 0.0), gpencil_strokes=False, texture_space=False, remove_on_cancel=False, use_duplicated_keyframes=False, center_override=(0.0, 0.0, 0.0), release_confirm=False, use_accurate=False) + + Scale (resize) selected items + + :param value: Scale, (array of 3 items, in [-inf, inf], optional) + :type value: :class:`mathutils.Vector` | Sequence[float] + :param mouse_dir_constraint: Mouse Directional Constraint, (array of 3 items, in [-inf, inf], optional) + :type mouse_dir_constraint: :class:`mathutils.Vector` | Sequence[float] + :param orient_type: Orientation, Transformation orientation (optional) + :type orient_type: str + :param orient_matrix: Matrix, (multi-dimensional array of 3 * 3 items, in [-inf, inf], optional) + :type orient_matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param orient_matrix_type: Matrix Orientation, (optional) + :type orient_matrix_type: str + :param constraint_axis: Constraint Axis, (array of 3 items, optional) + :type constraint_axis: Sequence[bool] + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param snap_elements: Snap to Elements, (optional) + :type snap_elements: set[Literal[:ref:`rna_enum_snap_element_items`]] + :param use_snap_project: Project Individual Elements, (optional) + :type use_snap_project: bool + :param snap_target: Snap Base, Point on source that will snap to target (optional) + :type snap_target: Literal[:ref:`rna_enum_snap_source_items`] + :param use_snap_self: Target: Include Active, (optional) + :type use_snap_self: bool + :param use_snap_edit: Target: Include Edit, (optional) + :type use_snap_edit: bool + :param use_snap_nonedit: Target: Include Non-Edited, (optional) + :type use_snap_nonedit: bool + :param use_snap_selectable: Target: Exclude Non-Selectable, (optional) + :type use_snap_selectable: bool + :param snap_point: Point, (array of 3 items, in [-inf, inf], optional) + :type snap_point: :class:`mathutils.Vector` | Sequence[float] + :param gpencil_strokes: Edit Grease Pencil, Edit selected Grease Pencil strokes (optional) + :type gpencil_strokes: bool + :param texture_space: Edit Texture Space, Edit object data texture space (optional) + :type texture_space: bool + :param remove_on_cancel: Remove on Cancel, Remove elements on cancel (optional) + :type remove_on_cancel: bool + :param use_duplicated_keyframes: Duplicated Keyframes, Transform duplicated keyframes (optional) + :type use_duplicated_keyframes: bool + :param center_override: Center Override, Force using this center value (when set) (array of 3 items, in [-inf, inf], optional) + :type center_override: :class:`mathutils.Vector` | Sequence[float] + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rotate(*, value=0.0, orient_axis='Z', orient_type='GLOBAL', orient_matrix=((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, False), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False, snap_point=(0.0, 0.0, 0.0), gpencil_strokes=False, center_override=(0.0, 0.0, 0.0), release_confirm=False, use_accurate=False) + + Rotate selected items + + :param value: Angle, (in [-inf, inf], optional) + :type value: float + :param orient_axis: Axis, (optional) + :type orient_axis: Literal[:ref:`rna_enum_axis_xyz_items`] + :param orient_type: Orientation, Transformation orientation (optional) + :type orient_type: str + :param orient_matrix: Matrix, (multi-dimensional array of 3 * 3 items, in [-inf, inf], optional) + :type orient_matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param orient_matrix_type: Matrix Orientation, (optional) + :type orient_matrix_type: str + :param constraint_axis: Constraint Axis, (array of 3 items, optional) + :type constraint_axis: Sequence[bool] + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param snap_elements: Snap to Elements, (optional) + :type snap_elements: set[Literal[:ref:`rna_enum_snap_element_items`]] + :param use_snap_project: Project Individual Elements, (optional) + :type use_snap_project: bool + :param snap_target: Snap Base, Point on source that will snap to target (optional) + :type snap_target: Literal[:ref:`rna_enum_snap_source_items`] + :param use_snap_self: Target: Include Active, (optional) + :type use_snap_self: bool + :param use_snap_edit: Target: Include Edit, (optional) + :type use_snap_edit: bool + :param use_snap_nonedit: Target: Include Non-Edited, (optional) + :type use_snap_nonedit: bool + :param use_snap_selectable: Target: Exclude Non-Selectable, (optional) + :type use_snap_selectable: bool + :param snap_point: Point, (array of 3 items, in [-inf, inf], optional) + :type snap_point: :class:`mathutils.Vector` | Sequence[float] + :param gpencil_strokes: Edit Grease Pencil, Edit selected Grease Pencil strokes (optional) + :type gpencil_strokes: bool + :param center_override: Center Override, Force using this center value (when set) (array of 3 items, in [-inf, inf], optional) + :type center_override: :class:`mathutils.Vector` | Sequence[float] + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rotate_normal(*, value=0.0, orient_axis='Z', orient_type='GLOBAL', orient_matrix=((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, False), mirror=False, release_confirm=False, use_accurate=False) + + Rotate custom normal of selected items + + :param value: Angle, (in [-inf, inf], optional) + :type value: float + :param orient_axis: Axis, (optional) + :type orient_axis: Literal[:ref:`rna_enum_axis_xyz_items`] + :param orient_type: Orientation, Transformation orientation (optional) + :type orient_type: str + :param orient_matrix: Matrix, (multi-dimensional array of 3 * 3 items, in [-inf, inf], optional) + :type orient_matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param orient_matrix_type: Matrix Orientation, (optional) + :type orient_matrix_type: str + :param constraint_axis: Constraint Axis, (array of 3 items, optional) + :type constraint_axis: Sequence[bool] + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_orientation(*, orientation='GLOBAL') + + Select transformation orientation + + :param orientation: Orientation, Transformation orientation (optional) + :type orientation: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: seq_slide(*, value=(0.0, 0.0), use_restore_handle_selection=False, snap=False, texture_space=False, remove_on_cancel=False, use_duplicated_keyframes=False, view2d_edge_pan=False, release_confirm=False, use_accurate=False) + + Slide a sequence strip in time + + :param value: Offset, (array of 2 items, in [-inf, inf], optional) + :type value: :class:`mathutils.Vector` | Sequence[float] + :param use_restore_handle_selection: Restore Handle Selection, Restore handle selection after tweaking (optional) + :type use_restore_handle_selection: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param texture_space: Edit Texture Space, Edit object data texture space (optional) + :type texture_space: bool + :param remove_on_cancel: Remove on Cancel, Remove elements on cancel (optional) + :type remove_on_cancel: bool + :param use_duplicated_keyframes: Duplicated Keyframes, Transform duplicated keyframes (optional) + :type use_duplicated_keyframes: bool + :param view2d_edge_pan: Edge Pan, Enable edge panning in 2D view (optional) + :type view2d_edge_pan: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shear(*, angle=0.0, orient_axis='Z', orient_axis_ortho='X', orient_type='GLOBAL', orient_matrix=((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), orient_matrix_type='GLOBAL', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, gpencil_strokes=False, release_confirm=False, use_accurate=False) + + Shear selected items along the given axis + + :param angle: Angle, (in [-inf, inf], optional) + :type angle: float + :param orient_axis: Axis, (optional) + :type orient_axis: Literal[:ref:`rna_enum_axis_xyz_items`] + :param orient_axis_ortho: Axis Ortho, (optional) + :type orient_axis_ortho: Literal[:ref:`rna_enum_axis_xyz_items`] + :param orient_type: Orientation, Transformation orientation (optional) + :type orient_type: str + :param orient_matrix: Matrix, (multi-dimensional array of 3 * 3 items, in [-inf, inf], optional) + :type orient_matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param orient_matrix_type: Matrix Orientation, (optional) + :type orient_matrix_type: str + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param gpencil_strokes: Edit Grease Pencil, Edit selected Grease Pencil strokes (optional) + :type gpencil_strokes: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shrink_fatten(*, value=0.0, use_even_offset=False, mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, release_confirm=False, use_accurate=False) + + Shrink/fatten selected vertices along normals + + :param value: Offset, (in [-inf, inf], optional) + :type value: float + :param use_even_offset: Offset Even, Scale the offset to give more even thickness (optional) + :type use_even_offset: bool + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: skin_resize(*, value=(1.0, 1.0, 1.0), orient_type='GLOBAL', orient_matrix=((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, False), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False, snap_point=(0.0, 0.0, 0.0), release_confirm=False, use_accurate=False) + + Scale selected vertices' skin radii + + :param value: Scale, (array of 3 items, in [-inf, inf], optional) + :type value: :class:`mathutils.Vector` | Sequence[float] + :param orient_type: Orientation, Transformation orientation (optional) + :type orient_type: str + :param orient_matrix: Matrix, (multi-dimensional array of 3 * 3 items, in [-inf, inf], optional) + :type orient_matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param orient_matrix_type: Matrix Orientation, (optional) + :type orient_matrix_type: str + :param constraint_axis: Constraint Axis, (array of 3 items, optional) + :type constraint_axis: Sequence[bool] + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param snap_elements: Snap to Elements, (optional) + :type snap_elements: set[Literal[:ref:`rna_enum_snap_element_items`]] + :param use_snap_project: Project Individual Elements, (optional) + :type use_snap_project: bool + :param snap_target: Snap Base, Point on source that will snap to target (optional) + :type snap_target: Literal[:ref:`rna_enum_snap_source_items`] + :param use_snap_self: Target: Include Active, (optional) + :type use_snap_self: bool + :param use_snap_edit: Target: Include Edit, (optional) + :type use_snap_edit: bool + :param use_snap_nonedit: Target: Include Non-Edited, (optional) + :type use_snap_nonedit: bool + :param use_snap_selectable: Target: Exclude Non-Selectable, (optional) + :type use_snap_selectable: bool + :param snap_point: Point, (array of 3 items, in [-inf, inf], optional) + :type snap_point: :class:`mathutils.Vector` | Sequence[float] + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: tilt(*, value=0.0, mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, release_confirm=False, use_accurate=False) + + Tilt selected control vertices of 3D curve + + :param value: Angle, (in [-inf, inf], optional) + :type value: float + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: tosphere(*, value=0.0, mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, gpencil_strokes=False, center_override=(0.0, 0.0, 0.0), release_confirm=False, use_accurate=False) + + Move selected items outward in a spherical shape around geometric center + + :param value: Factor, (in [0, 1], optional) + :type value: float + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param gpencil_strokes: Edit Grease Pencil, Edit selected Grease Pencil strokes (optional) + :type gpencil_strokes: bool + :param center_override: Center Override, Force using this center value (when set) (array of 3 items, in [-inf, inf], optional) + :type center_override: :class:`mathutils.Vector` | Sequence[float] + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: trackball(*, value=(0.0, 0.0), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, gpencil_strokes=False, center_override=(0.0, 0.0, 0.0), release_confirm=False, use_accurate=False) + + Trackball style rotation of selected items + + :param value: Angle, (array of 2 items, in [-inf, inf], optional) + :type value: Sequence[float] + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param gpencil_strokes: Edit Grease Pencil, Edit selected Grease Pencil strokes (optional) + :type gpencil_strokes: bool + :param center_override: Center Override, Force using this center value (when set) (array of 3 items, in [-inf, inf], optional) + :type center_override: :class:`mathutils.Vector` | Sequence[float] + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: transform(*, mode='TRANSLATION', value=(0.0, 0.0, 0.0, 0.0), orient_axis='Z', orient_type='GLOBAL', orient_matrix=((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, False), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False, snap_point=(0.0, 0.0, 0.0), snap_align=False, snap_normal=(0.0, 0.0, 0.0), gpencil_strokes=False, texture_space=False, remove_on_cancel=False, use_duplicated_keyframes=False, center_override=(0.0, 0.0, 0.0), release_confirm=False, use_accurate=False, use_automerge_and_split=False) + + Transform selected items by mode type + + :param mode: Mode, (optional) + :type mode: Literal[:ref:`rna_enum_transform_mode_type_items`] + :param value: Values, (array of 4 items, in [-inf, inf], optional) + :type value: :class:`mathutils.Vector` | Sequence[float] + :param orient_axis: Axis, (optional) + :type orient_axis: Literal[:ref:`rna_enum_axis_xyz_items`] + :param orient_type: Orientation, Transformation orientation (optional) + :type orient_type: Literal[:ref:`rna_enum_transform_orientation_items`] + :param orient_matrix: Matrix, (multi-dimensional array of 3 * 3 items, in [-inf, inf], optional) + :type orient_matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param orient_matrix_type: Matrix Orientation, (optional) + :type orient_matrix_type: Literal[:ref:`rna_enum_transform_orientation_items`] + :param constraint_axis: Constraint Axis, (array of 3 items, optional) + :type constraint_axis: Sequence[bool] + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param snap_elements: Snap to Elements, (optional) + :type snap_elements: set[Literal[:ref:`rna_enum_snap_element_items`]] + :param use_snap_project: Project Individual Elements, (optional) + :type use_snap_project: bool + :param snap_target: Snap Base, Point on source that will snap to target (optional) + :type snap_target: Literal[:ref:`rna_enum_snap_source_items`] + :param use_snap_self: Target: Include Active, (optional) + :type use_snap_self: bool + :param use_snap_edit: Target: Include Edit, (optional) + :type use_snap_edit: bool + :param use_snap_nonedit: Target: Include Non-Edited, (optional) + :type use_snap_nonedit: bool + :param use_snap_selectable: Target: Exclude Non-Selectable, (optional) + :type use_snap_selectable: bool + :param snap_point: Point, (array of 3 items, in [-inf, inf], optional) + :type snap_point: :class:`mathutils.Vector` | Sequence[float] + :param snap_align: Align with Point Normal, (optional) + :type snap_align: bool + :param snap_normal: Normal, (array of 3 items, in [-inf, inf], optional) + :type snap_normal: :class:`mathutils.Vector` | Sequence[float] + :param gpencil_strokes: Edit Grease Pencil, Edit selected Grease Pencil strokes (optional) + :type gpencil_strokes: bool + :param texture_space: Edit Texture Space, Edit object data texture space (optional) + :type texture_space: bool + :param remove_on_cancel: Remove on Cancel, Remove elements on cancel (optional) + :type remove_on_cancel: bool + :param use_duplicated_keyframes: Duplicated Keyframes, Transform duplicated keyframes (optional) + :type use_duplicated_keyframes: bool + :param center_override: Center Override, Force using this center value (when set) (array of 3 items, in [-inf, inf], optional) + :type center_override: :class:`mathutils.Vector` | Sequence[float] + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :param use_automerge_and_split: Auto Merge & Split, Forces the use of Auto Merge and Split (optional) + :type use_automerge_and_split: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: translate(*, value=(0.0, 0.0, 0.0), orient_type='GLOBAL', orient_matrix=((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, False), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1.0, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False, snap_point=(0.0, 0.0, 0.0), snap_align=False, snap_normal=(0.0, 0.0, 0.0), gpencil_strokes=False, cursor_transform=False, texture_space=False, remove_on_cancel=False, use_duplicated_keyframes=False, view2d_edge_pan=False, release_confirm=False, use_accurate=False, use_automerge_and_split=False, translate_origin=False) + + Move selected items + + :param value: Move, (array of 3 items, in [-inf, inf], optional) + :type value: :class:`mathutils.Vector` | Sequence[float] + :param orient_type: Orientation, Transformation orientation (optional) + :type orient_type: Literal[:ref:`rna_enum_transform_orientation_items`] + :param orient_matrix: Matrix, (multi-dimensional array of 3 * 3 items, in [-inf, inf], optional) + :type orient_matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param orient_matrix_type: Matrix Orientation, (optional) + :type orient_matrix_type: Literal[:ref:`rna_enum_transform_orientation_items`] + :param constraint_axis: Constraint Axis, (array of 3 items, optional) + :type constraint_axis: Sequence[bool] + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param use_proportional_edit: Proportional Editing, (optional) + :type use_proportional_edit: bool + :param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode (optional) + :type proportional_edit_falloff: Literal[:ref:`rna_enum_proportional_falloff_items`] + :param proportional_size: Proportional Size, (in [1e-06, inf], optional) + :type proportional_size: float + :param use_proportional_connected: Connected, (optional) + :type use_proportional_connected: bool + :param use_proportional_projected: Projected (2D), (optional) + :type use_proportional_projected: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param snap_elements: Snap to Elements, (optional) + :type snap_elements: set[Literal[:ref:`rna_enum_snap_element_items`]] + :param use_snap_project: Project Individual Elements, (optional) + :type use_snap_project: bool + :param snap_target: Snap Base, Point on source that will snap to target (optional) + :type snap_target: Literal[:ref:`rna_enum_snap_source_items`] + :param use_snap_self: Target: Include Active, (optional) + :type use_snap_self: bool + :param use_snap_edit: Target: Include Edit, (optional) + :type use_snap_edit: bool + :param use_snap_nonedit: Target: Include Non-Edited, (optional) + :type use_snap_nonedit: bool + :param use_snap_selectable: Target: Exclude Non-Selectable, (optional) + :type use_snap_selectable: bool + :param snap_point: Point, (array of 3 items, in [-inf, inf], optional) + :type snap_point: :class:`mathutils.Vector` | Sequence[float] + :param snap_align: Align with Point Normal, (optional) + :type snap_align: bool + :param snap_normal: Normal, (array of 3 items, in [-inf, inf], optional) + :type snap_normal: :class:`mathutils.Vector` | Sequence[float] + :param gpencil_strokes: Edit Grease Pencil, Edit selected Grease Pencil strokes (optional) + :type gpencil_strokes: bool + :param cursor_transform: Transform Cursor, (optional) + :type cursor_transform: bool + :param texture_space: Edit Texture Space, Edit object data texture space (optional) + :type texture_space: bool + :param remove_on_cancel: Remove on Cancel, Remove elements on cancel (optional) + :type remove_on_cancel: bool + :param use_duplicated_keyframes: Duplicated Keyframes, Transform duplicated keyframes (optional) + :type use_duplicated_keyframes: bool + :param view2d_edge_pan: Edge Pan, Enable edge panning in 2D view (optional) + :type view2d_edge_pan: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :param use_automerge_and_split: Auto Merge & Split, Forces the use of Auto Merge and Split (optional) + :type use_automerge_and_split: bool + :param translate_origin: Translate Origin, Translate origin instead of selection (optional) + :type translate_origin: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vert_crease(*, value=0.0, snap=False, release_confirm=False, use_accurate=False) + + Change the crease of vertices + + :param value: Factor, (in [-1, 1], optional) + :type value: float + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vert_slide(*, value=0.0, use_even=False, flipped=False, use_clamp=True, direction=(0.0, 0.0, 0.0), mirror=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False, snap_point=(0.0, 0.0, 0.0), correct_uv=True, release_confirm=False, use_accurate=False) + + Slide a vertex along a mesh + + :param value: Factor, (in [-10, 10], optional) + :type value: float + :param use_even: Even, Make the edge loop match the shape of the adjacent edge loop (optional) + :type use_even: bool + :param flipped: Flipped, When Even mode is active, flips between the two adjacent edge loops (optional) + :type flipped: bool + :param use_clamp: Clamp, Clamp within the edge extents (optional) + :type use_clamp: bool + :param direction: Slide Direction, World-space direction (array of 3 items, in [-inf, inf], optional) + :type direction: :class:`mathutils.Vector` | Sequence[float] + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param snap: Use Snapping Options, (optional) + :type snap: bool + :param snap_elements: Snap to Elements, (optional) + :type snap_elements: set[Literal[:ref:`rna_enum_snap_element_items`]] + :param use_snap_project: Project Individual Elements, (optional) + :type use_snap_project: bool + :param snap_target: Snap Base, Point on source that will snap to target (optional) + :type snap_target: Literal[:ref:`rna_enum_snap_source_items`] + :param use_snap_self: Target: Include Active, (optional) + :type use_snap_self: bool + :param use_snap_edit: Target: Include Edit, (optional) + :type use_snap_edit: bool + :param use_snap_nonedit: Target: Include Non-Edited, (optional) + :type use_snap_nonedit: bool + :param use_snap_selectable: Target: Exclude Non-Selectable, (optional) + :type use_snap_selectable: bool + :param snap_point: Point, (array of 3 items, in [-inf, inf], optional) + :type snap_point: :class:`mathutils.Vector` | Sequence[float] + :param correct_uv: Correct UVs, Correct UV coordinates when transforming (optional) + :type correct_uv: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_random(*, offset=0.0, uniform=0.0, normal=0.0, seed=0, wait_for_input=True) + + Randomize vertices + + :param offset: Amount, Distance to offset (in [-inf, inf], optional) + :type offset: float + :param uniform: Uniform, Increase for uniform offset distance (in [0, 1], optional) + :type uniform: float + :param normal: Normal, Align offset direction to normals (in [0, 1], optional) + :type normal: float + :param seed: Random Seed, Seed for the random number generator (in [0, 10000], optional) + :type seed: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: vertex_warp(*, warp_angle=6.28319, offset_angle=0.0, min=-1.0, max=1.0, viewmat=((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), center=(0.0, 0.0, 0.0)) + + Warp vertices around the cursor + + :param warp_angle: Warp Angle, Amount to warp about the cursor (in [-inf, inf], optional) + :type warp_angle: float + :param offset_angle: Offset Angle, Angle to use as the basis for warping (in [-inf, inf], optional) + :type offset_angle: float + :param min: Min, (in [-inf, inf], optional) + :type min: float + :param max: Max, (in [-inf, inf], optional) + :type max: float + :param viewmat: Matrix, (multi-dimensional array of 4 * 4 items, in [-inf, inf], optional) + :type viewmat: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param center: Center, (array of 3 items, in [-inf, inf], optional) + :type center: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.ui.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.ui.rst new file mode 100644 index 0000000..b3dec65 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.ui.rst @@ -0,0 +1,293 @@ +Ui Operators +============ + +.. module:: bpy.ops.ui + +.. function:: assign_default_button() + + Set this property's current value as the new default + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: button_execute(*, skip_depressed=False) + + Presses active button + + :param skip_depressed: Skip Depressed, (optional) + :type skip_depressed: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: button_string_clear() + + Unsets the text of the active button + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: copy_as_driver_button() + + Create a new driver with this property as input, and copy it to the internal clipboard. Use Paste Driver to add it to the target property, or Paste Driver Variables to extend an existing driver + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: copy_data_path_button(*, full_path=False) + + Copy the RNA data path for this property to the clipboard + + :param full_path: full_path, Copy full data path (optional) + :type full_path: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy_driver_to_selected_button(*, all=False) + + Copy the property's driver from the active item to the same property of all selected items, if the same property exists + + :param all: All, Copy to selected the drivers of all elements of the array (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy_python_command_button() + + Copy the Python command matching this button + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: copy_to_selected_button(*, all=True) + + Copy the property's value from the active item to the same property of all selected items if the same property exists + + :param all: All, Copy to selected all elements of the array (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: drop_color(*, color=(0.0, 0.0, 0.0, 0.0), gamma=False, has_alpha=False) + + Drop colors to buttons + + :param color: Color, Source color (array of 4 items, in [0, inf], optional) + :type color: Sequence[float] + :param gamma: Gamma Corrected, The source color is gamma corrected (optional) + :type gamma: bool + :param has_alpha: Has Alpha, The source color contains an Alpha component (optional) + :type has_alpha: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: drop_material(*, session_uid=0) + + Drag material to Material slots in Properties + + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: drop_name(*, string="") + + Drop name to button + + :param string: String, The string value to drop into the button (optional, never None) + :type string: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: editsource() + + Edit UI source code of the active button + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: eyedropper_bone() + + Sample a bone from the 3D View or the Outliner to store in a property + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: eyedropper_color(*, prop_data_path="") + + Sample a color from the Blender window to store in a property + + :param prop_data_path: Data Path, Path of property to be set with the depth (optional, never None) + :type prop_data_path: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: eyedropper_colorramp() + + Sample a color band + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: eyedropper_colorramp_point() + + Point-sample a color band + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: eyedropper_depth(*, prop_data_path="") + + Sample depth from the 3D view + + :param prop_data_path: Data Path, Path of property to be set with the depth (optional, never None) + :type prop_data_path: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: eyedropper_driver(*, mapping_type='SINGLE_MANY') + + Pick a property to use as a driver target + + :param mapping_type: Mapping Type, Method used to match target and driven properties (optional) + + - ``SINGLE_MANY`` + All from Target -- Drive all components of this property using the target picked. + - ``DIRECT`` + Single from Target -- Drive this component of this property using the target picked. + - ``MATCH`` + Match Indices -- Create drivers for each pair of corresponding elements. + - ``NONE_ALL`` + Manually Create Later -- Create drivers for all properties without assigning any targets yet. + - ``NONE_SINGLE`` + Manually Create Later (Single) -- Create driver for this property only and without assigning any targets yet. + :type mapping_type: Literal['SINGLE_MANY', 'DIRECT', 'MATCH', 'NONE_ALL', 'NONE_SINGLE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: eyedropper_grease_pencil_color(*, mode='MATERIAL', material_mode='STROKE') + + Sample a color from the Blender Window and create Grease Pencil material + + :param mode: Mode, (optional) + :type mode: Literal['MATERIAL', 'PALETTE', 'BRUSH'] + :param material_mode: Material Mode, (optional) + :type material_mode: Literal['STROKE', 'FILL', 'BOTH'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: eyedropper_id() + + Sample a data-block from the 3D View to store in a property + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: jump_to_target_button() + + Switch to the target object or bone + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: list_start_filter() + + Start entering filter text for the list in focus + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: override_add_button(*, all=True) + + Create an override operation + + :param all: All, Add overrides for all elements of the array (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: override_idtemplate_clear() + + Delete the selected local override and relink its usages to the linked data-block if possible, else reset it and mark it as non editable + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: override_idtemplate_make() + + Create a local override of the selected linked data-block, and its hierarchy of dependencies + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: override_idtemplate_reset() + + Reset the selected local override to its linked reference values + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: override_remove_button(*, all=True) + + Remove an override operation + + :param all: All, Reset to default values all elements of the array (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reloadtranslation() + + Force a full reload of UI translation + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: reset_default_button(*, all=True) + + Reset this property's value to its default value + + :param all: All, Reset to default values all elements of the array (optional) + :type all: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: unset_property_button() + + Clear the property and use default or generated value in operators + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_drop() + + Drag and drop onto a data-set or item within the data-set + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_item_delete() + + Delete selected list item + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_item_rename() + + Rename the active item in the data-set view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_item_select(*, wait_to_deselect_others=False, use_select_on_click=False, mouse_x=0, mouse_y=0, extend=False, range_select=False) + + Activate selected view item + + :param wait_to_deselect_others: Wait to Deselect Others, (optional) + :type wait_to_deselect_others: bool + :param use_select_on_click: Act on Click, Instead of selecting on mouse press, wait to see if there's drag event. Otherwise select on mouse release (optional) + :type use_select_on_click: bool + :param mouse_x: Mouse X, (in [-inf, inf], optional) + :type mouse_x: int + :param mouse_y: Mouse Y, (in [-inf, inf], optional) + :type mouse_y: int + :param extend: extend, Extend Selection (optional) + :type extend: bool + :param range_select: Range Select, Select all between clicked and active items (optional) + :type range_select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_scroll() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_start_filter() + + Start entering filter text for the data-set in focus + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.uilist.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.uilist.rst new file mode 100644 index 0000000..390dae0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.uilist.rst @@ -0,0 +1,51 @@ +Uilist Operators +================ + +.. module:: bpy.ops.uilist + +.. function:: entry_add(*, list_path="", active_index_path="") + + Add an entry to the list after the current active item + + :param list_path: list_path, (optional, never None) + :type list_path: str + :param active_index_path: active_index_path, (optional, never None) + :type active_index_path: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_ui/generic_ui_list.py\:208 `__ + + +.. function:: entry_move(*, list_path="", active_index_path="", direction='UP') + + Move an entry in the list up or down + + :param list_path: list_path, (optional, never None) + :type list_path: str + :param active_index_path: active_index_path, (optional, never None) + :type active_index_path: str + :param direction: Direction, (optional) + + - ``UP`` + Up -- Move the active entry up. + - ``DOWN`` + Down -- Move the active entry down. + :type direction: Literal['UP', 'DOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_ui/generic_ui_list.py\:236 `__ + + +.. function:: entry_remove(*, list_path="", active_index_path="") + + Remove the selected entry from the list + + :param list_path: list_path, (optional, never None) + :type list_path: str + :param active_index_path: active_index_path, (optional, never None) + :type active_index_path: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_ui/generic_ui_list.py\:191 `__ + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.uv.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.uv.rst new file mode 100644 index 0000000..3369e54 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.uv.rst @@ -0,0 +1,997 @@ +Uv Operators +============ + +.. module:: bpy.ops.uv + +.. function:: align(*, axis='ALIGN_AUTO', position_mode='MEAN') + + Aligns selected UV vertices on a line + + :param axis: Axis, Axis to align UV locations on (optional) + + - ``ALIGN_S`` + Straighten -- Align UV vertices along the line defined by the endpoints. + - ``ALIGN_T`` + Straighten X -- Align UV vertices, moving them horizontally to the line defined by the endpoints. + - ``ALIGN_U`` + Straighten Y -- Align UV vertices, moving them vertically to the line defined by the endpoints. + - ``ALIGN_AUTO`` + Align Auto -- Automatically choose the direction on which there is most alignment already. + - ``ALIGN_X`` + Align Vertically -- Align UV vertices on a vertical line. + - ``ALIGN_Y`` + Align Horizontally -- Align UV vertices on a horizontal line. + :type axis: Literal['ALIGN_S', 'ALIGN_T', 'ALIGN_U', 'ALIGN_AUTO', 'ALIGN_X', 'ALIGN_Y'] + :param position_mode: Position Mode, Method of calculating the alignment position (optional) + + - ``MEAN`` + Mean -- Align UVs along the mean position. + - ``MIN`` + Minimum -- Align UVs along the minimum position. + - ``MAX`` + Maximum -- Align UVs along the maximum position. + :type position_mode: Literal['MEAN', 'MIN', 'MAX'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: align_rotation(*, method='AUTO', axis='X', correct_aspect=False) + + Align the UV island's rotation + + :param method: Method, Method to calculate rotation angle (optional) + + - ``AUTO`` + Auto -- Align from all edges. + - ``EDGE`` + Edge -- Only selected edges. + - ``GEOMETRY`` + Geometry -- Align to Geometry axis. + :type method: Literal['AUTO', 'EDGE', 'GEOMETRY'] + :param axis: Axis, Axis to align to (optional) + + - ``X`` + X -- X axis. + - ``Y`` + Y -- Y axis. + - ``Z`` + Z -- Z axis. + :type axis: Literal['X', 'Y', 'Z'] + :param correct_aspect: Correct Aspect, Take image aspect ratio into account (optional) + :type correct_aspect: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/uvcalc_transform.py\:360 `__ + + +.. function:: arrange_islands(*, initial_position='BOUNDING_BOX', axis='Y', align='MIN', order='LARGE_TO_SMALL', margin=0.05) + + Arrange selected UV islands on a line + + :param initial_position: Initial Position, Initial position to arrange islands from (optional) + + - ``BOUNDING_BOX`` + Bounding Box -- Initial alignment based on the islands bounding box. + - ``UV_GRID`` + UV Grid -- Initial alignment based on UV Tile Grid. + - ``ACTIVE_UDIM`` + Active UDIM -- Initial alignment based on Active UDIM. + - ``CURSOR`` + 2D Cursor -- Initial alignment based on 2D cursor. + :type initial_position: Literal['BOUNDING_BOX', 'UV_GRID', 'ACTIVE_UDIM', 'CURSOR'] + :param axis: Axis, Axis to arrange UV islands on (optional) + + - ``X`` + X -- Align UV islands along the X axis. + - ``Y`` + Y -- Align UV islands along the Y axis. + :type axis: Literal['X', 'Y'] + :param align: Align, Location to align islands on (optional) + + - ``MIN`` + Min -- Align the islands to the min of the island. + - ``MAX`` + Max -- Align the islands to the max side of the island. + - ``CENTER`` + Center -- Align the islands to the center of the largest island. + - ``NONE`` + None -- Preserve island alignment. + :type align: Literal['MIN', 'MAX', 'CENTER', 'NONE'] + :param order: Order, Order of islands (optional) + + - ``LARGE_TO_SMALL`` + Largest to Smallest -- Sort islands from largest to smallest. + - ``SMALL_TO_LARGE`` + Smallest to Largest -- Sort islands from smallest to largest. + - ``Fixed`` + Fixed -- Preserve island order. + :type order: Literal['LARGE_TO_SMALL', 'SMALL_TO_LARGE', 'Fixed'] + :param margin: Margin, Space between islands (in [0, 1], optional) + :type margin: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: average_islands_scale(*, scale_uv=False, shear=False) + + Average the size of separate UV islands, based on their area in 3D space + + :param scale_uv: Non-Uniform, Scale U and V independently (optional) + :type scale_uv: bool + :param shear: Shear, Reduce shear within islands (optional) + :type shear: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copy() + + Copy selected UV vertices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: copy_mirrored_faces(*, direction='POSITIVE', precision=3) + + Copy mirror UV coordinates on the X axis based on a mirrored mesh + + :param direction: Axis Direction, (optional) + :type direction: Literal['POSITIVE', 'NEGATIVE'] + :param precision: Precision, Tolerance for finding vertex duplicates (in [1, 16], optional) + :type precision: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: cube_project(*, cube_size=1.0, correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False) + + Project the UV vertices of the mesh over the six faces of a cube + + :param cube_size: Cube Size, Size of the cube to project on (in [0, inf], optional) + :type cube_size: float + :param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account (optional) + :type correct_aspect: bool + :param clip_to_bounds: Clip to Bounds, Clip UV coordinates to bounds after unwrapping (optional) + :type clip_to_bounds: bool + :param scale_to_bounds: Scale to Bounds, Scale UV coordinates to bounds after unwrapping (optional) + :type scale_to_bounds: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: cursor_set(*, location=(0.0, 0.0)) + + Set 2D cursor location + + :param location: Location, Cursor location in normalized (0.0 to 1.0) coordinates (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: custom_region_set(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True) + + Set the boundaries of the user region + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: cylinder_project(*, direction='VIEW_ON_EQUATOR', align='POLAR_ZX', pole='PINCH', seam=False, radius=1.0, correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False) + + Project the UV vertices of the mesh over the curved wall of a cylinder + + :param direction: Direction, Direction of the sphere or cylinder (optional) + + - ``VIEW_ON_EQUATOR`` + View on Equator -- 3D view is on the equator. + - ``VIEW_ON_POLES`` + View on Poles -- 3D view is on the poles. + - ``ALIGN_TO_OBJECT`` + Align to Object -- Align according to object transform. + :type direction: Literal['VIEW_ON_EQUATOR', 'VIEW_ON_POLES', 'ALIGN_TO_OBJECT'] + :param align: Align, How to determine rotation around the pole (optional) + + - ``POLAR_ZX`` + Polar ZX -- Polar 0 is X. + - ``POLAR_ZY`` + Polar ZY -- Polar 0 is Y. + :type align: Literal['POLAR_ZX', 'POLAR_ZY'] + :param pole: Pole, How to handle faces at the poles (optional) + + - ``PINCH`` + Pinch -- UVs are pinched at the poles. + - ``FAN`` + Fan -- UVs are fanned at the poles. + :type pole: Literal['PINCH', 'FAN'] + :param seam: Preserve Seams, Separate projections by islands isolated by seams (optional) + :type seam: bool + :param radius: Radius, Radius of the sphere or cylinder (in [0, inf], optional) + :type radius: float + :param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account (optional) + :type correct_aspect: bool + :param clip_to_bounds: Clip to Bounds, Clip UV coordinates to bounds after unwrapping (optional) + :type clip_to_bounds: bool + :param scale_to_bounds: Scale to Bounds, Scale UV coordinates to bounds after unwrapping (optional) + :type scale_to_bounds: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: export_layout(*, filepath="", export_all=False, export_tiles='NONE', modified=False, mode='PNG', size=(1024, 1024), opacity=0.25, check_existing=True) + + Export UV layout to file + + :param filepath: filepath, (optional, never None) + :type filepath: str + :param export_all: All UVs, Export all UVs in this mesh (not just visible ones) (optional) + :type export_all: bool + :param export_tiles: Export Tiles, Choose whether to export only the [0, 1] range, or all UV tiles (optional) + + - ``NONE`` + None -- Export only UVs in the [0, 1] range. + - ``UDIM`` + UDIM -- Export tiles in the UDIM numbering scheme: 1001 + u_tile + 10\*v_tile. + - ``UV`` + UVTILE -- Export tiles in the UVTILE numbering scheme: u(u_tile + 1)_v(v_tile + 1). + :type export_tiles: Literal['NONE', 'UDIM', 'UV'] + :param modified: Modified, Exports UVs from the modified mesh (optional) + :type modified: bool + :param mode: Format, File format to export the UV layout to (optional) + + - ``SVG`` + Scalable Vector Graphic (.svg) -- Export the UV layout to a vector SVG file. + - ``EPS`` + Encapsulated PostScript (.eps) -- Export the UV layout to a vector EPS file. + - ``PNG`` + PNG Image (.png) -- Export the UV layout to a bitmap image. + :type mode: Literal['SVG', 'EPS', 'PNG'] + :param size: Size, Dimensions of the exported file (array of 2 items, in [8, 32768], optional) + :type size: Sequence[int] + :param opacity: Fill Opacity, Set amount of opacity for exported UV layout (in [0, 1], optional) + :type opacity: float + :param check_existing: check_existing, (optional) + :type check_existing: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `addons_core/io_mesh_uv_layout/__init__.py\:139 `__ + + +.. function:: follow_active_quads(*, mode='LENGTH_AVERAGE') + + Follow UVs from active quads along continuous face loops + + :param mode: Edge Length Mode, Method to space UV edge loops (optional) + + - ``EVEN`` + Even -- Space all UVs evenly. + - ``LENGTH`` + Length -- Average space UVs edge length of each loop. + - ``LENGTH_AVERAGE`` + Length Average -- Average space UVs edge length of each loop. + :type mode: Literal['EVEN', 'LENGTH', 'LENGTH_AVERAGE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/uvcalc_follow_active.py\:302 `__ + + +.. function:: hide(*, unselected=False) + + Hide (un)selected UV vertices + + :param unselected: Unselected, Hide unselected rather than selected (optional) + :type unselected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: lightmap_pack(*, PREF_CONTEXT='SEL_FACES', PREF_PACK_IN_ONE=True, PREF_NEW_UVLAYER=False, PREF_BOX_DIV=12, PREF_MARGIN_DIV=0.1) + + Pack each face's UVs into the UV bounds + + :param PREF_CONTEXT: Selection, (optional) + + - ``SEL_FACES`` + Selected Faces -- Pack only selected faces. + - ``ALL_FACES`` + All Faces -- Pack all faces in the mesh. + :type PREF_CONTEXT: Literal['SEL_FACES', 'ALL_FACES'] + :param PREF_PACK_IN_ONE: Share Texture Space, Objects share texture space, map all objects into a single UV map (optional) + :type PREF_PACK_IN_ONE: bool + :param PREF_NEW_UVLAYER: New UV Map, Create a new UV map for every mesh packed (optional) + :type PREF_NEW_UVLAYER: bool + :param PREF_BOX_DIV: Pack Quality, Quality of the packing. Higher values will be slower but waste less space (in [1, 48], optional) + :type PREF_BOX_DIV: int + :param PREF_MARGIN_DIV: Margin, Size of the margin as a division of the UV (in [0.001, 1], optional) + :type PREF_MARGIN_DIV: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/uvcalc_lightmap.py\:664 `__ + + +.. function:: mark_seam(*, clear=False) + + Mark selected UV edges as seams + + :param clear: Clear Seams, Clear instead of marking seams (optional) + :type clear: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: minimize_stretch(*, fill_holes=True, blend=0.0, iterations=0) + + Reduce UV stretching by relaxing angles + + :param fill_holes: Fill Holes, Virtually fill holes in mesh before unwrapping, to better avoid overlaps and preserve symmetry (optional) + :type fill_holes: bool + :param blend: Blend, Blend factor between stretch minimized and original (in [0, 1], optional) + :type blend: float + :param iterations: Iterations, Number of iterations to run, 0 is unlimited when run interactively (in [0, inf], optional) + :type iterations: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: move_on_axis(*, type='UDIM', axis='X', distance=1) + + Move UVs on an axis + + :param type: Type, Move Type (optional) + + - ``DYNAMIC`` + Dynamic -- Move by dynamic grid. + - ``PIXEL`` + Pixel -- Move by pixel. + - ``UDIM`` + UDIM -- Move by UDIM. + :type type: Literal['DYNAMIC', 'PIXEL', 'UDIM'] + :param axis: Axis, Axis to move UVs on (optional) + + - ``X`` + X axis -- Move vertices on the X axis. + - ``Y`` + Y axis -- Move vertices on the Y axis. + :type axis: Literal['X', 'Y'] + :param distance: Distance, Distance to move UVs (in [-inf, inf], optional) + :type distance: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: pack_islands(*, udim_source='CLOSEST_UDIM', rotate=True, rotate_method='ANY', scale=True, merge_overlap=False, margin_method='SCALED', margin=0.001, pin=False, pin_method='LOCKED', shape_method='CONCAVE') + + Transform all islands so that they fill up the UV/UDIM space as much as possible + + :param udim_source: Pack to, (optional) + + - ``CLOSEST_UDIM`` + Closest UDIM -- Pack islands to closest UDIM. + - ``ACTIVE_UDIM`` + Active UDIM -- Pack islands to active UDIM image tile or UDIM grid tile where 2D cursor is located. + - ``ORIGINAL_AABB`` + Original bounding box -- Pack to starting bounding box of islands. + - ``CUSTOM_REGION`` + Custom Region -- Pack islands to custom region. + :type udim_source: Literal['CLOSEST_UDIM', 'ACTIVE_UDIM', 'ORIGINAL_AABB', 'CUSTOM_REGION'] + :param rotate: Rotate, Rotate islands to improve layout (optional) + :type rotate: bool + :param rotate_method: Rotation Method, (optional) + + - ``ANY`` + Any -- Any angle is allowed for rotation. + - ``CARDINAL`` + Cardinal -- Only 90 degree rotations are allowed. + - ``AXIS_ALIGNED`` + Axis-aligned -- Rotated to a minimal rectangle, either vertical or horizontal. + - ``AXIS_ALIGNED_X`` + Axis-aligned (Horizontal) -- Rotate islands to be aligned horizontally. + - ``AXIS_ALIGNED_Y`` + Axis-aligned (Vertical) -- Rotate islands to be aligned vertically. + :type rotate_method: Literal['ANY', 'CARDINAL', 'AXIS_ALIGNED', 'AXIS_ALIGNED_X', 'AXIS_ALIGNED_Y'] + :param scale: Scale, Scale islands to fill unit square (optional) + :type scale: bool + :param merge_overlap: Merge Overlapping, Overlapping islands stick together (optional) + :type merge_overlap: bool + :param margin_method: Margin Method, (optional) + + - ``SCALED`` + Scaled -- Use scale of existing UVs to multiply margin. + - ``ADD`` + Add -- Just add the margin, ignoring any UV scale. + - ``FRACTION`` + Fraction -- Specify a precise fraction of final UV output. + :type margin_method: Literal['SCALED', 'ADD', 'FRACTION'] + :param margin: Margin, Space between islands (in [0, 1], optional) + :type margin: float + :param pin: Lock Pinned Islands, Constrain islands containing any pinned UV's (optional) + :type pin: bool + :param pin_method: Pin Method, (optional) + + - ``SCALE`` + Scale -- Pinned islands won't rescale. + - ``ROTATION`` + Rotation -- Pinned islands won't rotate. + - ``ROTATION_SCALE`` + Rotation and Scale -- Pinned islands will translate only. + - ``LOCKED`` + All -- Pinned islands are locked in place. + :type pin_method: Literal['SCALE', 'ROTATION', 'ROTATION_SCALE', 'LOCKED'] + :param shape_method: Shape Method, (optional) + + - ``CONCAVE`` + Exact Shape (Concave) -- Uses exact geometry. + - ``CONVEX`` + Boundary Shape (Convex) -- Uses convex hull. + - ``AABB`` + Bounding Box -- Uses bounding boxes. + :type shape_method: Literal['CONCAVE', 'CONVEX', 'AABB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: paste() + + Paste selected UV vertices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: pin(*, clear=False, invert=False) + + Set/clear selected UV vertices as anchored between multiple unwrap operations + + :param clear: Clear, Clear pinning for the selection instead of setting it (optional) + :type clear: bool + :param invert: Invert, Invert pinning for the selection instead of setting it (optional) + :type invert: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: project_from_view(*, orthographic=False, camera_bounds=True, correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False) + + Project the UV vertices of the mesh as seen in current 3D view + + :param orthographic: Orthographic, Use orthographic projection (optional) + :type orthographic: bool + :param camera_bounds: Camera Bounds, Map UVs to the camera region taking resolution and aspect into account (optional) + :type camera_bounds: bool + :param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account (optional) + :type correct_aspect: bool + :param clip_to_bounds: Clip to Bounds, Clip UV coordinates to bounds after unwrapping (optional) + :type clip_to_bounds: bool + :param scale_to_bounds: Scale to Bounds, Scale UV coordinates to bounds after unwrapping (optional) + :type scale_to_bounds: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: randomize_uv_transform(*, random_seed=0, use_loc=True, loc=(0.0, 0.0), use_rot=True, rot=0.0, use_scale=True, scale_even=False, scale=(1.0, 1.0)) + + Randomize the UV island's location, rotation, and scale + + :param random_seed: Random Seed, Seed value for the random generator (in [0, 10000], optional) + :type random_seed: int + :param use_loc: Randomize Location, Randomize the location values (optional) + :type use_loc: bool + :param loc: Location, Maximum distance the objects can spread over each axis (array of 2 items, in [-100, 100], optional) + :type loc: :class:`mathutils.Vector` | Sequence[float] + :param use_rot: Randomize Rotation, Randomize the rotation value (optional) + :type use_rot: bool + :param rot: Rotation, Maximum rotation (in [-6.28319, 6.28319], optional) + :type rot: float + :param use_scale: Randomize Scale, Randomize the scale values (optional) + :type use_scale: bool + :param scale_even: Scale Even, Use the same scale value for both axes (optional) + :type scale_even: bool + :param scale: Scale, Maximum scale randomization over each axis (array of 2 items, in [-100, 100], optional) + :type scale: Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/uvcalc_transform.py\:536 `__ + + +.. function:: remove_doubles(*, threshold=0.02, use_unselected=False, use_shared_vertex=False) + + Selected UV vertices that are within a radius of each other are welded together + + :param threshold: Merge Distance, Maximum distance between welded vertices (in [0, 10], optional) + :type threshold: float + :param use_unselected: Unselected, Merge selected to other unselected vertices (optional) + :type use_unselected: bool + :param use_shared_vertex: Shared Vertex, Weld UVs based on shared vertices (optional) + :type use_shared_vertex: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reset() + + Reset UV projection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: reveal(*, select=True) + + Reveal all hidden UV vertices + + :param select: Select, (optional) + :type select: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rip(*, mirror=False, release_confirm=False, use_accurate=False, location=(0.0, 0.0)) + + Rip selected vertices or a selected region + + :param mirror: Mirror Editing, (optional) + :type mirror: bool + :param release_confirm: Confirm on Release, Always confirm operation when releasing button (optional) + :type release_confirm: bool + :param use_accurate: Accurate, Use accurate transformation (optional) + :type use_accurate: bool + :param location: Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rip_move(*, UV_OT_rip={}, TRANSFORM_OT_translate={}) + + Unstitch UVs and move the result + + :param UV_OT_rip: UV Rip, Rip selected vertices or a selected region (optional, :func:`bpy.ops.uv.rip` keyword arguments) + :type UV_OT_rip: dict[str, Any] + :param TRANSFORM_OT_translate: Move, Move selected items (optional, :func:`bpy.ops.transform.translate` keyword arguments) + :type TRANSFORM_OT_translate: dict[str, Any] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: seams_from_islands(*, mark_seams=True, mark_sharp=False) + + Set mesh seams according to island setup in the UV editor + + :param mark_seams: Mark Seams, Mark boundary edges as seams (optional) + :type mark_seams: bool + :param mark_sharp: Mark Sharp, Mark boundary edges as sharp (optional) + :type mark_sharp: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select(*, extend=False, deselect=False, toggle=False, deselect_all=False, select_passthrough=False, location=(0.0, 0.0)) + + Select UV vertices + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param deselect: Deselect, Remove from selection (optional) + :type deselect: bool + :param toggle: Toggle Selection, Toggle the selection (optional) + :type toggle: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param select_passthrough: Only Select Unselected, Ignore the select action when the element is already selected (optional) + :type select_passthrough: bool + :param location: Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_all(*, action='TOGGLE') + + Change selection of all UV vertices + + :param action: Action, Selection action to execute (optional) + + - ``TOGGLE`` + Toggle -- Toggle selection for all elements. + - ``SELECT`` + Select -- Select all elements. + - ``DESELECT`` + Deselect -- Deselect all elements. + - ``INVERT`` + Invert -- Invert selection of all elements. + :type action: Literal['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, pinned=False, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET') + + Select UV vertices using box selection + + :param pinned: Pinned, Border select pinned UVs only (optional) + :type pinned: bool + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_circle(*, x=0, y=0, radius=25, wait_for_input=True, mode='SET') + + Select UV vertices using circle selection + + :param x: X, (in [-inf, inf], optional) + :type x: int + :param y: Y, (in [-inf, inf], optional) + :type y: int + :param radius: Radius, (in [1, inf], optional) + :type radius: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_edge_ring(*, extend=False, location=(0.0, 0.0)) + + Select an edge ring of connected UV vertices + + :param extend: Extend, Extend selection rather than clearing the existing selection (optional) + :type extend: bool + :param location: Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_lasso(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, mode='SET') + + Select UVs using lasso selection + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_less() + + Deselect UV vertices at the boundary of each selection region + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked() + + Select all UV vertices linked to the active UV map + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_linked_pick(*, extend=False, deselect=False, location=(0.0, 0.0)) + + Select all UV vertices linked under the mouse + + :param extend: Extend, Extend selection rather than clearing the existing selection (optional) + :type extend: bool + :param deselect: Deselect, Deselect linked UV vertices rather than selecting them (optional) + :type deselect: bool + :param location: Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_loop(*, extend=False, location=(0.0, 0.0)) + + Select a loop of connected UV vertices + + :param extend: Extend, Extend selection rather than clearing the existing selection (optional) + :type extend: bool + :param location: Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds (array of 2 items, in [-inf, inf], optional) + :type location: :class:`mathutils.Vector` | Sequence[float] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_mode(*, type='VERTEX') + + Change UV selection mode + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_mesh_select_mode_uv_items`] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_more() + + Select more UV vertices connected to initial selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_overlap(*, extend=False) + + Select all UV faces which overlap each other + + :param extend: Extend, Extend selection rather than clearing the existing selection (optional) + :type extend: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_pinned() + + Select all pinned UV vertices + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_similar(*, type='PIN', compare='EQUAL', threshold=0.0) + + Select similar UVs by property types + + :param type: Type, (optional) + + - ``PIN`` + Pinned. + - ``LENGTH`` + Length -- Edge length in UV space. + - ``LENGTH_3D`` + Length 3D -- Length of edge in 3D space. + - ``AREA`` + Area -- Face area in UV space. + - ``AREA_3D`` + Area 3D -- Area of face in 3D space. + - ``MATERIAL`` + Material. + - ``OBJECT`` + Object. + - ``SIDES`` + Polygon Sides. + - ``WINDING`` + Winding -- Face direction defined by clockwise or anti-clockwise winding (facing up or facing down). + - ``FACE`` + Amount of Faces in Island. + :type type: Literal['PIN', 'LENGTH', 'LENGTH_3D', 'AREA', 'AREA_3D', 'MATERIAL', 'OBJECT', 'SIDES', 'WINDING', 'FACE'] + :param compare: Compare, (optional) + :type compare: Literal['EQUAL', 'GREATER', 'LESS'] + :param threshold: Threshold, (in [0, 1], optional) + :type threshold: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_split() + + Select only entirely selected faces + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select_tile(*, extend=False, tile=(0, 0)) + + Select UVs in specified tile + + :param extend: Extend, Extend the selection (optional) + :type extend: bool + :param tile: Tile, Tile location to select UVs (array of 2 items, in [-inf, inf], optional) + :type tile: Sequence[int] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shortest_path_pick(*, use_face_step=False, use_topology_distance=False, use_fill=False, skip=0, nth=1, offset=0, object_index=-1, index=-1) + + Select shortest path between two selections + + :param use_face_step: Face Stepping, Traverse connected faces (includes diagonals and edge-rings) (optional) + :type use_face_step: bool + :param use_topology_distance: Topology Distance, Find the minimum number of steps, ignoring spatial distance (optional) + :type use_topology_distance: bool + :param use_fill: Fill Region, Select all paths between the source/destination elements (optional) + :type use_fill: bool + :param skip: Deselected, Number of deselected elements in the repetitive sequence (in [0, inf], optional) + :type skip: int + :param nth: Selected, Number of selected elements in the repetitive sequence (in [1, inf], optional) + :type nth: int + :param offset: Offset, Offset from the starting point (in [-inf, inf], optional) + :type offset: int + :param object_index: (in [-1, inf], optional) + :type object_index: int + :param index: (in [-1, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: shortest_path_select(*, use_face_step=False, use_topology_distance=False, use_fill=False, skip=0, nth=1, offset=0) + + Select shortest path between two vertices/edges/faces + + :param use_face_step: Face Stepping, Traverse connected faces (includes diagonals and edge-rings) (optional) + :type use_face_step: bool + :param use_topology_distance: Topology Distance, Find the minimum number of steps, ignoring spatial distance (optional) + :type use_topology_distance: bool + :param use_fill: Fill Region, Select all paths between the source/destination elements (optional) + :type use_fill: bool + :param skip: Deselected, Number of deselected elements in the repetitive sequence (in [0, inf], optional) + :type skip: int + :param nth: Selected, Number of selected elements in the repetitive sequence (in [1, inf], optional) + :type nth: int + :param offset: Offset, Offset from the starting point (in [-inf, inf], optional) + :type offset: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: smart_project(*, angle_limit=1.15192, margin_method='SCALED', rotate_method='AXIS_ALIGNED_Y', island_margin=0.0, area_weight=0.0, correct_aspect=True, scale_to_bounds=False) + + Projection unwraps the selected faces of mesh objects + + :param angle_limit: Angle Limit, Lower for more projection groups, higher for less distortion (in [0, 1.5708], optional) + :type angle_limit: float + :param margin_method: Margin Method, (optional) + + - ``SCALED`` + Scaled -- Use scale of existing UVs to multiply margin. + - ``ADD`` + Add -- Just add the margin, ignoring any UV scale. + - ``FRACTION`` + Fraction -- Specify a precise fraction of final UV output. + :type margin_method: Literal['SCALED', 'ADD', 'FRACTION'] + :param rotate_method: Rotation Method, (optional) + + - ``AXIS_ALIGNED`` + Axis-aligned -- Rotated to a minimal rectangle, either vertical or horizontal. + - ``AXIS_ALIGNED_X`` + Axis-aligned (Horizontal) -- Rotate islands to be aligned horizontally. + - ``AXIS_ALIGNED_Y`` + Axis-aligned (Vertical) -- Rotate islands to be aligned vertically. + :type rotate_method: Literal['AXIS_ALIGNED', 'AXIS_ALIGNED_X', 'AXIS_ALIGNED_Y'] + :param island_margin: Island Margin, Margin to reduce bleed from adjacent islands (in [0, 1], optional) + :type island_margin: float + :param area_weight: Area Weight, Weight projection's vector by faces with larger areas (in [0, 1], optional) + :type area_weight: float + :param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account (optional) + :type correct_aspect: bool + :param scale_to_bounds: Scale to Bounds, Scale UV coordinates to bounds after unwrapping (optional) + :type scale_to_bounds: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: snap_cursor(*, target='PIXELS') + + Snap cursor to target type + + :param target: Target, Target to snap the selected UVs to (optional) + :type target: Literal['PIXELS', 'SELECTED', 'ORIGIN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: snap_selected(*, target='PIXELS') + + Snap selected UV vertices to target type + + :param target: Target, Target to snap the selected UVs to (optional) + :type target: Literal['PIXELS', 'CURSOR', 'CURSOR_OFFSET', 'ADJACENT_UNSELECTED'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: sphere_project(*, direction='VIEW_ON_EQUATOR', align='POLAR_ZX', pole='PINCH', seam=False, correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False) + + Project the UV vertices of the mesh over the curved surface of a sphere + + :param direction: Direction, Direction of the sphere or cylinder (optional) + + - ``VIEW_ON_EQUATOR`` + View on Equator -- 3D view is on the equator. + - ``VIEW_ON_POLES`` + View on Poles -- 3D view is on the poles. + - ``ALIGN_TO_OBJECT`` + Align to Object -- Align according to object transform. + :type direction: Literal['VIEW_ON_EQUATOR', 'VIEW_ON_POLES', 'ALIGN_TO_OBJECT'] + :param align: Align, How to determine rotation around the pole (optional) + + - ``POLAR_ZX`` + Polar ZX -- Polar 0 is X. + - ``POLAR_ZY`` + Polar ZY -- Polar 0 is Y. + :type align: Literal['POLAR_ZX', 'POLAR_ZY'] + :param pole: Pole, How to handle faces at the poles (optional) + + - ``PINCH`` + Pinch -- UVs are pinched at the poles. + - ``FAN`` + Fan -- UVs are fanned at the poles. + :type pole: Literal['PINCH', 'FAN'] + :param seam: Preserve Seams, Separate projections by islands isolated by seams (optional) + :type seam: bool + :param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account (optional) + :type correct_aspect: bool + :param clip_to_bounds: Clip to Bounds, Clip UV coordinates to bounds after unwrapping (optional) + :type clip_to_bounds: bool + :param scale_to_bounds: Scale to Bounds, Scale UV coordinates to bounds after unwrapping (optional) + :type scale_to_bounds: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: stitch(*, use_limit=False, snap_islands=True, limit=0.01, static_island=0, active_object_index=0, midpoint_snap=False, clear_seams=True, mode='VERTEX', stored_mode='VERTEX', selection=None, objects_selection_count=(0, 0, 0, 0, 0, 0)) + + Stitch selected UV vertices by proximity + + :param use_limit: Use Limit, Stitch UVs within a specified limit distance (optional) + :type use_limit: bool + :param snap_islands: Snap Islands, Snap islands together (on edge stitch mode, rotates the islands too) (optional) + :type snap_islands: bool + :param limit: Limit, Limit distance in normalized coordinates (in [0, inf], optional) + :type limit: float + :param static_island: Static Island, Island that stays in place when stitching islands (in [0, inf], optional) + :type static_island: int + :param active_object_index: Active Object, Index of the active object (in [0, inf], optional) + :type active_object_index: int + :param midpoint_snap: Snap at Midpoint, UVs are stitched at midpoint instead of at static island (optional) + :type midpoint_snap: bool + :param clear_seams: Clear Seams, Clear seams of stitched edges (optional) + :type clear_seams: bool + :param mode: Operation Mode, Use vertex or edge stitching (optional) + :type mode: Literal['VERTEX', 'EDGE'] + :param stored_mode: Stored Operation Mode, Use vertex or edge stitching (optional) + :type stored_mode: Literal['VERTEX', 'EDGE'] + :param selection: Selection, (optional) + :type selection: :class:`bpy_prop_collection`\ [:class:`SelectedUvElement`] | None + :param objects_selection_count: Objects Selection Count, (array of 6 items, in [0, inf], optional) + :type objects_selection_count: Sequence[int] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: unwrap(*, method='CONFORMAL', fill_holes=False, correct_aspect=True, use_subsurf_data=False, margin_method='SCALED', margin=0.001, no_flip=False, iterations=10, use_weights=False, weight_group="uv_importance", weight_factor=1.0) + + Unwrap the mesh of the object being edited + + :param method: Method, Unwrapping method (Angle Based usually gives better results than Conformal, while being somewhat slower) (optional) + :type method: Literal['ANGLE_BASED', 'CONFORMAL', 'MINIMUM_STRETCH'] + :param fill_holes: Fill Holes, Virtually fill holes in mesh before unwrapping, to better avoid overlaps and preserve symmetry (optional) + :type fill_holes: bool + :param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account (optional) + :type correct_aspect: bool + :param use_subsurf_data: Use Subdivision Surface, Map UVs taking vertex position after Subdivision Surface modifier has been applied (optional) + :type use_subsurf_data: bool + :param margin_method: Margin Method, (optional) + + - ``SCALED`` + Scaled -- Use scale of existing UVs to multiply margin. + - ``ADD`` + Add -- Just add the margin, ignoring any UV scale. + - ``FRACTION`` + Fraction -- Specify a precise fraction of final UV output. + :type margin_method: Literal['SCALED', 'ADD', 'FRACTION'] + :param margin: Margin, Space between islands (in [0, 1], optional) + :type margin: float + :param no_flip: No Flip, Prevent flipping UV's, flipping may lower distortion depending on the position of pins (optional) + :type no_flip: bool + :param iterations: Iterations, Number of iterations when "Minimum Stretch" method is used (in [0, 10000], optional) + :type iterations: int + :param use_weights: Importance Weights, Whether to take into account per-vertex importance weights (optional) + :type use_weights: bool + :param weight_group: Weight Group, Vertex group name for importance weights (modulating the deform) (optional, never None) + :type weight_group: str + :param weight_factor: Weight Factor, How much influence the weightmap has for weighted parameterization, 0 being no influence (in [-10000, 10000], optional) + :type weight_factor: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: weld() + + Weld selected UV vertices together + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.view2d.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.view2d.rst new file mode 100644 index 0000000..b4397dc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.view2d.rst @@ -0,0 +1,166 @@ +View2D Operators +================ + +.. module:: bpy.ops.view2d + +.. function:: edge_pan(*, inside_padding=1.0, outside_padding=0.0, speed_ramp=1.0, max_speed=500.0, delay=1.0, zoom_influence=0.0) + + Pan the view when the mouse is held at an edge + + :param inside_padding: Inside Padding, Inside distance in UI units from the edge of the region within which to start panning (in [0, 100], optional) + :type inside_padding: float + :param outside_padding: Outside Padding, Outside distance in UI units from the edge of the region at which to stop panning (in [0, 100], optional) + :type outside_padding: float + :param speed_ramp: Speed Ramp, Width of the zone in UI units where speed increases with distance from the edge (in [0, 100], optional) + :type speed_ramp: float + :param max_speed: Max Speed, Maximum speed in UI units per second (in [0, 10000], optional) + :type max_speed: float + :param delay: Delay, Delay in seconds before maximum speed is reached (in [0, 10], optional) + :type delay: float + :param zoom_influence: Zoom Influence, Influence of the zoom factor on scroll speed (in [0, 1], optional) + :type zoom_influence: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: pan(*, deltax=0, deltay=0) + + Pan the view + + :param deltax: Delta X, (in [-inf, inf], optional) + :type deltax: int + :param deltay: Delta Y, (in [-inf, inf], optional) + :type deltay: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: reset() + + Reset the view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: scroll_down(*, deltax=0, deltay=0, page=False) + + Scroll the view down + + :param deltax: Delta X, (in [-inf, inf], optional) + :type deltax: int + :param deltay: Delta Y, (in [-inf, inf], optional) + :type deltay: int + :param page: Page, Scroll down one page (optional) + :type page: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scroll_left(*, deltax=0, deltay=0) + + Scroll the view left + + :param deltax: Delta X, (in [-inf, inf], optional) + :type deltax: int + :param deltay: Delta Y, (in [-inf, inf], optional) + :type deltay: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scroll_right(*, deltax=0, deltay=0) + + Scroll the view right + + :param deltax: Delta X, (in [-inf, inf], optional) + :type deltax: int + :param deltay: Delta Y, (in [-inf, inf], optional) + :type deltay: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scroll_up(*, deltax=0, deltay=0, page=False) + + Scroll the view up + + :param deltax: Delta X, (in [-inf, inf], optional) + :type deltax: int + :param deltay: Delta Y, (in [-inf, inf], optional) + :type deltay: int + :param page: Page, Scroll up one page (optional) + :type page: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: scroller_activate() + + Scroll view by mouse click and drag + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: smoothview(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True) + + Undocumented, consider `contributing `__. + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: zoom(*, deltax=0.0, deltay=0.0, use_cursor_init=True) + + Zoom in/out the view + + :param deltax: Delta X, (in [-inf, inf], optional) + :type deltax: float + :param deltay: Delta Y, (in [-inf, inf], optional) + :type deltay: float + :param use_cursor_init: Use Mouse Position, Allow the initial mouse position to be used (optional) + :type use_cursor_init: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: zoom_border(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, zoom_out=False) + + Zoom in the view to the nearest item contained in the border + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param zoom_out: Zoom Out, (optional) + :type zoom_out: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: zoom_in(*, zoomfacx=0.0, zoomfacy=0.0) + + Zoom in the view + + :param zoomfacx: Zoom Factor X, (in [-inf, inf], optional) + :type zoomfacx: float + :param zoomfacy: Zoom Factor Y, (in [-inf, inf], optional) + :type zoomfacy: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: zoom_out(*, zoomfacx=0.0, zoomfacy=0.0) + + Zoom out the view + + :param zoomfacx: Zoom Factor X, (in [-inf, inf], optional) + :type zoomfacx: float + :param zoomfacy: Zoom Factor Y, (in [-inf, inf], optional) + :type zoomfacy: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.view3d.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.view3d.rst new file mode 100644 index 0000000..0166c58 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.view3d.rst @@ -0,0 +1,716 @@ +View3D Operators +================ + +.. module:: bpy.ops.view3d + +.. function:: bone_select_menu(*, name='', extend=False, deselect=False, toggle=False) + + Menu bone selection + + :param name: Bone Name, (optional) + :type name: str + :param extend: Extend, (optional) + :type extend: bool + :param deselect: Deselect, (optional) + :type deselect: bool + :param toggle: Toggle, (optional) + :type toggle: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: camera_background_image_add(*, filepath="", relative_path=True, name="", session_uid=0) + + Add a new background image to the active camera + + :param filepath: Filepath, Path to image file (optional, never None, blend relative ``//`` prefix supported) + :type filepath: str + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: camera_background_image_remove(*, index=0) + + Remove a background image from the camera + + :param index: Index, Background image index to remove (in [0, inf], optional) + :type index: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: camera_to_view() + + Set camera view to active view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: camera_to_view_selected() + + Move the camera so selected objects are framed + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: clear_render_border() + + Clear the boundaries of the border render and disable border render + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: clip_border(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True) + + Set the view clipping region + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: copybuffer() + + Copy the selected objects to the internal clipboard + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: cursor3d(*, use_depth=True, orientation='VIEW') + + Set the location of the 3D cursor + + :param use_depth: Surface Project, Project onto the surface (optional) + :type use_depth: bool + :param orientation: Orientation, Preset viewpoint to use (optional) + + - ``NONE`` + None -- Leave orientation unchanged. + - ``VIEW`` + View -- Orient to the viewport. + - ``XFORM`` + Transform -- Orient to the current transform setting. + - ``GEOM`` + Geometry -- Match the surface normal. + :type orientation: Literal['NONE', 'VIEW', 'XFORM', 'GEOM'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: dolly(*, mx=0, my=0, delta=0, use_cursor_init=True) + + Dolly in/out in the view + + :param mx: Region Position X, (in [0, inf], optional) + :type mx: int + :param my: Region Position Y, (in [0, inf], optional) + :type my: int + :param delta: Delta, (in [-inf, inf], optional) + :type delta: int + :param use_cursor_init: Use Mouse Position, Allow the initial mouse position to be used (optional) + :type use_cursor_init: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: drop_world(*, name="", session_uid=0) + + Drop a world into the scene + + :param name: Name, Name of the data-block to use by the operator (optional, never None) + :type name: str + :param session_uid: Session UID, Session UID of the data-block to use by the operator (in [-inf, inf], optional) + :type session_uid: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: edit_mesh_extrude_individual_move() + + Extrude each individual face separately along local normals + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/view3d.py\:30 `__ + +.. function:: edit_mesh_extrude_manifold_normal() + + Extrude manifold region along normals + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/view3d.py\:198 `__ + +.. function:: edit_mesh_extrude_move_normal(*, dissolve_and_intersect=False) + + Extrude region together along the average normal + + :param dissolve_and_intersect: Dissolve and Intersect, Dissolves adjacent faces and intersects new geometry (optional) + :type dissolve_and_intersect: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/view3d.py\:166 `__ + + +.. function:: edit_mesh_extrude_move_shrink_fatten() + + Extrude region together along local normals + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/view3d.py\:182 `__ + +.. function:: fly() + + Interactively fly around the scene + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: interactive_add(*, primitive_type='CUBE', plane_origin_base='EDGE', plane_origin_depth='EDGE', plane_aspect_base='FREE', plane_aspect_depth='FREE', wait_for_input=True) + + Interactively add an object + + :param primitive_type: Primitive, (optional) + :type primitive_type: Literal['CUBE', 'CYLINDER', 'CONE', 'SPHERE_UV', 'SPHERE_ICO'] + :param plane_origin_base: Origin, The initial position for placement (optional) + + - ``EDGE`` + Edge -- Start placing the edge position. + - ``CENTER`` + Center -- Start placing the center position. + :type plane_origin_base: Literal['EDGE', 'CENTER'] + :param plane_origin_depth: Origin, The initial position for placement (optional) + + - ``EDGE`` + Edge -- Start placing the edge position. + - ``CENTER`` + Center -- Start placing the center position. + :type plane_origin_depth: Literal['EDGE', 'CENTER'] + :param plane_aspect_base: Aspect, The initial aspect setting (optional) + + - ``FREE`` + Free -- Use an unconstrained aspect. + - ``FIXED`` + Fixed -- Use a fixed 1:1 aspect. + :type plane_aspect_base: Literal['FREE', 'FIXED'] + :param plane_aspect_depth: Aspect, The initial aspect setting (optional) + + - ``FREE`` + Free -- Use an unconstrained aspect. + - ``FIXED`` + Fixed -- Use a fixed 1:1 aspect. + :type plane_aspect_depth: Literal['FREE', 'FIXED'] + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: localview(*, frame_selected=True) + + Toggle display of selected object(s) separately and centered in view + + :param frame_selected: Frame Selected, Move the view to frame the selected objects (optional) + :type frame_selected: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: localview_remove_from() + + Move selected objects out of local view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: move(*, use_cursor_init=True) + + Move the view + + :param use_cursor_init: Use Mouse Position, Allow the initial mouse position to be used (optional) + :type use_cursor_init: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: navigate() + + Interactively navigate around the scene (uses the mode (walk/fly) preference) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: object_as_camera() + + Set the active object as the active camera for this view or scene + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: object_mode_pie_or_toggle() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: pastebuffer(*, autoselect=True, active_collection=True) + + Paste objects from the internal clipboard + + :param autoselect: Select, Select pasted objects (optional) + :type autoselect: bool + :param active_collection: Active Collection, Put pasted objects in the active collection (optional) + :type active_collection: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: render_border(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True) + + Set the boundaries of the border render and enable border render + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: rotate(*, use_cursor_init=True) + + Rotate the view + + :param use_cursor_init: Use Mouse Position, Allow the initial mouse position to be used (optional) + :type use_cursor_init: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: ruler_add() + + Add ruler + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: ruler_remove() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: select(*, extend=False, deselect=False, toggle=False, deselect_all=False, select_passthrough=False, center=False, enumerate=False, object=False, location=(0, 0)) + + Select and activate item(s) + + :param extend: Extend, Extend selection instead of deselecting everything first (optional) + :type extend: bool + :param deselect: Deselect, Remove from selection (optional) + :type deselect: bool + :param toggle: Toggle Selection, Toggle the selection (optional) + :type toggle: bool + :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor (optional) + :type deselect_all: bool + :param select_passthrough: Only Select Unselected, Ignore the select action when the element is already selected (optional) + :type select_passthrough: bool + :param center: Center, Use the object center when selecting, in edit mode used to extend object selection (optional) + :type center: bool + :param enumerate: Enumerate, List objects under the mouse (object mode only) (optional) + :type enumerate: bool + :param object: Object, Use object selection (edit mode only) (optional) + :type object: bool + :param location: Location, Mouse location (array of 2 items, in [-inf, inf], optional) + :type location: Sequence[int] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_box(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET') + + Select items using box selection + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + - ``XOR`` + Difference -- Invert existing selection. + - ``AND`` + Intersect -- Intersect existing selection. + :type mode: Literal['SET', 'ADD', 'SUB', 'XOR', 'AND'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_circle(*, x=0, y=0, radius=25, wait_for_input=True, mode='SET') + + Select items using circle selection + + :param x: X, (in [-inf, inf], optional) + :type x: int + :param y: Y, (in [-inf, inf], optional) + :type y: int + :param radius: Radius, (in [1, inf], optional) + :type radius: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + :type mode: Literal['SET', 'ADD', 'SUB'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_lasso(*, path=None, use_smooth_stroke=False, smooth_stroke_factor=0.75, smooth_stroke_radius=35, mode='SET') + + Select items using lasso selection + + :param path: Path, (optional) + :type path: :class:`bpy_prop_collection`\ [:class:`OperatorMousePath`] | None + :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path (optional) + :type use_smooth_stroke: bool + :param smooth_stroke_factor: Smooth Stroke Factor, Higher values give a smoother stroke (in [0.5, 0.99], optional) + :type smooth_stroke_factor: float + :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues (in [10, 200], optional) + :type smooth_stroke_radius: int + :param mode: Mode, (optional) + + - ``SET`` + Set -- Set a new selection. + - ``ADD`` + Extend -- Extend existing selection. + - ``SUB`` + Subtract -- Subtract existing selection. + - ``XOR`` + Difference -- Invert existing selection. + - ``AND`` + Intersect -- Intersect existing selection. + :type mode: Literal['SET', 'ADD', 'SUB', 'XOR', 'AND'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: select_menu(*, name='', extend=False, deselect=False, toggle=False) + + Menu object selection + + :param name: Object Name, (optional) + :type name: str + :param extend: Extend, (optional) + :type extend: bool + :param deselect: Deselect, (optional) + :type deselect: bool + :param toggle: Toggle, (optional) + :type toggle: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: smoothview() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: snap_cursor_to_active() + + Snap 3D cursor to the active item + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: snap_cursor_to_center() + + Snap 3D cursor to the world origin + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: snap_cursor_to_grid() + + Snap 3D cursor to the nearest grid division + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: snap_cursor_to_selected() + + Snap 3D cursor to the middle of the selected item(s) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: snap_selected_to_active() + + Snap selected item(s) to the active item + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: snap_selected_to_cursor(*, use_offset=True, use_rotation=False) + + Snap selected item(s) to the 3D cursor + + :param use_offset: Offset, If the selection should be snapped as a whole or by each object center (optional) + :type use_offset: bool + :param use_rotation: Rotation, If the selection should be rotated to match the cursor (optional) + :type use_rotation: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: snap_selected_to_grid() + + Snap selected item(s) to their nearest grid division + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: toggle_matcap_flip() + + Flip MatCap + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: toggle_shading(*, type='WIREFRAME') + + Toggle shading type in 3D viewport + + :param type: Type, Shading type to toggle (optional) + + - ``WIREFRAME`` + Wireframe -- Toggle wireframe shading. + - ``SOLID`` + Solid -- Toggle solid shading. + - ``MATERIAL`` + Material Preview -- Toggle material preview shading. + - ``RENDERED`` + Rendered -- Toggle rendered shading. + :type type: Literal['WIREFRAME', 'SOLID', 'MATERIAL', 'RENDERED'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: toggle_xray() + + Transparent scene display. Allow selecting through items + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: transform_gizmo_set(*, extend=False, type=set()) + + Set the current transform gizmo + + :param extend: Extend, (optional) + :type extend: bool + :param type: Type, (optional) + :type type: set[Literal['TRANSLATE', 'ROTATE', 'SCALE']] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/view3d.py\:245 `__ + + +.. function:: view_all(*, use_all_regions=False, center=False) + + View all objects in scene + + :param use_all_regions: All Regions, View selected for all regions (optional) + :type use_all_regions: bool + :param center: Center, (optional) + :type center: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_axis(*, type='LEFT', align_active=False, relative=False) + + Use a preset viewpoint + + :param type: View, Preset viewpoint to use (optional) + + - ``LEFT`` + Left -- View from the left. + - ``RIGHT`` + Right -- View from the right. + - ``BOTTOM`` + Bottom -- View from the bottom. + - ``TOP`` + Top -- View from the top. + - ``FRONT`` + Front -- View from the front. + - ``BACK`` + Back -- View from the back. + :type type: Literal['LEFT', 'RIGHT', 'BOTTOM', 'TOP', 'FRONT', 'BACK'] + :param align_active: Align Active, Align to the active object's axis (optional) + :type align_active: bool + :param relative: Relative, Rotate relative to the current orientation (optional) + :type relative: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_camera() + + Toggle the camera view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_center_camera() + + Center the camera view, resizing the view to fit its bounds + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_center_cursor() + + Center the view so that the cursor is in the middle of the view + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_center_lock() + + Center the view lock offset + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_center_pick() + + Center the view to the Z-depth position under the mouse cursor + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_lock_clear() + + Clear all view locking + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_lock_to_active() + + Lock the view to the active object/bone + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_orbit(*, angle=0.0, type='ORBITLEFT') + + Orbit the view + + :param angle: Roll, (in [-inf, inf], optional) + :type angle: float + :param type: Orbit, Direction of View Orbit (optional) + + - ``ORBITLEFT`` + Orbit Left -- Orbit the view around to the left. + - ``ORBITRIGHT`` + Orbit Right -- Orbit the view around to the right. + - ``ORBITUP`` + Orbit Up -- Orbit the view up. + - ``ORBITDOWN`` + Orbit Down -- Orbit the view down. + :type type: Literal['ORBITLEFT', 'ORBITRIGHT', 'ORBITUP', 'ORBITDOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_pan(*, type='PANLEFT') + + Pan the view in a given direction + + :param type: Pan, Direction of View Pan (optional) + + - ``PANLEFT`` + Pan Left -- Pan the view to the left. + - ``PANRIGHT`` + Pan Right -- Pan the view to the right. + - ``PANUP`` + Pan Up -- Pan the view up. + - ``PANDOWN`` + Pan Down -- Pan the view down. + :type type: Literal['PANLEFT', 'PANRIGHT', 'PANUP', 'PANDOWN'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_persportho() + + Switch the current view from perspective/orthographic projection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: view_roll(*, angle=0.0, type='ANGLE') + + Roll the view + + :param angle: Roll, (in [-inf, inf], optional) + :type angle: float + :param type: Roll Angle Source, How roll angle is calculated (optional) + + - ``ANGLE`` + Roll Angle -- Roll the view using an angle value. + - ``LEFT`` + Roll Left -- Roll the view around to the left. + - ``RIGHT`` + Roll Right -- Roll the view around to the right. + :type type: Literal['ANGLE', 'LEFT', 'RIGHT'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: view_selected(*, use_all_regions=False) + + Move the view to the selection center + + :param use_all_regions: All Regions, View selected for all regions (optional) + :type use_all_regions: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: walk() + + Interactively walk around the scene + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: zoom(*, mx=0, my=0, delta=0, use_cursor_init=True) + + Zoom in/out in the view + + :param mx: Region Position X, (in [0, inf], optional) + :type mx: int + :param my: Region Position Y, (in [0, inf], optional) + :type my: int + :param delta: Delta, (in [-inf, inf], optional) + :type delta: int + :param use_cursor_init: Use Mouse Position, Allow the initial mouse position to be used (optional) + :type use_cursor_init: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: zoom_border(*, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, zoom_out=False) + + Zoom in the view to the nearest object contained in the border + + :param xmin: X Min, (in [-inf, inf], optional) + :type xmin: int + :param xmax: X Max, (in [-inf, inf], optional) + :type xmax: int + :param ymin: Y Min, (in [-inf, inf], optional) + :type ymin: int + :param ymax: Y Max, (in [-inf, inf], optional) + :type ymax: int + :param wait_for_input: Wait for Input, (optional) + :type wait_for_input: bool + :param zoom_out: Zoom Out, (optional) + :type zoom_out: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: zoom_camera_1_to_1() + + Match the camera to 1:1 to the render output + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.wm.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.wm.rst new file mode 100644 index 0000000..d76b5ab --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.wm.rst @@ -0,0 +1,1774 @@ +Wm Operators +============ + +.. module:: bpy.ops.wm + +.. function:: append(*, filepath="", directory="", filename="", files=None, check_existing=False, filter_blender=True, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=True, filemode=1, display_type='DEFAULT', sort_method='', link=False, do_reuse_local_id=False, clear_asset_data=False, autoselect=True, active_collection=True, instance_collections=False, instance_object_data=True, set_fake=False, use_recursive=True) + + Append from a Library .blend file + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param filename: File Name, Name of the file (optional, never None) + :type filename: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param link: Link, Link the objects or data-blocks rather than appending (optional) + :type link: bool + :param do_reuse_local_id: Re-Use Local Data, Try to re-use previously matching appended data-blocks instead of appending a new copy (optional) + :type do_reuse_local_id: bool + :param clear_asset_data: Clear Asset Data, Don't add asset meta-data or tags from the original data-block (optional) + :type clear_asset_data: bool + :param autoselect: Select, Select new objects (optional) + :type autoselect: bool + :param active_collection: Active Collection, Put new objects on the active collection (optional) + :type active_collection: bool + :param instance_collections: Instance Collections, Create instances for collections, rather than adding them directly to the scene (optional) + :type instance_collections: bool + :param instance_object_data: Instance Object Data, Create instances for object data which are not referenced by any objects (optional) + :type instance_object_data: bool + :param set_fake: Fake User, Set "Fake User" for appended items (except objects and collections) (optional) + :type set_fake: bool + :param use_recursive: Localize All, Localize all appended data, including those indirectly linked from other libraries (optional) + :type use_recursive: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: batch_rename(*, data_type='OBJECT', data_source='SELECT', actions=None) + + Rename multiple items at once + + :param data_type: Type, Type of data to rename (optional) + :type data_type: Literal['OBJECT', 'COLLECTION', 'MATERIAL', 'MESH', 'CURVE', 'META', 'VOLUME', 'GREASEPENCIL', 'ARMATURE', 'LATTICE', 'LIGHT', 'LIGHT_PROBE', 'CAMERA', 'SPEAKER', 'BONE', 'NODE', 'SEQUENCE_STRIP', 'ACTION_CLIP', 'SCENE', 'BRUSH'] + :param data_source: Source, (optional) + :type data_source: Literal['SELECT', 'ALL'] + :param actions: actions, (optional) + :type actions: :class:`bpy_prop_collection`\ [:class:`BatchRenameAction`] | None + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:3283 `__ + + +.. function:: blend_strings_utf8_validate() + + Check and fix all strings in current .blend file to be valid UTF-8 Unicode (needed for some old, 2.4x area files) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/file.py\:289 `__ + +.. function:: call_asset_shelf_popover(*, name="") + + Open a predefined asset shelf in a popup + + :param name: Asset Shelf Name, Identifier of the asset shelf to display (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: call_menu(*, name="") + + Open a predefined menu + + :param name: Name, Name of the menu (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: call_menu_pie(*, name="") + + Open a predefined pie menu + + :param name: Name, Name of the pie menu (optional, never None) + :type name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: call_panel(*, name="", keep_open=True) + + Open a predefined panel + + :param name: Name, Name of the menu (optional, never None) + :type name: str + :param keep_open: Keep Open, (optional) + :type keep_open: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: clear_recent_files(*, remove='ALL') + + Clear the recent files list + + :param remove: Remove, (optional) + :type remove: Literal['ALL', 'MISSING'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: collection_export_all() + + Invoke all configured exporters for all collections + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: context_collection_boolean_set(*, data_path_iter="", data_path_item="", type='TOGGLE') + + Set boolean values for a collection of items + + :param data_path_iter: data_path_iter, The data path relative to the context, must point to an iterable (optional, never None) + :type data_path_iter: str + :param data_path_item: data_path_item, The data path from each iterable to the value (int or float) (optional, never None) + :type data_path_item: str + :param type: Type, (optional) + :type type: Literal['TOGGLE', 'ENABLE', 'DISABLE'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:875 `__ + + +.. function:: context_cycle_array(*, data_path="", reverse=False) + + Set a context array value (useful for cycling the active mesh edit mode) + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param reverse: Reverse, Cycle backwards (optional) + :type reverse: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:673 `__ + + +.. function:: context_cycle_enum(*, data_path="", reverse=False, wrap=False) + + Toggle a context value + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param reverse: Reverse, Cycle backwards (optional) + :type reverse: bool + :param wrap: Wrap, Wrap back to the first/last values (optional) + :type wrap: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:624 `__ + + +.. function:: context_cycle_int(*, data_path="", reverse=False, wrap=False) + + Set a context value (useful for cycling active material, shape keys, groups, etc.) + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param reverse: Reverse, Cycle backwards (optional) + :type reverse: bool + :param wrap: Wrap, Wrap back to the first/last values (optional) + :type wrap: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:584 `__ + + +.. function:: context_menu_enum(*, data_path="") + + Undocumented, consider `contributing `__. + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:703 `__ + + +.. function:: context_modal_mouse(*, data_path_iter="", data_path_item="", header_text="", input_scale=0.01, invert=False, initial_x=0) + + Adjust arbitrary values with mouse input + + :param data_path_iter: data_path_iter, The data path relative to the context, must point to an iterable (optional, never None) + :type data_path_iter: str + :param data_path_item: data_path_item, The data path from each iterable to the value (int or float) (optional, never None) + :type data_path_item: str + :param header_text: Header Text, Text to display in header during scale (optional, never None) + :type header_text: str + :param input_scale: input_scale, Scale the mouse movement by this value before applying the delta (in [-inf, inf], optional) + :type input_scale: float + :param invert: invert, Invert the mouse input (optional) + :type invert: bool + :param initial_x: initial_x, (in [-inf, inf], optional) + :type initial_x: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:1014 `__ + + +.. function:: context_pie_enum(*, data_path="") + + Undocumented, consider `contributing `__. + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:735 `__ + + +.. function:: context_scale_float(*, data_path="", value=1.0) + + Scale a float context value + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param value: Value, Assign value (in [-inf, inf], optional) + :type value: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:338 `__ + + +.. function:: context_scale_int(*, data_path="", value=1.0, always_step=True) + + Scale an int context value + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param value: Value, Assign value (in [-inf, inf], optional) + :type value: float + :param always_step: Always Step, Always adjust the value by a minimum of 1 when 'value' is not 1.0 (optional) + :type always_step: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:376 `__ + + +.. function:: context_set_boolean(*, data_path="", value=True) + + Set a context value + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param value: Value, Assignment value (optional) + :type value: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:267 `__ + + +.. function:: context_set_enum(*, data_path="", value="") + + Set a context value + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param value: Value, Assignment value (as a string) (optional, never None) + :type value: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:267 `__ + + +.. function:: context_set_float(*, data_path="", value=0.0, relative=False) + + Set a context value + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param value: Value, Assignment value (in [-inf, inf], optional) + :type value: float + :param relative: Relative, Apply relative to the current value (delta) (optional) + :type relative: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:267 `__ + + +.. function:: context_set_id(*, data_path="", value="") + + Set a context value to an ID data-block + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param value: Value, Assign value (optional, never None) + :type value: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:817 `__ + + +.. function:: context_set_int(*, data_path="", value=0, relative=False) + + Set a context value + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param value: Value, Assign value (in [-inf, inf], optional) + :type value: int + :param relative: Relative, Apply relative to the current value (delta) (optional) + :type relative: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:267 `__ + + +.. function:: context_set_string(*, data_path="", value="") + + Set a context value + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param value: Value, Assign value (optional, never None) + :type value: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:267 `__ + + +.. function:: context_set_value(*, data_path="", value="") + + Set a context value + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param value: Value, Assignment value (as a string) (optional, never None) + :type value: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:480 `__ + + +.. function:: context_toggle(*, data_path="", module="") + + Toggle a context value + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param module: Module, Optionally override the context with a module (optional, never None) + :type module: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:504 `__ + + +.. function:: context_toggle_enum(*, data_path="", value_1="", value_2="") + + Toggle a context value + + :param data_path: Context Attributes, Context data-path (expanded using visible windows in the current .blend file) (optional, never None) + :type data_path: str + :param value_1: Value, Toggle enum (optional, never None) + :type value_1: str + :param value_2: Value, Toggle enum (optional, never None) + :type value_2: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:545 `__ + + +.. function:: debug_menu(*, debug_value=0) + + Open a popup to set the debug level + + :param debug_value: Debug Value, (in [-32768, 32767], optional) + :type debug_value: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: doc_view(*, doc_id="") + + Open online reference docs in a web browser + + :param doc_id: Doc ID, (optional, never None) + :type doc_id: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:1361 `__ + + +.. function:: doc_view_manual(*, doc_id="") + + Load online manual + + :param doc_id: Doc ID, (optional, never None) + :type doc_id: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:1334 `__ + + +.. function:: doc_view_manual_ui_context() + + View a context based online manual in a web browser + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: drop_blend_file(*, filepath="") + + Undocumented, consider `contributing `__. + + :param filepath: filepath, (optional, never None) + :type filepath: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:3658 `__ + + +.. function:: drop_import_file(*, directory="", files=None) + + Operator that allows file handlers to receive file drops + + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: id_linked_relocate(*, id_session_uid=0, filepath="", directory="", filename="", check_existing=False, filter_blender=True, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=True, filemode=1, relative_path=True, display_type='DEFAULT', sort_method='', link=True, do_reuse_local_id=False, clear_asset_data=False, autoselect=True, active_collection=False, instance_collections=False, instance_object_data=False) + + Relocate a linked ID, i.e. select another ID to link, and remap its local usages to that newly linked data-block). Currently only designed as an internal operator, not directly exposed to the user + + :param id_session_uid: Linked ID Session UID, Unique runtime identifier for the linked ID to relocate (in [0, inf], optional) + :type id_session_uid: int + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param filename: File Name, Name of the file (optional, never None) + :type filename: str + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param link: Link, Link the objects or data-blocks rather than appending (optional) + :type link: bool + :param do_reuse_local_id: Re-Use Local Data, Try to re-use previously matching appended data-blocks instead of appending a new copy (optional) + :type do_reuse_local_id: bool + :param clear_asset_data: Clear Asset Data, Don't add asset meta-data or tags from the original data-block (optional) + :type clear_asset_data: bool + :param autoselect: Select, Select new objects (optional) + :type autoselect: bool + :param active_collection: Active Collection, Put new objects on the active collection (optional) + :type active_collection: bool + :param instance_collections: Instance Collections, Create instances for collections, rather than adding them directly to the scene (optional) + :type instance_collections: bool + :param instance_object_data: Instance Object Data, Create instances for object data which are not referenced by any objects (optional) + :type instance_object_data: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: interface_theme_preset_add(*, name="", remove_name=False, remove_active=False) + + Add a custom theme to the preset list + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: interface_theme_preset_remove(*, name="", remove_name=False, remove_active=True) + + Remove a custom theme from the preset list + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: interface_theme_preset_save(*, name="", remove_name=False, remove_active=True) + + Save a custom theme in the preset list + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:711 `__ + + +.. function:: keyconfig_preset_add(*, name="", remove_name=False, remove_active=False) + + Add a custom keymap configuration to the preset list + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: keyconfig_preset_remove(*, name="", remove_name=False, remove_active=True) + + Remove a custom keymap configuration from the preset list + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: lib_reload(*, library="", filepath="", directory="", filename="", hide_props_region=True, check_existing=False, filter_blender=True, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=8, relative_path=True, display_type='DEFAULT', sort_method='') + + Reload the given library + + :param library: Library, Library to reload (optional, never None) + :type library: str + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param filename: File Name, Name of the file (optional, never None) + :type filename: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: lib_relocate(*, library="", filepath="", directory="", filename="", files=None, hide_props_region=True, check_existing=False, filter_blender=True, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=8, relative_path=True, display_type='DEFAULT', sort_method='') + + Relocate the given library to one or several others + + :param library: Library, Library to relocate (optional, never None) + :type library: str + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param filename: File Name, Name of the file (optional, never None) + :type filename: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: link(*, filepath="", directory="", filename="", files=None, check_existing=False, filter_blender=True, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=True, filemode=1, relative_path=True, display_type='DEFAULT', sort_method='', link=True, do_reuse_local_id=False, clear_asset_data=False, autoselect=True, active_collection=True, instance_collections=True, instance_object_data=True) + + Link from a Library .blend file + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param directory: Directory, Directory of the file (optional, never None) + :type directory: str + :param filename: File Name, Name of the file (optional, never None) + :type filename: str + :param files: Files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param relative_path: Relative Path, Select the file relative to the blend file (optional) + :type relative_path: bool + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param link: Link, Link the objects or data-blocks rather than appending (optional) + :type link: bool + :param do_reuse_local_id: Re-Use Local Data, Try to re-use previously matching appended data-blocks instead of appending a new copy (optional) + :type do_reuse_local_id: bool + :param clear_asset_data: Clear Asset Data, Don't add asset meta-data or tags from the original data-block (optional) + :type clear_asset_data: bool + :param autoselect: Select, Select new objects (optional) + :type autoselect: bool + :param active_collection: Active Collection, Put new objects on the active collection (optional) + :type active_collection: bool + :param instance_collections: Instance Collections, Create instances for collections, rather than adding them directly to the scene (optional) + :type instance_collections: bool + :param instance_object_data: Instance Object Data, Create instances for object data which are not referenced by any objects (optional) + :type instance_object_data: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: memory_statistics() + + Print memory statistics to the console + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: open_mainfile(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=True, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=8, display_type='DEFAULT', sort_method='', load_ui=True, use_scripts=False, display_file_selector=True, state=0) + + Open a Blender file + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param load_ui: Load UI, Load user interface setup in the .blend file (optional) + :type load_ui: bool + :param use_scripts: Trusted Source, Allow .blend file to execute scripts automatically, default available from system preferences (optional) + :type use_scripts: bool + :param display_file_selector: Display File Selector, (optional) + :type display_file_selector: bool + :param state: State, (in [-inf, inf], optional) + :type state: int + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: operator_cheat_sheet() + + List all the operators in a text-block, useful for scripting + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2257 `__ + +.. function:: operator_defaults() + + Set the active operator to its default values + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: operator_pie_enum(*, data_path="", prop_string="") + + Undocumented, consider `contributing `__. + + :param data_path: Operator, Operator name (in Python as string) (optional, never None) + :type data_path: str + :param prop_string: Property, Property name (as a string) (optional, never None) + :type prop_string: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:777 `__ + + +.. function:: operator_preset_add(*, name="", remove_name=False, remove_active=False, operator="") + + Add or remove an Operator Preset + + :param name: Name, Name of the preset, used to make the path name (optional, never None) + :type name: str + :param remove_name: remove_name, (optional) + :type remove_name: bool + :param remove_active: remove_active, (optional) + :type remove_active: bool + :param operator: Operator, (optional, never None) + :type operator: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:119 `__ + + +.. function:: operator_presets_cleanup(*, operator="", properties=None) + + Remove outdated operator properties from presets that may cause problems + + :param operator: operator, (optional, never None) + :type operator: str + :param properties: properties, (optional) + :type properties: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/presets.py\:924 `__ + + +.. function:: owner_disable(*, owner_id="") + + Disable add-on for workspace + + :param owner_id: UI Tag, (optional, never None) + :type owner_id: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2305 `__ + + +.. function:: owner_enable(*, owner_id="") + + Enable add-on for workspace + + :param owner_id: UI Tag, (optional, never None) + :type owner_id: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2290 `__ + + +.. function:: path_open(*, filepath="") + + Open a path in a file browser + + :param filepath: filepath, (optional, never None) + :type filepath: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:1167 `__ + + +.. function:: previews_batch_clear(*, files=None, directory="", filter_blender=True, filter_folder=True, use_scenes=True, use_collections=True, use_objects=True, use_intern_data=True, use_trusted=False, use_backups=True) + + Clear selected .blend file's previews + + :param files: files, (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param directory: directory, (optional, never None) + :type directory: str + :param filter_blender: filter_blender, (optional) + :type filter_blender: bool + :param filter_folder: filter_folder, (optional) + :type filter_folder: bool + :param use_scenes: Scenes, Clear scenes' previews (optional) + :type use_scenes: bool + :param use_collections: Collections, Clear collections' previews (optional) + :type use_collections: bool + :param use_objects: Objects, Clear objects' previews (optional) + :type use_objects: bool + :param use_intern_data: Materials & Textures, Clear 'internal' previews (materials, textures, images, etc.) (optional) + :type use_intern_data: bool + :param use_trusted: Trusted Blend Files, Enable Python evaluation for selected files (optional) + :type use_trusted: bool + :param use_backups: Save Backups, Keep a backup (.blend1) version of the files when saving with cleared previews (optional) + :type use_backups: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/file.py\:204 `__ + + +.. function:: previews_batch_generate(*, files=None, directory="", filter_blender=True, filter_folder=True, use_scenes=True, use_collections=True, use_objects=True, use_intern_data=True, use_trusted=False, use_backups=True) + + Generate selected .blend file's previews + + :param files: Collection of file paths with common ``directory`` root (optional) + :type files: :class:`bpy_prop_collection`\ [:class:`OperatorFileListElement`] | None + :param directory: Root path of all files listed in ``files`` collection (optional, never None) + :type directory: str + :param filter_blender: Show Blender files in the File Browser (optional) + :type filter_blender: bool + :param filter_folder: Show folders in the File Browser (optional) + :type filter_folder: bool + :param use_scenes: Scenes, Generate scenes' previews (optional) + :type use_scenes: bool + :param use_collections: Collections, Generate collections' previews (optional) + :type use_collections: bool + :param use_objects: Objects, Generate objects' previews (optional) + :type use_objects: bool + :param use_intern_data: Materials & Textures, Generate 'internal' previews (materials, textures, images, etc.) (optional) + :type use_intern_data: bool + :param use_trusted: Trusted Blend Files, Enable Python evaluation for selected files (optional) + :type use_trusted: bool + :param use_backups: Save Backups, Keep a backup (.blend1) version of the files when saving with generated previews (optional) + :type use_backups: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/file.py\:95 `__ + + +.. function:: previews_clear(*, id_type=set()) + + Clear data-block previews (only for some types like objects, materials, textures, etc.) + + :param id_type: Data-Block Type, Which data-block previews to clear (optional) + + - ``ALL`` + All Types. + - ``GEOMETRY`` + All Geometry Types -- Clear previews for scenes, collections and objects. + - ``SHADING`` + All Shading Types -- Clear previews for materials, lights, worlds, textures and images. + - ``SCENE`` + Scenes. + - ``COLLECTION`` + Collections. + - ``OBJECT`` + Objects. + - ``MATERIAL`` + Materials. + - ``LIGHT`` + Lights. + - ``WORLD`` + Worlds. + - ``TEXTURE`` + Textures. + - ``IMAGE`` + Images. + :type id_type: set[Literal['ALL', 'GEOMETRY', 'SHADING', 'SCENE', 'COLLECTION', 'OBJECT', 'MATERIAL', 'LIGHT', 'WORLD', 'TEXTURE', 'IMAGE']] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: previews_ensure() + + Ensure data-block previews are available and up-to-date (to be saved in .blend file, only for some types like materials, textures, etc.) + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: properties_add(*, data_path="") + + Add your own property to the data-block + + :param data_path: Property Edit, Property data_path edit (optional, never None) + :type data_path: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2139 `__ + + +.. function:: properties_context_change(*, context="") + + Jump to a different tab inside the properties editor + + :param context: Context, (optional, never None) + :type context: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2182 `__ + + +.. function:: properties_edit(*, data_path="", property_name="", property_type='FLOAT', is_overridable_library=False, description="", use_soft_limits=False, array_length=3, default_int=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), min_int=-10000, max_int=10000, soft_min_int=-10000, soft_max_int=10000, step_int=1, default_bool=(False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False), default_float=(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), min_float=-10000.0, max_float=-10000.0, soft_min_float=-10000.0, soft_max_float=-10000.0, precision=3, step_float=0.1, subtype='', default_string="", id_type='OBJECT', eval_string="") + + Change a custom property's type, or adjust how it is displayed in the interface + + :param data_path: Property Edit, Property data_path edit (optional, never None) + :type data_path: str + :param property_name: Property Name, Property name edit (optional, never None) + :type property_name: str + :param property_type: Type, (optional) + + - ``FLOAT`` + Float -- A single floating-point value. + - ``FLOAT_ARRAY`` + Float Array -- An array of floating-point values. + - ``INT`` + Integer -- A single integer. + - ``INT_ARRAY`` + Integer Array -- An array of integers. + - ``BOOL`` + Boolean -- A true or false value. + - ``BOOL_ARRAY`` + Boolean Array -- An array of true or false values. + - ``STRING`` + String -- A string value. + - ``DATA_BLOCK`` + Data-Block -- A data-block value. + - ``PYTHON`` + Python -- Edit a Python value directly, for unsupported property types. + :type property_type: Literal['FLOAT', 'FLOAT_ARRAY', 'INT', 'INT_ARRAY', 'BOOL', 'BOOL_ARRAY', 'STRING', 'DATA_BLOCK', 'PYTHON'] + :param is_overridable_library: Library Overridable, Allow the property to be overridden when the data-block is linked (optional) + :type is_overridable_library: bool + :param description: Description, (optional, never None) + :type description: str + :param use_soft_limits: Soft Limits, Limits the Property Value slider to a range, values outside the range must be inputted numerically (optional) + :type use_soft_limits: bool + :param array_length: Array Length, (in [1, 32], optional) + :type array_length: int + :param default_int: Default Value, (array of 32 items, in [-inf, inf], optional) + :type default_int: Sequence[int] + :param min_int: Min, (in [-inf, inf], optional) + :type min_int: int + :param max_int: Max, (in [-inf, inf], optional) + :type max_int: int + :param soft_min_int: Soft Min, (in [-inf, inf], optional) + :type soft_min_int: int + :param soft_max_int: Soft Max, (in [-inf, inf], optional) + :type soft_max_int: int + :param step_int: Step, (in [1, inf], optional) + :type step_int: int + :param default_bool: Default Value, (array of 32 items, optional) + :type default_bool: Sequence[bool] + :param default_float: Default Value, (array of 32 items, in [-inf, inf], optional) + :type default_float: Sequence[float] + :param min_float: Min, (in [-inf, inf], optional) + :type min_float: float + :param max_float: Max, (in [-inf, inf], optional) + :type max_float: float + :param soft_min_float: Soft Min, (in [-inf, inf], optional) + :type soft_min_float: float + :param soft_max_float: Soft Max, (in [-inf, inf], optional) + :type soft_max_float: float + :param precision: Precision, (in [0, 8], optional) + :type precision: int + :param step_float: Step, (in [0.001, inf], optional) + :type step_float: float + :param subtype: Subtype, (optional) + :type subtype: str + :param default_string: Default Value, (optional, never None) + :type default_string: str + :param id_type: ID Type, (optional) + :type id_type: Literal['ACTION', 'ARMATURE', 'BRUSH', 'CACHEFILE', 'CAMERA', 'COLLECTION', 'CURVE', 'CURVES', 'FONT', 'GREASEPENCIL', 'GREASEPENCIL_V3', 'IMAGE', 'KEY', 'LATTICE', 'LIBRARY', 'LIGHT', 'LIGHT_PROBE', 'LINESTYLE', 'MASK', 'MATERIAL', 'MESH', 'META', 'MOVIECLIP', 'NODETREE', 'OBJECT', 'PAINTCURVE', 'PALETTE', 'PARTICLE', 'POINTCLOUD', 'SCENE', 'SCREEN', 'SOUND', 'SPEAKER', 'TEXT', 'TEXTURE', 'VOLUME', 'WINDOWMANAGER', 'WORKSPACE', 'WORLD'] + :param eval_string: Value, Python value for unsupported custom property types (optional, never None) + :type eval_string: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:1872 `__ + + +.. function:: properties_edit_value(*, data_path="", property_name="", eval_string="") + + Edit the value of a custom property + + :param data_path: Property Edit, Property data_path edit (optional, never None) + :type data_path: str + :param property_name: Property Name, Property name edit (optional, never None) + :type property_name: str + :param eval_string: Value, Value for custom property types that can only be edited as a Python expression (optional, never None) + :type eval_string: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2096 `__ + + +.. function:: properties_remove(*, data_path="", property_name="") + + Internal use (edit a property data_path) + + :param data_path: Property Edit, Property data_path edit (optional, never None) + :type data_path: str + :param property_name: Property Name, Property name edit (optional, never None) + :type property_name: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2196 `__ + + +.. function:: quit_blender() + + Quit Blender + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: radial_control(*, data_path_primary="", data_path_secondary="", use_secondary="", rotation_path="", color_path="", fill_color_path="", fill_color_override_path="", fill_color_override_test_path="", zoom_path="", image_id="", secondary_tex=False, release_confirm=False) + + Set some size property (e.g. brush size) with mouse wheel + + :param data_path_primary: Primary Data Path, Primary path of property to be set by the radial control (optional, never None) + :type data_path_primary: str + :param data_path_secondary: Secondary Data Path, Secondary path of property to be set by the radial control (optional, never None) + :type data_path_secondary: str + :param use_secondary: Use Secondary, Path of property to select between the primary and secondary data paths (optional, never None) + :type use_secondary: str + :param rotation_path: Rotation Path, Path of property used to rotate the texture display (optional, never None) + :type rotation_path: str + :param color_path: Color Path, Path of property used to set the color of the control (optional, never None) + :type color_path: str + :param fill_color_path: Fill Color Path, Path of property used to set the fill color of the control (optional, never None) + :type fill_color_path: str + :param fill_color_override_path: Fill Color Override Path, (optional, never None) + :type fill_color_override_path: str + :param fill_color_override_test_path: Fill Color Override Test, (optional, never None) + :type fill_color_override_test_path: str + :param zoom_path: Zoom Path, Path of property used to set the zoom level for the control (optional, never None) + :type zoom_path: str + :param image_id: Image ID, Path of ID that is used to generate an image for the control (optional, never None) + :type image_id: str + :param secondary_tex: Secondary Texture, Tweak brush secondary/mask texture (optional) + :type secondary_tex: bool + :param release_confirm: Confirm On Release, Finish operation on key release (optional) + :type release_confirm: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: read_factory_settings(*, use_factory_startup_app_template_only=False, app_template="Template", use_empty=False) + + Load factory default startup file and preferences. To make changes permanent, use "Save Startup File" and "Save Preferences" + + :param use_factory_startup_app_template_only: Factory Startup App-Template Only, (optional) + :type use_factory_startup_app_template_only: bool + :param app_template: (optional, never None) + :type app_template: str + :param use_empty: Empty, After loading, remove everything except scenes, windows, and workspaces. This makes it possible to load the startup file with its scene configuration and window layout intact, but no objects, materials, animations, ... (optional) + :type use_empty: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: read_factory_userpref(*, use_factory_startup_app_template_only=False) + + Load factory default preferences. To make changes to preferences permanent, use "Save Preferences" + + :param use_factory_startup_app_template_only: Factory Startup App-Template Only, (optional) + :type use_factory_startup_app_template_only: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: read_history() + + Reloads history and bookmarks + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: read_homefile(*, filepath="", load_ui=True, use_splash=False, use_factory_startup=False, use_factory_startup_app_template_only=False, app_template="Template", use_empty=False) + + Open the default file + + :param filepath: File Path, Path to an alternative start-up file (optional, never None) + :type filepath: str + :param load_ui: Load UI, Load user interface setup from the .blend file (optional) + :type load_ui: bool + :param use_splash: Splash, (optional) + :type use_splash: bool + :param use_factory_startup: Factory Startup, Load the default ('factory startup') blend file. This is independent of the normal start-up file that the user can save (optional) + :type use_factory_startup: bool + :param use_factory_startup_app_template_only: Factory Startup App-Template Only, (optional) + :type use_factory_startup_app_template_only: bool + :param app_template: (optional, never None) + :type app_template: str + :param use_empty: Empty, After loading, remove everything except scenes, windows, and workspaces. This makes it possible to load the startup file with its scene configuration and window layout intact, but no objects, materials, animations, ... (optional) + :type use_empty: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: read_userpref() + + Load last saved preferences + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: recover_auto_save(*, filepath="", hide_props_region=True, check_existing=False, filter_blender=True, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=False, filter_blenlib=False, filemode=8, display_type='LIST_VERTICAL', sort_method='', use_scripts=False) + + Open an automatically saved file to recover it + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param use_scripts: Trusted Source, Allow .blend file to execute scripts automatically, default available from system preferences (optional) + :type use_scripts: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: recover_last_session(*, use_scripts=False) + + Open the last closed file ("quit.blend") + + :param use_scripts: Trusted Source, Allow .blend file to execute scripts automatically, default available from system preferences (optional) + :type use_scripts: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: redraw_timer(*, type='DRAW', iterations=10, time_limit=0.0) + + Simple redraw timer to test the speed of updating the interface + + :param type: Type, (optional) + + - ``DRAW`` + Draw Region -- Draw region. + - ``DRAW_SWAP`` + Draw Region & Swap -- Draw region and swap. + - ``DRAW_WIN`` + Draw Window -- Draw window. + - ``DRAW_WIN_SWAP`` + Draw Window & Swap -- Draw window and swap. + - ``ANIM_STEP`` + Animation Step -- Animation steps. + - ``ANIM_PLAY`` + Animation Play -- Animation playback. + - ``UNDO`` + Undo/Redo -- Undo and redo. + :type type: Literal['DRAW', 'DRAW_SWAP', 'DRAW_WIN', 'DRAW_WIN_SWAP', 'ANIM_STEP', 'ANIM_PLAY', 'UNDO'] + :param iterations: Iterations, Number of times to redraw (in [1, inf], optional) + :type iterations: int + :param time_limit: Time Limit, Seconds to run the test for (override iterations) (in [0, inf], optional) + :type time_limit: float + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: revert_mainfile(*, use_scripts=False) + + Reload the saved file + + :param use_scripts: Trusted Source, Allow .blend file to execute scripts automatically, default available from system preferences (optional) + :type use_scripts: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: save_as_mainfile(*, filepath="", hide_props_region=True, check_existing=True, filter_blender=True, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=8, display_type='DEFAULT', sort_method='', compress=False, relative_remap=True, copy=False) + + Save the current file in the desired location + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param compress: Compress, Write compressed .blend file (optional) + :type compress: bool + :param relative_remap: Remap Relative, Remap relative paths when saving to a different directory (optional) + :type relative_remap: bool + :param copy: Save Copy, Save a copy of the actual working state but does not make saved file active (optional) + :type copy: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: save_homefile() + + Make the current file the default startup file + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: save_mainfile(*, filepath="", hide_props_region=True, check_existing=True, filter_blender=True, filter_backup=False, filter_image=False, filter_movie=False, filter_python=False, filter_font=False, filter_sound=False, filter_text=False, filter_archive=False, filter_btx=False, filter_alembic=False, filter_usd=False, filter_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=8, display_type='DEFAULT', sort_method='', compress=False, relative_remap=False, exit=False, incremental=False) + + Save the current Blender file + + :param filepath: File Path, Path to file (optional, never None) + :type filepath: str + :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings (optional) + :type hide_props_region: bool + :param check_existing: Check Existing, Check and warn on overwriting existing files (optional) + :type check_existing: bool + :param filter_blender: Filter .blend files, (optional) + :type filter_blender: bool + :param filter_backup: Filter backup .blend files, (optional) + :type filter_backup: bool + :param filter_image: Filter image files, (optional) + :type filter_image: bool + :param filter_movie: Filter movie files, (optional) + :type filter_movie: bool + :param filter_python: Filter Python files, (optional) + :type filter_python: bool + :param filter_font: Filter font files, (optional) + :type filter_font: bool + :param filter_sound: Filter sound files, (optional) + :type filter_sound: bool + :param filter_text: Filter text files, (optional) + :type filter_text: bool + :param filter_archive: Filter archive files, (optional) + :type filter_archive: bool + :param filter_btx: Filter btx files, (optional) + :type filter_btx: bool + :param filter_alembic: Filter Alembic files, (optional) + :type filter_alembic: bool + :param filter_usd: Filter USD files, (optional) + :type filter_usd: bool + :param filter_obj: Filter OBJ files, (optional) + :type filter_obj: bool + :param filter_volume: Filter OpenVDB volume files, (optional) + :type filter_volume: bool + :param filter_folder: Filter folders, (optional) + :type filter_folder: bool + :param filter_blenlib: Filter Blender IDs, (optional) + :type filter_blenlib: bool + :param filemode: File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file (in [1, 9], optional) + :type filemode: int + :param display_type: Display Type, (optional) + + - ``DEFAULT`` + Default -- Automatically determine display type for files. + - ``LIST_VERTICAL`` + Short List -- Display files as short list. + - ``LIST_HORIZONTAL`` + Long List -- Display files as a detailed list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + :type display_type: Literal['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + :param sort_method: File sorting mode, (optional) + :type sort_method: str + :param compress: Compress, Write compressed .blend file (optional) + :type compress: bool + :param relative_remap: Remap Relative, Remap relative paths when saving to a different directory (optional) + :type relative_remap: bool + :param exit: Exit, Exit Blender after saving (optional) + :type exit: bool + :param incremental: Incremental, Save the current Blender file with a numerically incremented name that does not overwrite any existing files (optional) + :type incremental: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: save_userpref() + + Make the current preferences default + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: search_menu() + + Pop-up a search over all menus in the current context + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: search_operator() + + Pop-up a search over all available operators in current context + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: search_single_menu(*, menu_idname="", initial_query="") + + Pop-up a search for a menu in current context + + :param menu_idname: Menu Name, Menu to search in (optional, never None) + :type menu_idname: str + :param initial_query: Initial Query, Query to insert into the search box (optional, never None) + :type initial_query: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_stereo_3d(*, display_mode='ANAGLYPH', anaglyph_type='RED_CYAN', interlace_type='ROW_INTERLEAVED', use_interlace_swap=False, use_sidebyside_crosseyed=False) + + Toggle 3D stereo support for current window (or change the display mode) + + :param display_mode: Display Mode, (optional) + :type display_mode: Literal[:ref:`rna_enum_stereo3d_display_items`] + :param anaglyph_type: Anaglyph Type, (optional) + :type anaglyph_type: Literal[:ref:`rna_enum_stereo3d_anaglyph_type_items`] + :param interlace_type: Interlace Type, (optional) + :type interlace_type: Literal[:ref:`rna_enum_stereo3d_interlace_type_items`] + :param use_interlace_swap: Swap Left/Right, Swap left and right stereo channels (optional) + :type use_interlace_swap: bool + :param use_sidebyside_crosseyed: Cross-Eyed, Right eye should see left image and vice versa (optional) + :type use_sidebyside_crosseyed: bool + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: set_working_color_space(*, convert_colors=True, working_space='') + + Change the working color space of all colors in this blend file + + :param convert_colors: Convert Colors in All Data-blocks, Change colors in all data-blocks to the new working space (optional) + :type convert_colors: bool + :param working_space: Working Space, Color space to set (optional) + :type working_space: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: splash() + + Open the splash screen with release info + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: splash_about() + + Open a window with information about Blender + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: sysinfo(*, filepath="") + + Generate system information, saved into a text file + + :param filepath: filepath, (optional, never None) + :type filepath: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2225 `__ + + +.. function:: tool_set_by_brush_type(*, brush_type="", space_type='EMPTY') + + Look up the most appropriate tool for the given brush type and activate that + + :param brush_type: Brush Type, Brush type identifier for which the most appropriate tool will be looked up (optional, never None) + :type brush_type: str + :param space_type: Type, (optional) + :type space_type: Literal['EMPTY', 'VIEW_3D', 'IMAGE_EDITOR', 'NODE_EDITOR', 'SEQUENCE_EDITOR', 'CLIP_EDITOR', 'DOPESHEET_EDITOR', 'GRAPH_EDITOR', 'NLA_EDITOR', 'TEXT_EDITOR', 'CONSOLE', 'INFO', 'TOPBAR', 'STATUSBAR', 'OUTLINER', 'PROPERTIES', 'FILE_BROWSER', 'SPREADSHEET', 'PREFERENCES'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2439 `__ + + +.. function:: tool_set_by_id(*, name="", cycle=False, as_fallback=False, space_type='EMPTY') + + Set the tool by name (for key-maps) + + :param name: Identifier, Identifier of the tool (optional, never None) + :type name: str + :param cycle: Cycle, Cycle through tools in this group (optional) + :type cycle: bool + :param as_fallback: Set Fallback, Set the fallback tool instead of the primary tool (optional) + :type as_fallback: bool + :param space_type: Type, (optional) + :type space_type: Literal['EMPTY', 'VIEW_3D', 'IMAGE_EDITOR', 'NODE_EDITOR', 'SEQUENCE_EDITOR', 'CLIP_EDITOR', 'DOPESHEET_EDITOR', 'GRAPH_EDITOR', 'NLA_EDITOR', 'TEXT_EDITOR', 'CONSOLE', 'INFO', 'TOPBAR', 'STATUSBAR', 'OUTLINER', 'PROPERTIES', 'FILE_BROWSER', 'SPREADSHEET', 'PREFERENCES'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2348 `__ + + +.. function:: tool_set_by_index(*, index=0, cycle=False, expand=True, as_fallback=False, space_type='EMPTY') + + Set the tool by index (for key-maps) + + :param index: Index in Toolbar, (in [-inf, inf], optional) + :type index: int + :param cycle: Cycle, Cycle through tools in this group (optional) + :type cycle: bool + :param expand: expand, Include tool subgroups (optional) + :type expand: bool + :param as_fallback: Set Fallback, Set the fallback tool instead of the primary (optional) + :type as_fallback: bool + :param space_type: Type, (optional) + :type space_type: Literal['EMPTY', 'VIEW_3D', 'IMAGE_EDITOR', 'NODE_EDITOR', 'SEQUENCE_EDITOR', 'CLIP_EDITOR', 'DOPESHEET_EDITOR', 'GRAPH_EDITOR', 'NLA_EDITOR', 'TEXT_EDITOR', 'CONSOLE', 'INFO', 'TOPBAR', 'STATUSBAR', 'OUTLINER', 'PROPERTIES', 'FILE_BROWSER', 'SPREADSHEET', 'PREFERENCES'] + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2398 `__ + + +.. function:: toolbar() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2506 `__ + +.. function:: toolbar_fallback_pie() + + Undocumented, consider `contributing `__. + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2530 `__ + +.. function:: toolbar_prompt() + + Leader key like functionality for accessing tools + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:2630 `__ + +.. function:: url_open(*, url="") + + Open a website in the web browser + + :param url: URL, URL to open (optional, never None) + :type url: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:1074 `__ + + +.. function:: url_open_preset(*, type='') + + Open a preset website in the web browser + + :param type: Site, (optional) + :type type: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/wm.py\:1144 `__ + + +.. function:: window_close() + + Close the current window + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: window_fullscreen_toggle() + + Toggle the current window full-screen + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: window_new() + + Create a new window + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: window_new_main() + + Create a new main window with its own workspace and scene selection + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.workspace.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.workspace.rst new file mode 100644 index 0000000..3b99f78 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.workspace.rst @@ -0,0 +1,58 @@ +Workspace Operators +=================== + +.. module:: bpy.ops.workspace + +.. function:: add() + + Add a new workspace by duplicating the current one or appending one from the user configuration + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: append_activate(*, idname="", filepath="") + + Append a workspace and make it the active one in the current window + + :param idname: Identifier, Name of the workspace to append and activate (optional, never None) + :type idname: str + :param filepath: Filepath, Path to the library (optional, never None, blend relative ``//`` prefix supported) + :type filepath: str + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + +.. function:: delete() + + Delete the active workspace + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: delete_all_others() + + Delete all workspaces except this one + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: duplicate() + + Add a new workspace + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: reorder_to_back() + + Reorder workspace to be last in the list + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: reorder_to_front() + + Reorder workspace to be first in the list + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] +.. function:: scene_pin_toggle() + + Remember the last used scene for the current workspace and switch to it whenever this workspace is activated again + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.world.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.world.rst new file mode 100644 index 0000000..fc33626 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.ops.world.rst @@ -0,0 +1,19 @@ +World Operators +=============== + +.. module:: bpy.ops.world + +.. function:: convert_volume_to_mesh() + + Convert the volume of a world to a mesh. The world's volume used to be rendered by EEVEE Legacy. Conversion is needed for it to render properly + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + :File: `startup/bl_operators/world.py\:26 `__ + +.. function:: new() + + Create a new world Data-Block + + :return: Result of the operator call. + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.path.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.path.rst new file mode 100644 index 0000000..5180cb0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.path.rst @@ -0,0 +1,166 @@ +Path Utilities (bpy.path) +========================= + +.. module:: bpy.path + +This module has a similar scope to os.path, containing utility +functions for dealing with paths in Blender. + +.. function:: abspath(path, *, start=None, library=None) + + Returns the absolute path relative to the current blend file + using the "//" prefix. + + :param path: The path to convert to absolute. + :type path: str | bytes + :param start: Relative to this path, + when not set the current filename is used. + :type start: str | bytes | None + :param library: The library this path is from. This is only included for + convenience, when the library is not None its path replaces *start*. + :type library: :class:`bpy.types.Library` | None + :return: The absolute path. + :rtype: str + +.. function:: basename(path) + + Equivalent to ``os.path.basename``, but skips a "//" prefix. + + Use for Windows compatibility. + + :param path: The path to get the base name of. + :type path: str | bytes + :return: The base name of the given path. + :rtype: str + +.. function:: clean_name(name, *, replace='_') + + Returns a name with characters replaced that + may cause problems under various circumstances, + such as writing to a file. + + All characters besides A-Z/a-z, 0-9 are replaced with "_" + or the *replace* argument if defined. + + :param name: The path name. + :type name: str | bytes + :param replace: The replacement for non-valid characters. + :type replace: str + :return: The cleaned name. + :rtype: str + +.. function:: display_name(name, *, has_ext=True, title_case=True) + + Creates a display string from name to be used in menus and the user interface. + Intended for use with filenames and module names. + + :param name: The name to be used for displaying the user interface. + :type name: str + :param has_ext: Remove file extension from name. + :type has_ext: bool + :param title_case: Convert lowercase names to title case. + :type title_case: bool + :return: The display string. + :rtype: str + +.. function:: display_name_to_filepath(name) + + Performs the reverse of display_name using literal versions of characters + which aren't supported in a filepath. + + :param name: The display name to convert. + :type name: str + :return: The file path. + :rtype: str + +.. function:: display_name_from_filepath(name) + + Returns the path stripped of directory and extension, + ensured to be UTF-8 compatible. + + :param name: The file path to convert. + :type name: str + :return: The display name. + :rtype: str + +.. function:: ensure_ext(filepath, ext, *, case_sensitive=False) + + Return the path with the extension added if it is not already set. + + :param filepath: The file path. + :type filepath: str + :param ext: The extension to check for, can be a compound extension. Should + start with a dot, such as ``.blend`` or ``.tar.gz``. + :type ext: str + :param case_sensitive: Check for matching case when comparing extensions. + :type case_sensitive: bool + :return: The file path with the given extension. + :rtype: str + +.. function:: is_subdir(path, directory) + + Returns true if *path* is in a subdirectory of *directory*. + Both paths must be absolute. + + :param path: An absolute path. + :type path: str | bytes + :param directory: The parent directory to check against. + :type directory: str | bytes + :return: Whether or not the path is a subdirectory. + :rtype: bool + +.. function:: module_names(path, *, recursive=False, package='') + + Return a list of modules which can be imported from *path*. + + :param path: a directory to scan. + :type path: str + :param recursive: Also return submodule names for packages. + :type recursive: bool + :param package: Optional string, used as the prefix for module names (without the trailing "."). + :type package: str + :return: a list of string pairs (module_name, module_file). + :rtype: list[tuple[str, str]] + +.. function:: native_pathsep(path) + + Replace the path separator with the system's native ``os.sep``. + + :param path: The path to replace. + :type path: str + :return: The path with system native separators. + :rtype: str + +.. function:: reduce_dirs(dirs) + + Given a sequence of directories, remove duplicates and + any directories nested in one of the other paths. + (Useful for recursive path searching). + + :param dirs: Sequence of directory paths. + :type dirs: Sequence[str] + :return: A unique list of paths. + :rtype: list[str] + +.. function:: relpath(path, *, start=None) + + Returns the path relative to the current blend file using the "//" prefix. + + :param path: An absolute path. + :type path: str | bytes + :param start: Relative to this path, + when not set the current filename is used. + :type start: str | bytes | None + :return: The relative path. + :rtype: str + +.. function:: resolve_ncase(path) + + Resolve a case insensitive path on a case sensitive system, + returning a string with the path if found else return the original path. + + :param path: The path name to resolve. + :type path: str + :return: The resolved path. + :rtype: str + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.props.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.props.rst new file mode 100644 index 0000000..96592c9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.props.rst @@ -0,0 +1,791 @@ +Property Definitions (bpy.props) +================================ + +.. module:: bpy.props + +This module defines properties to extend Blender's internal data. The result of these functions is used to assign properties to classes registered with Blender and can't be used directly. + +.. note:: All parameters to these functions must be passed as keywords. + + +Assigning to Existing Classes ++++++++++++++++++++++++++++++ + +Custom properties can be added to any subclass of an :class:`ID`, +:class:`Bone` and :class:`PoseBone`. + +These properties can be animated, accessed by the user interface and Python +like Blender's existing properties. + +.. warning:: + + Access to these properties might happen in threaded context, on a per-data-block level. + This has to be carefully considered when using accessors or update callbacks. + + Typically, these callbacks should not affect any other data that the one owned by their data-block. + When accessing external non-Blender data, thread safety mechanisms should be considered. + +.. literalinclude:: ./examples/bpy.props.0.py + :lines: 21- + + +Operator Example +++++++++++++++++ + +A common use of custom properties is for Python based :class:`Operator` +classes. Test this code by running it in the text editor, or by clicking the +button in the 3D Viewport's Tools panel. The latter will show the properties +in the Redo panel and allow you to change them. + +.. literalinclude:: ./examples/bpy.props.1.py + :lines: 11- + + +PropertyGroup Example ++++++++++++++++++++++ + +PropertyGroups can be used for collecting custom settings into one value +to avoid many individual settings mixed in together. + +.. literalinclude:: ./examples/bpy.props.2.py + :lines: 9- + + +Collection Example +++++++++++++++++++ + +Custom properties can be added to any subclass of an :class:`ID`, +:class:`Bone` and :class:`PoseBone`. + +.. literalinclude:: ./examples/bpy.props.3.py + :lines: 9- + + +Update Example +++++++++++++++ + +It can be useful to perform an action when a property is changed and can be +used to update other properties or synchronize with external data. + +All properties define update functions except for CollectionProperty. + +.. warning:: + + Remember that these callbacks may be executed in threaded context. + +.. warning:: + + If the property belongs to an Operator, the update callback's first + parameter will be an OperatorProperties instance, rather than an instance + of the operator itself. This means you can't access other internal functions + of the operator, only its other properties. + +.. literalinclude:: ./examples/bpy.props.4.py + :lines: 23- + + +Getter/Setter Example ++++++++++++++++++++++ + +Accessor functions can be used for boolean, int, float, string and enum properties. + +If ``get`` or ``set`` callbacks are defined, the property will not be stored in the ID properties +automatically. Instead, the ``get`` and ``set`` functions will be called when the property +is respectively read or written from the API, and are responsible to handle the data storage. + +Note that: + +- It is illegal to define a ``set`` callback without a matching ``get`` one. +- When a ``get`` callback is defined but no ``set`` one, the property is read-only. + +``get_transform`` and ``set_transform`` can be used when the returned value needs to be modified, +but the default internal storage is still used. They can only transform the value before it is +set or returned, but do not control how/where that data is stored. + +.. note:: + + It is possible to define both ``get``/``set`` and ``get_transform``/``set_transform`` callbacks + for the same property. In practice however, this should rarely be needed, as most 'transform' + operation can also happen within a ``get``/``set`` callback. + +.. warning:: + + Remember that these callbacks may be executed in threaded context. + +.. warning:: + + Take care when accessing other properties in these callbacks, as it can easily trigger + complex issues, such as infinite loops (if e.g. two properties try to also set the other + property's value in their own ``set`` callback), or unexpected side effects due to changes + in data, caused e.g. by an ``update`` callback. + +.. literalinclude:: ./examples/bpy.props.5.py + :lines: 38- + +.. function:: BoolProperty(*, name="", description="", translation_context="*", default=False, options={'ANIMATABLE'}, override=set(), tags=set(), subtype='NONE', update=None, get=None, set=None, get_transform=None, set_transform=None) + + Returns a new boolean property definition. + + :param name: Name used in the user interface. + :type name: str + :param description: Text used for the tooltip and api documentation. + :type description: str + :param translation_context: Text used as context to disambiguate translations. + :type translation_context: str + :param default: The default value for this property. + :type default: bool + :param options: Enumerator in :ref:`rna_enum_property_flag_items`. + :type options: set[str] + :param override: Enumerator in :ref:`rna_enum_property_override_flag_items`. + :type override: set[str] + :param tags: Enumerator of tags that are defined by parent class. + :type tags: set[str] + :param subtype: Enumerator in :ref:`rna_enum_property_subtype_number_items`. + :type subtype: str + :param update: Function to be called when this value is modified, + This function must take 2 values (self, context) and return None. + *Warning* there are no safety checks to avoid infinite recursion. + :type update: Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.Context`], None] | None + :param get: Function to be called when this value is 'read', and the default, + system-defined storage is not used for this property. + This function must take 1 value (self) and return the value of the property. + + .. note:: Defining this callback without a matching ``set`` one will make the property read-only (even if ``READ_ONLY`` option is not set). + :type get: Callable[[:class:`bpy.types.bpy_struct`], bool] | None + :param set: Function to be called when this value is 'written', and the default, + system-defined storage is not used for this property. + This function must take 2 values (self, value) and return None. + + .. note:: Defining this callback without a matching ``get`` one is invalid. + :type set: Callable[[:class:`bpy.types.bpy_struct`, bool], None] | None + :param get_transform: Function to be called when this value is 'read', + if some additional processing must be performed on the stored value. + This function must take three arguments (self, the stored value, + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type get_transform: Callable[[:class:`bpy.types.bpy_struct`, bool, bool], bool] | None + :param set_transform: Function to be called when this value is 'written', + if some additional processing must be performed on the given value before storing it. + This function must take four arguments (self, the given value to store, + the currently stored value ('raw' value, without any ``get_transform`` applied to it), + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type set_transform: Callable[[:class:`bpy.types.bpy_struct`, bool, bool, bool], bool] | None + :return: Opaque type used for registration. + :rtype: :class:`_PropertyDeferred` + + +.. function:: BoolVectorProperty(*, name="", description="", translation_context="*", default=(False, False, False), options={'ANIMATABLE'}, override=set(), tags=set(), subtype='NONE', size=3, update=None, get=None, set=None, get_transform=None, set_transform=None) + + Returns a new vector boolean property definition. + + :param name: Name used in the user interface. + :type name: str + :param description: Text used for the tooltip and api documentation. + :type description: str + :param translation_context: Text used as context to disambiguate translations. + :type translation_context: str + :param default: sequence of booleans the length of *size*. + :type default: Sequence[bool] + :param options: Enumerator in :ref:`rna_enum_property_flag_items`. + :type options: set[str] + :param override: Enumerator in :ref:`rna_enum_property_override_flag_items`. + :type override: set[str] + :param tags: Enumerator of tags that are defined by parent class. + :type tags: set[str] + :param subtype: Enumerator in :ref:`rna_enum_property_subtype_number_array_items`. + :type subtype: str + :param size: Vector dimensions in [1, 32]. An int sequence can be used to define multi-dimension arrays. + :type size: int | Sequence[int] + :param update: Function to be called when this value is modified, + This function must take 2 values (self, context) and return None. + *Warning* there are no safety checks to avoid infinite recursion. + :type update: Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.Context`], None] | None + :param get: Function to be called when this value is 'read', and the default, + system-defined storage is not used for this property. + This function must take 1 value (self) and return the value of the property. + + .. note:: Defining this callback without a matching ``set`` one will make the property read-only (even if ``READ_ONLY`` option is not set). + :type get: Callable[[:class:`bpy.types.bpy_struct`], Sequence[bool]] | None + :param set: Function to be called when this value is 'written', and the default, + system-defined storage is not used for this property. + This function must take 2 values (self, value) and return None. + + .. note:: Defining this callback without a matching ``get`` one is invalid. + :type set: Callable[[:class:`bpy.types.bpy_struct`, tuple[bool, ...]], None] | None + :param get_transform: Function to be called when this value is 'read', + if some additional processing must be performed on the stored value. + This function must take three arguments (self, the stored value, + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type get_transform: Callable[[:class:`bpy.types.bpy_struct`, Sequence[bool], bool], Sequence[bool]] | None + :param set_transform: Function to be called when this value is 'written', + if some additional processing must be performed on the given value before storing it. + This function must take four arguments (self, the given value to store, + the currently stored value ('raw' value, without any ``get_transform`` applied to it), + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type set_transform: Callable[[:class:`bpy.types.bpy_struct`, Sequence[bool], Sequence[bool], bool], Sequence[bool]] | None + :return: Opaque type used for registration. + :rtype: :class:`_PropertyDeferred` + + +.. function:: CollectionProperty(type, *, name="", description="", translation_context="*", options={'ANIMATABLE'}, override=set(), tags=set()) + + Returns a new collection property definition. + + :param type: A subclass of a property group. + :type type: type[:class:`bpy.types.PropertyGroup`] + :param name: Name used in the user interface. + :type name: str + :param description: Text used for the tooltip and api documentation. + :type description: str + :param translation_context: Text used as context to disambiguate translations. + :type translation_context: str + :param options: Enumerator in :ref:`rna_enum_property_flag_items`. + :type options: set[str] + :param override: Enumerator in :ref:`rna_enum_property_override_flag_collection_items`. + :type override: set[str] + :param tags: Enumerator of tags that are defined by parent class. + :type tags: set[str] + :return: Opaque type used for registration. + :rtype: :class:`_PropertyDeferred` + + +.. function:: EnumProperty(items, *, name="", description="", translation_context="*", default=None, options={'ANIMATABLE'}, override=set(), tags=set(), update=None, get=None, set=None, get_transform=None, set_transform=None) + + Returns a new enumerator property definition. + + :param items: sequence of enum items formatted: + ``[(identifier, name, description, icon, number), ...]``. + + The first three elements of the tuples are mandatory. + + :identifier: The identifier is used for Python access. + An empty identifier means that the item is a separator + :name: Name for the interface. + :description: Used for documentation and tooltips. + :icon: An icon string identifier or integer icon value + (e.g. returned by :class:`bpy.types.UILayout.icon`) + :number: Unique value used as the identifier for this item (stored in file data). + Use when the identifier may need to change. If the *ENUM_FLAG* option is used, + the values are bit-masks and should be powers of two. + + When an item only contains 4 items they define ``(identifier, name, description, number)``. + + Separators may be added using either None (nameless separator), + or a regular item tuple with an empty identifier string, in which case the name, + if non-empty, will be displayed in the UI above the separator line. + For dynamic values a callback can be passed which returns a list in + the same format as the static list. + This function must take 2 arguments ``(self, context)``, **context may be None**. + + .. warning:: + + There is a known bug with using a callback, + Python must keep a reference to the strings returned by the callback or Blender + will misbehave or even crash. + :type items: Iterable[tuple[str, str, str] | tuple[str, str, str, int] | tuple[str, str, str, str | int, int] | None] | Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.Context` | None], Iterable[tuple[str, str, str] | tuple[str, str, str, int] | tuple[str, str, str, str | int, int] | None]] + :param name: Name used in the user interface. + :type name: str + :param description: Text used for the tooltip and api documentation. + :type description: str + :param translation_context: Text used as context to disambiguate translations. + :type translation_context: str + :param default: The default value for this enum, a string from the identifiers used in *items*, or integer matching an item number. + If the *ENUM_FLAG* option is used this must be a set of such string identifiers instead. + WARNING: Strings cannot be specified for dynamic enums + (i.e. if a callback function is given as *items* parameter). + :type default: str | int | set[str] | None + :param options: Enumerator in :ref:`rna_enum_property_flag_enum_items`. + :type options: set[str] + :param override: Enumerator in :ref:`rna_enum_property_override_flag_items`. + :type override: set[str] + :param tags: Enumerator of tags that are defined by parent class. + :type tags: set[str] + :param update: Function to be called when this value is modified, + This function must take 2 values (self, context) and return None. + *Warning* there are no safety checks to avoid infinite recursion. + :type update: Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.Context`], None] | None + :param get: Function to be called when this value is 'read', and the default, + system-defined storage is not used for this property. + This function must take 1 value (self) and return the value of the property. + + .. note:: Defining this callback without a matching ``set`` one will make the property read-only (even if ``READ_ONLY`` option is not set). + :type get: Callable[[:class:`bpy.types.bpy_struct`], int] | None + :param set: Function to be called when this value is 'written', and the default, + system-defined storage is not used for this property. + This function must take 2 values (self, value) and return None. + + .. note:: Defining this callback without a matching ``get`` one is invalid. + :type set: Callable[[:class:`bpy.types.bpy_struct`, int], None] | None + :param get_transform: Function to be called when this value is 'read', + if some additional processing must be performed on the stored value. + This function must take three arguments (self, the stored value, + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type get_transform: Callable[[:class:`bpy.types.bpy_struct`, int, bool], int] | None + :param set_transform: Function to be called when this value is 'written', + if some additional processing must be performed on the given value before storing it. + This function must take four arguments (self, the given value to store, + the currently stored value ('raw' value, without any ``get_transform`` applied to it), + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type set_transform: Callable[[:class:`bpy.types.bpy_struct`, int, int, bool], int] | None + :return: Opaque type used for registration. + :rtype: :class:`_PropertyDeferred` + + +.. function:: FloatProperty(*, name="", description="", translation_context="*", default=0.0, min=-3.402823e+38, max=3.402823e+38, soft_min=-3.402823e+38, soft_max=3.402823e+38, step=3, precision=2, options={'ANIMATABLE'}, override=set(), tags=set(), subtype='NONE', unit='NONE', update=None, get=None, set=None, get_transform=None, set_transform=None) + + Returns a new float (single precision) property definition. + + :param name: Name used in the user interface. + :type name: str + :param description: Text used for the tooltip and api documentation. + :type description: str + :param translation_context: Text used as context to disambiguate translations. + :type translation_context: str + :param default: The default value for this property. + :type default: float + :param min: Hard minimum, trying to assign a value below will silently assign this minimum instead. + :type min: float + :param max: Hard maximum, trying to assign a value above will silently assign this maximum instead. + :type max: float + :param soft_min: Soft minimum (>= *min*), user won't be able to drag the widget below this value in the UI. + :type soft_min: float + :param soft_max: Soft maximum (<= *max*), user won't be able to drag the widget above this value in the UI. + :type soft_max: float + :param step: Step of increment/decrement in UI, in [1, 100], defaults to 3 (WARNING: actual value is /100). + :type step: float + :param precision: Maximum number of decimal digits to display, in [0, 6]. Fraction is automatically hidden for exact integer values of fields with unit 'NONE' or 'TIME' (frame count) and step divisible by 100. + :type precision: int + :param options: Enumerator in :ref:`rna_enum_property_flag_items`. + :type options: set[str] + :param override: Enumerator in :ref:`rna_enum_property_override_flag_items`. + :type override: set[str] + :param tags: Enumerator of tags that are defined by parent class. + :type tags: set[str] + :param subtype: Enumerator in :ref:`rna_enum_property_subtype_number_items`. + :type subtype: str + :param unit: Enumerator in :ref:`rna_enum_property_unit_items`. + :type unit: str + :param update: Function to be called when this value is modified, + This function must take 2 values (self, context) and return None. + *Warning* there are no safety checks to avoid infinite recursion. + :type update: Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.Context`], None] | None + :param get: Function to be called when this value is 'read', and the default, + system-defined storage is not used for this property. + This function must take 1 value (self) and return the value of the property. + + .. note:: Defining this callback without a matching ``set`` one will make the property read-only (even if ``READ_ONLY`` option is not set). + :type get: Callable[[:class:`bpy.types.bpy_struct`], float] | None + :param set: Function to be called when this value is 'written', and the default, + system-defined storage is not used for this property. + This function must take 2 values (self, value) and return None. + + .. note:: Defining this callback without a matching ``get`` one is invalid. + :type set: Callable[[:class:`bpy.types.bpy_struct`, float], None] | None + :param get_transform: Function to be called when this value is 'read', + if some additional processing must be performed on the stored value. + This function must take three arguments (self, the stored value, + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type get_transform: Callable[[:class:`bpy.types.bpy_struct`, float, bool], float] | None + :param set_transform: Function to be called when this value is 'written', + if some additional processing must be performed on the given value before storing it. + This function must take four arguments (self, the given value to store, + the currently stored value ('raw' value, without any ``get_transform`` applied to it), + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type set_transform: Callable[[:class:`bpy.types.bpy_struct`, float, float, bool], float] | None + :return: Opaque type used for registration. + :rtype: :class:`_PropertyDeferred` + + +.. function:: FloatVectorProperty(*, name="", description="", translation_context="*", default=(0.0, 0.0, 0.0), min=-sys.float_info.max, max=sys.float_info.max, soft_min=-sys.float_info.max, soft_max=sys.float_info.max, step=3, precision=2, options={'ANIMATABLE'}, override=set(), tags=set(), subtype='NONE', unit='NONE', size=3, update=None, get=None, set=None, get_transform=None, set_transform=None) + + Returns a new vector float property definition. + + :param name: Name used in the user interface. + :type name: str + :param description: Text used for the tooltip and api documentation. + :type description: str + :param translation_context: Text used as context to disambiguate translations. + :type translation_context: str + :param default: Sequence of floats the length of *size*. + :type default: Sequence[float] + :param min: Hard minimum, trying to assign a value below will silently assign this minimum instead. + :type min: float + :param max: Hard maximum, trying to assign a value above will silently assign this maximum instead. + :type max: float + :param soft_min: Soft minimum (>= *min*), user won't be able to drag the widget below this value in the UI. + :type soft_min: float + :param soft_max: Soft maximum (<= *max*), user won't be able to drag the widget above this value in the UI. + :type soft_max: float + :param step: Step of increment/decrement in UI, in [1, 100], defaults to 3 (WARNING: actual value is /100). + :type step: float + :param precision: Maximum number of decimal digits to display, in [0, 6]. Fraction is automatically hidden for exact integer values of fields with unit 'NONE' or 'TIME' (frame count) and step divisible by 100. + :type precision: int + :param options: Enumerator in :ref:`rna_enum_property_flag_items`. + :type options: set[str] + :param override: Enumerator in :ref:`rna_enum_property_override_flag_items`. + :type override: set[str] + :param tags: Enumerator of tags that are defined by parent class. + :type tags: set[str] + :param subtype: Enumerator in :ref:`rna_enum_property_subtype_number_array_items`. + :type subtype: str + :param unit: Enumerator in :ref:`rna_enum_property_unit_items`. + :type unit: str + :param size: Vector dimensions in [1, 32]. An int sequence can be used to define multi-dimension arrays. + :type size: int | Sequence[int] + :param update: Function to be called when this value is modified, + This function must take 2 values (self, context) and return None. + *Warning* there are no safety checks to avoid infinite recursion. + :type update: Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.Context`], None] | None + :param get: Function to be called when this value is 'read', and the default, + system-defined storage is not used for this property. + This function must take 1 value (self) and return the value of the property. + + .. note:: Defining this callback without a matching ``set`` one will make the property read-only (even if ``READ_ONLY`` option is not set). + :type get: Callable[[:class:`bpy.types.bpy_struct`], Sequence[float]] | None + :param set: Function to be called when this value is 'written', and the default, + system-defined storage is not used for this property. + This function must take 2 values (self, value) and return None. + + .. note:: Defining this callback without a matching ``get`` one is invalid. + :type set: Callable[[:class:`bpy.types.bpy_struct`, tuple[float, ...]], None] | None + :param get_transform: Function to be called when this value is 'read', + if some additional processing must be performed on the stored value. + This function must take three arguments (self, the stored value, + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type get_transform: Callable[[:class:`bpy.types.bpy_struct`, Sequence[float], bool], Sequence[float]] | None + :param set_transform: Function to be called when this value is 'written', + if some additional processing must be performed on the given value before storing it. + This function must take four arguments (self, the given value to store, + the currently stored value ('raw' value, without any ``get_transform`` applied to it), + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type set_transform: Callable[[:class:`bpy.types.bpy_struct`, Sequence[float], Sequence[float], bool], Sequence[float]] | None + :return: Opaque type used for registration. + :rtype: :class:`_PropertyDeferred` + + +.. function:: IntProperty(*, name="", description="", translation_context="*", default=0, min=-2**31, max=2**31-1, soft_min=-2**31, soft_max=2**31-1, step=1, options={'ANIMATABLE'}, override=set(), tags=set(), subtype='NONE', update=None, get=None, set=None, get_transform=None, set_transform=None) + + Returns a new int property definition. + + :param name: Name used in the user interface. + :type name: str + :param description: Text used for the tooltip and api documentation. + :type description: str + :param translation_context: Text used as context to disambiguate translations. + :type translation_context: str + :param default: The default value for this property. + :type default: int + :param min: Hard minimum, trying to assign a value below will silently assign this minimum instead. + :type min: int + :param max: Hard maximum, trying to assign a value above will silently assign this maximum instead. + :type max: int + :param soft_min: Soft minimum (>= *min*), user won't be able to drag the widget below this value in the UI. + :type soft_min: int + :param soft_max: Soft maximum (<= *max*), user won't be able to drag the widget above this value in the UI. + :type soft_max: int + :param step: Step of increment/decrement in UI, in [1, 100], defaults to 1 (WARNING: unused currently!). + :type step: int + :param options: Enumerator in :ref:`rna_enum_property_flag_items`. + :type options: set[str] + :param override: Enumerator in :ref:`rna_enum_property_override_flag_items`. + :type override: set[str] + :param tags: Enumerator of tags that are defined by parent class. + :type tags: set[str] + :param subtype: Enumerator in :ref:`rna_enum_property_subtype_number_items`. + :type subtype: str + :param update: Function to be called when this value is modified, + This function must take 2 values (self, context) and return None. + *Warning* there are no safety checks to avoid infinite recursion. + :type update: Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.Context`], None] | None + :param get: Function to be called when this value is 'read', and the default, + system-defined storage is not used for this property. + This function must take 1 value (self) and return the value of the property. + + .. note:: Defining this callback without a matching ``set`` one will make the property read-only (even if ``READ_ONLY`` option is not set). + :type get: Callable[[:class:`bpy.types.bpy_struct`], int] | None + :param set: Function to be called when this value is 'written', and the default, + system-defined storage is not used for this property. + This function must take 2 values (self, value) and return None. + + .. note:: Defining this callback without a matching ``get`` one is invalid. + :type set: Callable[[:class:`bpy.types.bpy_struct`, int], None] | None + :param get_transform: Function to be called when this value is 'read', + if some additional processing must be performed on the stored value. + This function must take three arguments (self, the stored value, + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type get_transform: Callable[[:class:`bpy.types.bpy_struct`, int, bool], int] | None + :param set_transform: Function to be called when this value is 'written', + if some additional processing must be performed on the given value before storing it. + This function must take four arguments (self, the given value to store, + the currently stored value ('raw' value, without any ``get_transform`` applied to it), + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type set_transform: Callable[[:class:`bpy.types.bpy_struct`, int, int, bool], int] | None + :return: Opaque type used for registration. + :rtype: :class:`_PropertyDeferred` + + +.. function:: IntVectorProperty(*, name="", description="", translation_context="*", default=(0, 0, 0), min=-2**31, max=2**31-1, soft_min=-2**31, soft_max=2**31-1, step=1, options={'ANIMATABLE'}, override=set(), tags=set(), subtype='NONE', size=3, update=None, get=None, set=None, get_transform=None, set_transform=None) + + Returns a new vector int property definition. + + :param name: Name used in the user interface. + :type name: str + :param description: Text used for the tooltip and api documentation. + :type description: str + :param translation_context: Text used as context to disambiguate translations. + :type translation_context: str + :param default: sequence of ints the length of *size*. + :type default: Sequence[int] + :param min: Hard minimum, trying to assign a value below will silently assign this minimum instead. + :type min: int + :param max: Hard maximum, trying to assign a value above will silently assign this maximum instead. + :type max: int + :param soft_min: Soft minimum (>= *min*), user won't be able to drag the widget below this value in the UI. + :type soft_min: int + :param soft_max: Soft maximum (<= *max*), user won't be able to drag the widget above this value in the UI. + :type soft_max: int + :param step: Step of increment/decrement in UI, in [1, 100], defaults to 1 (WARNING: unused currently!). + :type step: int + :param options: Enumerator in :ref:`rna_enum_property_flag_items`. + :type options: set[str] + :param override: Enumerator in :ref:`rna_enum_property_override_flag_items`. + :type override: set[str] + :param tags: Enumerator of tags that are defined by parent class. + :type tags: set[str] + :param subtype: Enumerator in :ref:`rna_enum_property_subtype_number_array_items`. + :type subtype: str + :param size: Vector dimensions in [1, 32]. An int sequence can be used to define multi-dimension arrays. + :type size: int | Sequence[int] + :param update: Function to be called when this value is modified, + This function must take 2 values (self, context) and return None. + *Warning* there are no safety checks to avoid infinite recursion. + :type update: Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.Context`], None] | None + :param get: Function to be called when this value is 'read', and the default, + system-defined storage is not used for this property. + This function must take 1 value (self) and return the value of the property. + + .. note:: Defining this callback without a matching ``set`` one will make the property read-only (even if ``READ_ONLY`` option is not set). + :type get: Callable[[:class:`bpy.types.bpy_struct`], Sequence[int]] | None + :param set: Function to be called when this value is 'written', and the default, + system-defined storage is not used for this property. + This function must take 2 values (self, value) and return None. + + .. note:: Defining this callback without a matching ``get`` one is invalid. + :type set: Callable[[:class:`bpy.types.bpy_struct`, tuple[int, ...]], None] | None + :param get_transform: Function to be called when this value is 'read', + if some additional processing must be performed on the stored value. + This function must take three arguments (self, the stored value, + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type get_transform: Callable[[:class:`bpy.types.bpy_struct`, Sequence[int], bool], Sequence[int]] | None + :param set_transform: Function to be called when this value is 'written', + if some additional processing must be performed on the given value before storing it. + This function must take four arguments (self, the given value to store, + the currently stored value ('raw' value, without any ``get_transform`` applied to it), + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type set_transform: Callable[[:class:`bpy.types.bpy_struct`, Sequence[int], Sequence[int], bool], Sequence[int]] | None + :return: Opaque type used for registration. + :rtype: :class:`_PropertyDeferred` + + +.. function:: PointerProperty(type, *, name="", description="", translation_context="*", options={'ANIMATABLE'}, override=set(), tags=set(), poll=None, update=None) + + Returns a new pointer property definition. + + :param type: A subclass of PropertyGroup or ID. + :type type: type[:class:`bpy.types.PropertyGroup` | :class:`bpy.types.ID`] + :param name: Name used in the user interface. + :type name: str + :param description: Text used for the tooltip and api documentation. + :type description: str + :param translation_context: Text used as context to disambiguate translations. + :type translation_context: str + :param options: Enumerator in :ref:`rna_enum_property_flag_items`. + :type options: set[str] + :param override: Enumerator in :ref:`rna_enum_property_override_flag_items`. + :type override: set[str] + :param tags: Enumerator of tags that are defined by parent class. + :type tags: set[str] + :param poll: Function that determines whether an item is valid for this property. + The function must take 2 values (self, object) and return a boolean. + + .. note:: The return value will be checked only when assigning an item from the UI, but it is still possible to assign an "invalid" item to the property directly. + + :type poll: Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.ID`], bool] | None + :param update: Function to be called when this value is modified, + This function must take 2 values (self, context) and return None. + *Warning* there are no safety checks to avoid infinite recursion. + :type update: Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.Context`], None] | None + :return: Opaque type used for registration. + :rtype: :class:`_PropertyDeferred` + +.. note:: Pointer properties do not support storing references to embedded IDs (e.g. :class:`bpy.types.Scene.collection`, :class:`bpy.types.Material.node_tree`). + These should exclusively be referenced and accessed through their owner ID (e.g. the scene or material). + + +.. function:: RemoveProperty(cls, attr) + + Removes a dynamically defined property. + + :param cls: The class containing the property (must be a positional argument). + :type cls: type[:class:`bpy.types.bpy_struct`] + :param attr: Property name (must be passed as a keyword). + :type attr: str + + .. note:: + + Typically this function doesn't need to be accessed directly. + Instead use ``del cls.attr`` + + +.. function:: StringProperty(*, name="", description="", translation_context="*", default="", maxlen=0, options={'ANIMATABLE'}, override=set(), tags=set(), subtype='NONE', update=None, get=None, set=None, get_transform=None, set_transform=None, search=None, search_options={'SUGGESTION'}) + + Returns a new string property definition. + + :param name: Name used in the user interface. + :type name: str + :param description: Text used for the tooltip and api documentation. + :type description: str + :param translation_context: Text used as context to disambiguate translations. + :type translation_context: str + :param default: initializer string. + :type default: str + :param maxlen: maximum length of the string. + :type maxlen: int + :param options: Enumerator in :ref:`rna_enum_property_flag_items`. + :type options: set[str] + :param override: Enumerator in :ref:`rna_enum_property_override_flag_items`. + :type override: set[str] + :param tags: Enumerator of tags that are defined by parent class. + :type tags: set[str] + :param subtype: Enumerator in :ref:`rna_enum_property_subtype_string_items`. + :type subtype: str + :param update: Function to be called when this value is modified, + This function must take 2 values (self, context) and return None. + *Warning* there are no safety checks to avoid infinite recursion. + :type update: Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.Context`], None] | None + :param get: Function to be called when this value is 'read', and the default, + system-defined storage is not used for this property. + This function must take 1 value (self) and return the value of the property. + + .. note:: Defining this callback without a matching ``set`` one will make the property read-only (even if ``READ_ONLY`` option is not set). + :type get: Callable[[:class:`bpy.types.bpy_struct`], str] | None + :param set: Function to be called when this value is 'written', and the default, + system-defined storage is not used for this property. + This function must take 2 values (self, value) and return None. + + .. note:: Defining this callback without a matching ``get`` one is invalid. + :type set: Callable[[:class:`bpy.types.bpy_struct`, str], None] | None + :param get_transform: Function to be called when this value is 'read', + if some additional processing must be performed on the stored value. + This function must take three arguments (self, the stored value, + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type get_transform: Callable[[:class:`bpy.types.bpy_struct`, str, bool], str] | None + :param set_transform: Function to be called when this value is 'written', + if some additional processing must be performed on the given value before storing it. + This function must take four arguments (self, the given value to store, + the currently stored value ('raw' value, without any ``get_transform`` applied to it), + and a boolean indicating if the property is currently set), + and return the final, transformed value of the property. + + .. note:: The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised. + + :type set_transform: Callable[[:class:`bpy.types.bpy_struct`, str, str, bool], str] | None + :param search: Function to be called to show candidates for this string (shown in the UI). + This function must take 3 values (self, context, edit_text) + and return a sequence, iterator or generator where each item must be: + + - A single string (representing a candidate to display). + - A tuple-pair of strings, where the first is a candidate and the second + is additional information about the candidate. + :type search: Callable[[:class:`bpy.types.bpy_struct`, :class:`bpy.types.Context`, str], Iterable[str | tuple[str, str]]] | None + :param search_options: Set of strings in: + + - 'SORT' sorts the resulting items. + - 'SUGGESTION' lets the user enter values not found in search candidates. + **WARNING** disabling this flag causes the search callback to run on redraw, + so only disable this flag if it's not likely to cause performance issues. + + :type search_options: set[str] + :return: Opaque type used for registration. + :rtype: :class:`_PropertyDeferred` + + +.. class:: _PropertyDeferred + + Intermediate storage for properties before registration. + + .. note:: + + This is not part of the stable API and may change between releases. + + .. attribute:: function + + Undocumented, consider `contributing `__. + + + .. attribute:: keywords + + Undocumented, consider `contributing `__. + + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AOV.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AOV.rst new file mode 100644 index 0000000..08e7244 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AOV.rst @@ -0,0 +1,98 @@ +AOV(bpy_struct) +=============== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AOV(bpy_struct) + + + .. attribute:: is_valid + + Is the name of the AOV conflicting (default True) + + :type: bool + + .. attribute:: name + + Name of the AOV (default "", never None) + + :type: str + + .. attribute:: type + + Data type of the AOV (default ``'COLOR'``) + + :type: Literal['COLOR', 'VALUE'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AOVs.add` + - :class:`AOVs.remove` + - :class:`ViewLayer.active_aov` + - :class:`ViewLayer.aovs` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AOVs.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AOVs.rst new file mode 100644 index 0000000..70c75a8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AOVs.rst @@ -0,0 +1,92 @@ +AOVs(bpy_prop_collection) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AOVs(bpy_prop_collection) + + Collection of AOVs + + .. method:: add() + + add + + :return: Newly created AOV + :rtype: :class:`AOV` + + .. method:: remove(aov) + + Remove an AOV + + :param aov: AOV to remove (never None) + :type aov: :class:`AOV` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ViewLayer.aovs` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ASSETBROWSER_UL_metadata_tags.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ASSETBROWSER_UL_metadata_tags.rst new file mode 100644 index 0000000..fac5517 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ASSETBROWSER_UL_metadata_tags.rst @@ -0,0 +1,92 @@ +ASSETBROWSER_UL_metadata_tags(UIList) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: ASSETBROWSER_UL_metadata_tags(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Action.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Action.rst new file mode 100644 index 0000000..a074c2d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Action.rst @@ -0,0 +1,232 @@ +Action(ID) +========== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Action(ID) + + A collection of F-Curves for animation + + .. data:: curve_frame_range + + The combined frame range of all F-Curves within this action (array of 2 items, in [-inf, inf], default (0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: frame_end + + The end frame of the manually set intended playback range (in [-1.04857e+06, 1.04857e+06], default 0.0) + + :type: float + + .. attribute:: frame_range + + The intended playback frame range of this action, using the manually set range if available, or the combined frame range of all F-Curves within this action if not (assigning sets the manual frame range) (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: frame_start + + The start frame of the manually set intended playback range (in [-1.04857e+06, 1.04857e+06], default 0.0) + + :type: float + + .. data:: is_action_layered + + Return whether this is a layered Action. At this point all actions are layered through versioning and this function will always return true (default False, readonly) + + :type: bool + + .. data:: is_action_legacy + + Return whether this is a legacy Action. Legacy Actions have no layers or slots. Since Blender 4.4 actions are automatically updated to layered actions. This will only return true on empty actions (default False, readonly) + + :type: bool + + .. data:: is_empty + + False when there is any Layer, Slot, or legacy F-Curve (default False, readonly) + + :type: bool + + .. data:: layers + + The list of layers that make up this Action (default None, readonly) + + :type: :class:`ActionLayers`\ [:class:`ActionLayer`] + + .. data:: pose_markers + + Markers specific to this action, for labeling poses (default None, readonly) + + :type: :class:`ActionPoseMarkers`\ [:class:`TimelineMarker`] + + .. data:: slots + + The list of slots in this Action (default None, readonly) + + :type: :class:`ActionSlots`\ [:class:`ActionSlot`] + + .. attribute:: use_cyclic + + The action is intended to be used as a cycle looping over its manually set playback frame range (enabling this does not automatically make it loop) (default False) + + :type: bool + + .. attribute:: use_frame_range + + Manually specify the intended playback frame range for the action (this range is used by some tools, but does not affect animation evaluation) (default False) + + :type: bool + + .. method:: deselect_keys() + + Deselects all keys of the Action. The selection status of F-Curves is unchanged. + + + .. method:: fcurve_ensure_for_datablock(datablock, data_path, *, index=0, group_name="") + + Ensure that an F-Curve exists, with the given data path and array index, for the given data-block. This action must already be assigned to the data-block. This function will also create the layer, keyframe strip, and action slot if necessary, and take care of assigning the action slot too + + :param datablock: The data-block animated by this action, for which to ensure the F-Curve exists. This action must already be assigned to the data-block (never None) + :type datablock: :class:`ID` | None + :param data_path: Data Path, F-Curve data path (never None) + :type data_path: str + :param index: Index, Array index (in [0, inf], optional) + :type index: int + :param group_name: Group Name, Name of the group for this F-Curve, if any. If the F-Curve already exists, this parameter is ignored (optional, never None) + :type group_name: str + :return: The found or created F-Curve + :rtype: :class:`FCurve` + + .. method:: flip_with_pose(object) + + Flip the action around the X axis using a pose + + :param object: The reference armature object to use when flipping (never None) + :type object: :class:`Object` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_action` + - :mod:`bpy.context.selected_editable_actions` + - :mod:`bpy.context.selected_visible_actions` + - :class:`ActionConstraint.action` + - :class:`AnimData.action` + - :class:`AnimData.action_tweak_storage` + - :class:`BlendData.actions` + - :class:`BlendDataActions.new` + - :class:`BlendDataActions.remove` + - :class:`GLTF2_filter_action.action` + - :class:`NlaStrip.action` + - :class:`NlaStrips.new` + - :class:`Pose.apply_pose_from_action` + - :class:`Pose.backup_create` + - :class:`Pose.blend_pose_from_action` + - :class:`WindowManager.poselib_previous_action` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbag.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbag.rst new file mode 100644 index 0000000..c646f95 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbag.rst @@ -0,0 +1,105 @@ +ActionChannelbag(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ActionChannelbag(bpy_struct) + + Collection of animation channels, typically associated with an action slot + + .. data:: fcurves + + The individual F-Curves that animate the slot (default None, readonly) + + :type: :class:`ActionChannelbagFCurves`\ [:class:`FCurve`] + + .. data:: groups + + Groupings of F-Curves for display purposes, in e.g. the dopesheet and graph editor (default None, readonly) + + :type: :class:`ActionChannelbagGroups`\ [:class:`ActionGroup`] + + .. data:: slot + + The Slot that the Channelbag's animation data is for (readonly) + + :type: :class:`ActionSlot` | None + + .. data:: slot_handle + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ActionChannelbags.new` + - :class:`ActionChannelbags.remove` + - :class:`ActionKeyframeStrip.channelbag` + - :class:`ActionKeyframeStrip.channelbags` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbagFCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbagFCurves.rst new file mode 100644 index 0000000..baaddb8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbagFCurves.rst @@ -0,0 +1,138 @@ +ActionChannelbagFCurves(bpy_prop_collection) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ActionChannelbagFCurves(bpy_prop_collection) + + Collection of F-Curves for a specific action slot, on a specific strip + + .. method:: new(data_path, *, index=0, group_name="") + + Add an F-Curve to the channelbag + + :param data_path: Data Path, F-Curve data path to use (never None) + :type data_path: str + :param index: Index, Array index (in [0, inf], optional) + :type index: int + :param group_name: Group Name, Name of the Group for this F-Curve, will be created if it does not exist yet (optional, never None) + :type group_name: str + :return: Newly created F-Curve + :rtype: :class:`FCurve` + + .. method:: new_from_fcurve(source, *, data_path="") + + Copy an F-Curve into the channelbag. The original F-Curve is unchanged + + :param source: Source F-Curve, The F-Curve to copy + :type source: :class:`FCurve` | None + :param data_path: Data Path, F-Curve data path to use. If not provided, this will use the same data path as the given F-Curve (optional, never None) + :type data_path: str + :return: Newly created F-Curve + :rtype: :class:`FCurve` + + .. method:: ensure(data_path, *, index=0, group_name="") + + Returns the F-Curve if it already exists, and creates it if necessary + + :param data_path: Data Path, F-Curve data path to use (never None) + :type data_path: str + :param index: Index, Array index (in [0, inf], optional) + :type index: int + :param group_name: Group Name, Name of the Group for this F-Curve, will be created if it does not exist yet. This parameter is ignored if the F-Curve already exists (optional, never None) + :type group_name: str + :return: Found or newly created F-Curve + :rtype: :class:`FCurve` + + .. method:: find(data_path, *, index=0) + + Find an F-Curve. Note that this function performs a linear scan of all F-Curves in the channelbag. + + :param data_path: Data Path, F-Curve data path (never None) + :type data_path: str + :param index: Index, Array index (in [0, inf], optional) + :type index: int + :return: The found F-Curve, or None if it does not exist + :rtype: :class:`FCurve` + + .. method:: remove(fcurve) + + Remove F-Curve + + :param fcurve: F-Curve to remove (never None) + :type fcurve: :class:`FCurve` | None + + .. method:: clear() + + Remove all F-Curves from this channelbag + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ActionChannelbag.fcurves` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbagGroups.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbagGroups.rst new file mode 100644 index 0000000..96c1342 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbagGroups.rst @@ -0,0 +1,94 @@ +ActionChannelbagGroups(bpy_prop_collection) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ActionChannelbagGroups(bpy_prop_collection) + + Collection of f-curve groups + + .. method:: new(name) + + Create a new action group and add it to the action + + :param name: New name for the action group (never None) + :type name: str + :return: Newly created action group + :rtype: :class:`ActionGroup` + + .. method:: remove(action_group) + + Remove action group + + :param action_group: Action group to remove (never None) + :type action_group: :class:`ActionGroup` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ActionChannelbag.groups` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbags.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbags.rst new file mode 100644 index 0000000..5d561e1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionChannelbags.rst @@ -0,0 +1,94 @@ +ActionChannelbags(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ActionChannelbags(bpy_prop_collection) + + For each action slot, a list of animation channels that are meant for that slot + + .. method:: new(slot) + + Add a new channelbag to the strip, to contain animation channels for a specific slot + + :param slot: Action Slot, The slot that should be animated by this channelbag + :type slot: :class:`ActionSlot` | None + :return: Newly created channelbag + :rtype: :class:`ActionChannelbag` + + .. method:: remove(channelbag) + + Remove the channelbag from the strip + + :param channelbag: The channelbag to remove + :type channelbag: :class:`ActionChannelbag` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ActionKeyframeStrip.channelbags` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionConstraint.rst new file mode 100644 index 0000000..40f5519 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionConstraint.rst @@ -0,0 +1,198 @@ +ActionConstraint(Constraint) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: ActionConstraint(Constraint) + + Map an action to the transform axes of a bone + + .. attribute:: action + + The constraining action + + :type: :class:`Action` | None + + .. attribute:: action_slot + + The slot identifies which sub-set of the Action is considered to be for this strip, and its name is used to find the right slot when assigning another Action + + :type: :class:`ActionSlot` | None + + .. attribute:: action_slot_handle + + A number that identifies which sub-set of the Action is considered to be for this Action Constraint (in [-inf, inf], default 0) + + :type: int + + .. data:: action_suitable_slots + + The list of action slots suitable for this NLA strip (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ActionSlot`] + + .. attribute:: eval_time + + Interpolates between Action Start and End frames (in [0, 1], default 0.0) + + :type: float + + .. attribute:: frame_end + + Last frame of the Action to use (in [-1048574, 1048574], default 0) + + :type: int + + .. attribute:: frame_start + + First frame of the Action to use (in [-1048574, 1048574], default 0) + + :type: int + + .. attribute:: last_slot_identifier + + The identifier of the most recently assigned action slot. The slot identifies which sub-set of the Action is considered to be for this constraint, and its identifier is used to find the right slot when assigning an Action. (default "", never None) + + :type: str + + .. attribute:: max + + Maximum value for target channel range (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: min + + Minimum value for target channel range (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: mix_mode + + Specify how existing transformations and the action channels are combined (default ``'AFTER_FULL'``) + + - ``REPLACE`` + Replace -- Replace the original transformation with the action channels. + - ``BEFORE_FULL`` + Before Original (Full) -- Apply the action channels before the original transformation, as if applied to an imaginary parent in Full Inherit Scale mode. Will create shear when combining rotation and non-uniform scale.. + - ``BEFORE`` + Before Original (Aligned) -- Apply the action channels before the original transformation, as if applied to an imaginary parent in Aligned Inherit Scale mode. This effectively uses Full for location and Split Channels for rotation and scale.. + - ``BEFORE_SPLIT`` + Before Original (Split Channels) -- Apply the action channels before the original transformation, handling location, rotation and scale separately. + - ``AFTER_FULL`` + After Original (Full) -- Apply the action channels after the original transformation, as if applied to an imaginary child in Full Inherit Scale mode. Will create shear when combining rotation and non-uniform scale.. + - ``AFTER`` + After Original (Aligned) -- Apply the action channels after the original transformation, as if applied to an imaginary child in Aligned Inherit Scale mode. This effectively uses Full for location and Split Channels for rotation and scale.. + - ``AFTER_SPLIT`` + After Original (Split Channels) -- Apply the action channels after the original transformation, handling location, rotation and scale separately. + + :type: Literal['REPLACE', 'BEFORE_FULL', 'BEFORE', 'BEFORE_SPLIT', 'AFTER_FULL', 'AFTER', 'AFTER_SPLIT'] + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: transform_channel + + Transformation channel from the target that is used to key the Action (default ``'ROTATION_X'``) + + :type: Literal['LOCATION_X', 'LOCATION_Y', 'LOCATION_Z', 'ROTATION_X', 'ROTATION_Y', 'ROTATION_Z', 'SCALE_X', 'SCALE_Y', 'SCALE_Z'] + + .. attribute:: use_bone_object_action + + Bones only: apply the object's transformation channels of the action to the constrained bone, instead of bone's channels (default False) + + :type: bool + + .. attribute:: use_eval_time + + Interpolate between Action Start and End frames, with the Evaluation Time slider instead of the Target object/bone (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionGroup.rst new file mode 100644 index 0000000..a4ef582 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionGroup.rst @@ -0,0 +1,147 @@ +ActionGroup(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ActionGroup(bpy_struct) + + Groups of F-Curves + + .. data:: channels + + F-Curves in this group (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`FCurve`] + + .. attribute:: color_set + + Custom color set to use (default ``'DEFAULT'``) + + :type: Literal[:ref:`rna_enum_color_sets_items`] + + .. data:: colors + + Copy of the colors associated with the group's color set (readonly, never None) + + :type: :class:`ThemeBoneColorSet` + + .. data:: is_custom_color_set + + Color set is user-defined instead of a fixed theme color set (default False, readonly) + + :type: bool + + .. attribute:: lock + + Action group is locked (default False) + + :type: bool + + .. attribute:: mute + + Action group is muted (default False) + + :type: bool + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: select + + Action group is selected (default False) + + :type: bool + + .. attribute:: show_expanded + + Action group is expanded except in graph editor (default False) + + :type: bool + + .. attribute:: show_expanded_graph + + Action group is expanded in graph editor (default False) + + :type: bool + + .. attribute:: use_pin + + (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ActionChannelbag.groups` + - :class:`ActionChannelbagGroups.new` + - :class:`ActionChannelbagGroups.remove` + - :class:`FCurve.group` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionKeyframeStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionKeyframeStrip.rst new file mode 100644 index 0000000..825a8cf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionKeyframeStrip.rst @@ -0,0 +1,107 @@ +ActionKeyframeStrip(ActionStrip) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ActionStrip` + +.. class:: ActionKeyframeStrip(ActionStrip) + + Strip with a set of F-Curves for each action slot + + .. data:: channelbags + + (default None, readonly) + + :type: :class:`ActionChannelbags`\ [:class:`ActionChannelbag`] + + .. method:: channelbag(slot, *, ensure=False) + + Find the ActionChannelbag for a specific Slot + + :param slot: Slot, The slot for which to find the channelbag + :type slot: :class:`ActionSlot` | None + :param ensure: Create if necessary, Ensure the channelbag exists for this slot, creating it if necessary (optional) + :type ensure: bool + :return: Channels + :rtype: :class:`ActionChannelbag` + + .. method:: key_insert(slot, data_path, array_index, value, time) + + key_insert + + :param slot: Slot, The slot that identifies which 'thing' should be keyed + :type slot: :class:`ActionSlot` | None + :param data_path: Data Path, F-Curve data path (never None) + :type data_path: str + :param array_index: Array Index, Index of the animated array element, or -1 if the property is not an array (in [-inf, inf]) + :type array_index: int + :param value: Value to key, Value of the animated property (in [-inf, inf]) + :type value: float + :param time: Time of the key, Time, in frames, of the key (in [-inf, inf]) + :type time: float + :return: Success, Whether the key was successfully inserted + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ActionStrip.type` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ActionStrip.bl_rna_get_subclass` + - :class:`ActionStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionLayer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionLayer.rst new file mode 100644 index 0000000..debd74b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionLayer.rst @@ -0,0 +1,91 @@ +ActionLayer(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ActionLayer(bpy_struct) + + + .. attribute:: name + + (default "", never None) + + :type: str + + .. data:: strips + + The list of strips that are on this animation layer (default None, readonly) + + :type: :class:`ActionStrips`\ [:class:`ActionStrip`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Action.layers` + - :class:`ActionLayers.new` + - :class:`ActionLayers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionLayers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionLayers.rst new file mode 100644 index 0000000..f4f9a08 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionLayers.rst @@ -0,0 +1,94 @@ +ActionLayers(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ActionLayers(bpy_prop_collection) + + Collection of animation layers + + .. method:: new(name) + + Add a layer to the Animation. Currently an Animation can only have at most one layer. + + :param name: Name, Name of the layer, will be made unique within the Action (never None) + :type name: str + :return: Newly created animation layer + :rtype: :class:`ActionLayer` + + .. method:: remove(anim_layer) + + Remove the layer from the animation + + :param anim_layer: Animation Layer, The layer to remove + :type anim_layer: :class:`ActionLayer` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Action.layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionPoseMarkers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionPoseMarkers.rst new file mode 100644 index 0000000..4795bda --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionPoseMarkers.rst @@ -0,0 +1,106 @@ +ActionPoseMarkers(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ActionPoseMarkers(bpy_prop_collection) + + Collection of timeline markers + + .. attribute:: active + + Active pose marker for this action + + :type: :class:`TimelineMarker` | None + + .. attribute:: active_index + + Index of active pose marker (in [0, inf], default 0) + + :type: int + + .. method:: new(name) + + Add a pose marker to the action + + :param name: New name for the marker (not unique) (never None) + :type name: str + :return: Newly created marker + :rtype: :class:`TimelineMarker` + + .. method:: remove(marker) + + Remove a timeline marker + + :param marker: Timeline marker to remove (never None) + :type marker: :class:`TimelineMarker` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Action.pose_markers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionSlot.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionSlot.rst new file mode 100644 index 0000000..847ee0e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionSlot.rst @@ -0,0 +1,289 @@ +ActionSlot(bpy_struct) +====================== + +.. currentmodule:: bpy.types + + +Action Slots organize animation data within an action. Each action has slots with specific animation +data. An animated data-block specifies an action and a slot, determining the animation data it uses. +See the `Blender Manual `_ +for how Action Slots are used, or the +`technical documentation `_ +for details on the animation system's architecture. + +Create & Access an Action Slot +++++++++++++++++++++++++++++++ + +To get started with Action Slots, you can easily create them by inserting a keyframe on an object. When you do this, +Blender automatically creates an Action & Slot for that data-block. + +.. literalinclude:: ./examples/bpy.types.ActionSlot.1.py + :lines: 16- + + +Manually Create an Action Slot +++++++++++++++++++++++++++++++ +If required you can also manually create Action Slots on an Action. Note the ``target_id_type`` +that matches the data-block type. Identifiers start with a prefix based on the ID type, +e.g. "OB" for objects, followed by the name. There can be identifiers like ``OBSuzanne`` +and ``MESuzanne`` and the name (``Suzanne``) can be shared between them. This is intentional, +so that the slots and the datablocks can have the same name. + +.. literalinclude:: ./examples/bpy.types.ActionSlot.2.py + :lines: 11- + + +Explicitly Assigning Action Slots ++++++++++++++++++++++++++++++++++ +An action slot is compatible with a data-block if the slot's ``target_id_type`` matches the data-block's type. +If there are multiple slots on the Action, and you want to just pick the first one that's +compatible, use the following code. ``anim_data.action_suitable_slots`` can be used `after` the +Action has been assigned; it is a list of action slots of that Action, but only the ones that +are actually compatible with the owner of anim_data (in this case, Suzanne). + +.. literalinclude:: ./examples/bpy.types.ActionSlot.3.py + :lines: 11- + + +Finding Action Slot Users ++++++++++++++++++++++++++ + +To return a list of the data-blocks that are animated by a specific slot of an Action, +use the ``users()`` method of the ActionSlot. + +.. literalinclude:: ./examples/bpy.types.ActionSlot.4.py + :lines: 9- + +base class --- :class:`bpy_struct` + +.. class:: ActionSlot(bpy_struct) + + Identifier for a set of channels in this Action, that can be used by a data-block to specify what it gets animated by + + .. data:: active + + Whether this is the active slot, can be set by assigning to action.slots.active (default False, readonly) + + :type: bool + + .. data:: handle + + Number specific to this Slot, unique within the Action. + This is used, for example, on a ActionKeyframeStrip to look up the ActionChannelbag for this Slot + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: identifier + + Used when connecting an Action to a data-block, to find the correct slot handle. This is the display name, prefixed by two characters determined by the slot's ID type (default "", never None) + + :type: str + + .. attribute:: name_display + + Name of the slot, for display in the user interface. This name combined with the slot's data-block type is unique within its Action (default "", never None) + + :type: str + + .. attribute:: select + + Selection state of the slot (default False) + + :type: bool + + .. attribute:: show_expanded + + Expanded state of the slot (default False) + + :type: bool + + .. attribute:: target_id_type + + Type of data-block that this slot is intended to animate; can be set when 'UNSPECIFIED' but is otherwise read-only (default ``'UNSPECIFIED'``) + + - ``ACTION`` + Action. + - ``ARMATURE`` + Armature. + - ``BRUSH`` + Brush. + - ``CACHEFILE`` + Cache File. + - ``CAMERA`` + Camera. + - ``COLLECTION`` + Collection. + - ``CURVE`` + Curve. + - ``CURVES`` + Curves. + - ``FONT`` + Font. + - ``GREASEPENCIL`` + Grease Pencil. + - ``GREASEPENCIL_V3`` + Grease Pencil v3. + - ``IMAGE`` + Image. + - ``KEY`` + Key. + - ``LATTICE`` + Lattice. + - ``LIBRARY`` + Library. + - ``LIGHT`` + Light. + - ``LIGHT_PROBE`` + Light Probe. + - ``LINESTYLE`` + Line Style. + - ``MASK`` + Mask. + - ``MATERIAL`` + Material. + - ``MESH`` + Mesh. + - ``META`` + Metaball. + - ``MOVIECLIP`` + Movie Clip. + - ``NODETREE`` + Node Tree. + - ``OBJECT`` + Object. + - ``PAINTCURVE`` + Paint Curve. + - ``PALETTE`` + Palette. + - ``PARTICLE`` + Particle. + - ``POINTCLOUD`` + Point Cloud. + - ``SCENE`` + Scene. + - ``SCREEN`` + Screen. + - ``SOUND`` + Sound. + - ``SPEAKER`` + Speaker. + - ``TEXT`` + Text. + - ``TEXTURE`` + Texture. + - ``VOLUME`` + Volume. + - ``WINDOWMANAGER`` + Window Manager. + - ``WORKSPACE`` + Workspace. + - ``WORLD`` + World. + - ``UNSPECIFIED`` + Unspecified -- Not yet specified. When this slot is first assigned to a data-block, this will be set to the type of that data-block. + + :type: Literal['ACTION', 'ARMATURE', 'BRUSH', 'CACHEFILE', 'CAMERA', 'COLLECTION', 'CURVE', 'CURVES', 'FONT', 'GREASEPENCIL', 'GREASEPENCIL_V3', 'IMAGE', 'KEY', 'LATTICE', 'LIBRARY', 'LIGHT', 'LIGHT_PROBE', 'LINESTYLE', 'MASK', 'MATERIAL', 'MESH', 'META', 'MOVIECLIP', 'NODETREE', 'OBJECT', 'PAINTCURVE', 'PALETTE', 'PARTICLE', 'POINTCLOUD', 'SCENE', 'SCREEN', 'SOUND', 'SPEAKER', 'TEXT', 'TEXTURE', 'VOLUME', 'WINDOWMANAGER', 'WORKSPACE', 'WORLD', 'UNSPECIFIED'] + + .. data:: target_id_type_icon + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. method:: users() + + Return the data-blocks that are animated by this slot of this action + + :return: users + :rtype: :class:`bpy_prop_collection`\ [:class:`ID`] + + .. method:: duplicate() + + Duplicate this slot, including all the animation data associated with it + + :return: Duplicated Slot, The slot created by duplicating this one + :rtype: :class:`ActionSlot` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Action.slots` + - :class:`ActionChannelbag.slot` + - :class:`ActionChannelbags.new` + - :class:`ActionConstraint.action_slot` + - :class:`ActionConstraint.action_suitable_slots` + - :class:`ActionKeyframeStrip.channelbag` + - :class:`ActionKeyframeStrip.key_insert` + - :class:`ActionSlot.duplicate` + - :class:`ActionSlots.active` + - :class:`ActionSlots.new` + - :class:`ActionSlots.remove` + - :class:`AnimData.action_slot` + - :class:`AnimData.action_suitable_slots` + - :class:`NlaStrip.action_slot` + - :class:`NlaStrip.action_suitable_slots` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionSlots.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionSlots.rst new file mode 100644 index 0000000..97e456b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionSlots.rst @@ -0,0 +1,102 @@ +ActionSlots(bpy_prop_collection) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ActionSlots(bpy_prop_collection) + + Collection of action slots + + .. attribute:: active + + Active slot for this action + + :type: :class:`ActionSlot` | None + + .. method:: new(id_type, name) + + Add a slot to the Action + + :param id_type: Data-block Type, The data-block type that the slot is intended for. This is combined with the slot name to create the slot's unique identifier, and is also used to limit (on a best-effort basis) which data-blocks the slot can be assigned to. + :type id_type: Literal[:ref:`rna_enum_id_type_items`] + :param name: Name, Name of the slot. This will be made unique within the Action among slots of the same type (never None) + :type name: str + :return: Newly created action slot + :rtype: :class:`ActionSlot` + + .. method:: remove(action_slot) + + Remove the slot from the Action, including all animation that is associated with that slot + + :param action_slot: Action Slot, The slot to remove + :type action_slot: :class:`ActionSlot` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Action.slots` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionStrip.rst new file mode 100644 index 0000000..6bb6126 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionStrip.rst @@ -0,0 +1,91 @@ +ActionStrip(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`ActionKeyframeStrip` + +.. class:: ActionStrip(bpy_struct) + + + .. data:: type + + (default ``'KEYFRAME'``, readonly) + + - ``KEYFRAME`` + Keyframe -- Strip with a set of F-Curves for each action slot. + + :type: Literal['KEYFRAME'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ActionLayer.strips` + - :class:`ActionStrips.new` + - :class:`ActionStrips.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionStrips.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionStrips.rst new file mode 100644 index 0000000..005222f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ActionStrips.rst @@ -0,0 +1,97 @@ +ActionStrips(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ActionStrips(bpy_prop_collection) + + Collection of animation strips + + .. method:: new(*, type='KEYFRAME') + + Add a new strip to the layer. Currently a layer can only have one strip, with infinite boundaries. + + :param type: Type, The type of strip to create (optional) + + - ``KEYFRAME`` + Keyframe -- Strip containing keyframes on F-Curves. + :type type: Literal['KEYFRAME'] + :return: Newly created animation strip + :rtype: :class:`ActionStrip` + + .. method:: remove(anim_strip) + + Remove the strip from the animation layer + + :param anim_strip: Animation Strip, The strip to remove + :type anim_strip: :class:`ActionStrip` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ActionLayer.strips` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AddStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AddStrip.rst new file mode 100644 index 0000000..70c181d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AddStrip.rst @@ -0,0 +1,144 @@ +AddStrip(EffectStrip) +===================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: AddStrip(EffectStrip) + + Add Strip + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. attribute:: input_2 + + Second input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Addon.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Addon.rst new file mode 100644 index 0000000..8992def --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Addon.rst @@ -0,0 +1,92 @@ +Addon(bpy_struct) +================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Addon(bpy_struct) + + Python add-ons to be loaded automatically + + .. attribute:: module + + Module name (default "", never None) + + :type: str + + .. data:: preferences + + (readonly) + + :type: :class:`AddonPreferences` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Addons.new` + - :class:`Addons.remove` + - :class:`Preferences.addons` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AddonPreferences.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AddonPreferences.rst new file mode 100644 index 0000000..3f9c3d1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AddonPreferences.rst @@ -0,0 +1,95 @@ +AddonPreferences(bpy_struct) +============================ + +.. currentmodule:: bpy.types + + +.. literalinclude:: ./examples/bpy.types.AddonPreferences.1.py + +base class --- :class:`bpy_struct` + +.. class:: AddonPreferences(bpy_struct) + + + .. attribute:: bl_idname + + (default "", never None) + + :type: str + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Addon.preferences` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Addons.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Addons.rst new file mode 100644 index 0000000..c213742 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Addons.rst @@ -0,0 +1,92 @@ +Addons(bpy_prop_collection) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: Addons(bpy_prop_collection) + + Collection of add-ons + + .. classmethod:: new() + + Add a new add-on + + :return: Add-on data + :rtype: :class:`Addon` + + .. classmethod:: remove(addon) + + Remove add-on + + :param addon: Add-on to remove (never None) + :type addon: :class:`Addon` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.addons` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AdjustmentStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AdjustmentStrip.rst new file mode 100644 index 0000000..936b3fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AdjustmentStrip.rst @@ -0,0 +1,164 @@ +AdjustmentStrip(EffectStrip) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: AdjustmentStrip(EffectStrip) + + Sequence strip to perform filter adjustments to layers below + + .. attribute:: animation_offset_end + + Animation end offset (trim end) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_end'. + + :type: int + + .. attribute:: animation_offset_start + + Animation start offset (trim start) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_start'. + + :type: int + + .. attribute:: content_trim_end + + Number of frames to ignore from the end of the underlying source. The source content is trimmed, and future frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. attribute:: content_trim_start + + Number of frames to ignore from the start of the underlying source. The source content is trimmed, and previous frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AlphaOverStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AlphaOverStrip.rst new file mode 100644 index 0000000..d9c25f7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AlphaOverStrip.rst @@ -0,0 +1,144 @@ +AlphaOverStrip(EffectStrip) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: AlphaOverStrip(EffectStrip) + + Alpha Over Strip + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. attribute:: input_2 + + Second input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AlphaUnderStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AlphaUnderStrip.rst new file mode 100644 index 0000000..b47d420 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AlphaUnderStrip.rst @@ -0,0 +1,144 @@ +AlphaUnderStrip(EffectStrip) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: AlphaUnderStrip(EffectStrip) + + Alpha Under Strip + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. attribute:: input_2 + + Second input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimData.rst new file mode 100644 index 0000000..447ad2a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimData.rst @@ -0,0 +1,234 @@ +AnimData(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AnimData(bpy_struct) + + Animation data for data-block + + .. attribute:: action + + Active Action for this data-block + + :type: :class:`Action` | None + + .. attribute:: action_blend_type + + Method used for combining Active Action's result with result of NLA stack (default ``'REPLACE'``) + + - ``REPLACE`` + Replace -- The strip values replace the accumulated results by amount specified by influence. + - ``COMBINE`` + Combine -- The strip values are combined with accumulated results by appropriately using addition, multiplication, or quaternion math, based on channel type. + - ``ADD`` + Add -- Weighted result of strip is added to the accumulated results. + - ``SUBTRACT`` + Subtract -- Weighted result of strip is removed from the accumulated results. + - ``MULTIPLY`` + Multiply -- Weighted result of strip is multiplied with the accumulated results. + + :type: Literal['REPLACE', 'COMBINE', 'ADD', 'SUBTRACT', 'MULTIPLY'] + + .. attribute:: action_extrapolation + + Action to take for gaps past the Active Action's range (when evaluating with NLA) (default ``'HOLD'``) + + - ``NOTHING`` + Nothing -- Strip has no influence past its extents. + - ``HOLD`` + Hold -- Hold the first frame if no previous strips in track, and always hold last frame. + - ``HOLD_FORWARD`` + Hold Forward -- Only hold last frame. + + :type: Literal['NOTHING', 'HOLD', 'HOLD_FORWARD'] + + .. attribute:: action_influence + + Amount the Active Action contributes to the result of the NLA stack (in [0, 1], default 1.0) + + :type: float + + .. attribute:: action_slot + + The slot identifies which sub-set of the Action is considered to be for this data-block, and its name is used to find the right slot when assigning an Action + + :type: :class:`ActionSlot` | None + + .. attribute:: action_slot_handle + + A number that identifies which sub-set of the Action is considered to be for this data-block (in [-inf, inf], default 0) + + :type: int + + .. attribute:: action_slot_handle_tweak_storage + + Storage to temporarily hold the main action slot while in tweak mode (in [-inf, inf], default 0) + + :type: int + + .. data:: action_suitable_slots + + The list of slots in this animation data-block (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ActionSlot`] + + .. attribute:: action_tweak_storage + + Storage to temporarily hold the main action while in tweak mode + + :type: :class:`Action` | None + + .. data:: drivers + + The Drivers/Expressions for this data-block (default None, readonly) + + :type: :class:`AnimDataDrivers`\ [:class:`FCurve`] + + .. attribute:: last_slot_identifier + + The identifier of the most recently assigned action slot. The slot identifies which sub-set of the Action is considered to be for this data-block, and its identifier is used to find the right slot when assigning an Action. (default "", never None) + + :type: str + + .. data:: nla_tracks + + NLA Tracks (i.e. Animation Layers) (default None, readonly) + + :type: :class:`NlaTracks`\ [:class:`NlaTrack`] + + .. attribute:: use_nla + + NLA stack is evaluated when evaluating this block (default True) + + :type: bool + + .. attribute:: use_pin + + (default False) + + :type: bool + + .. attribute:: use_tweak_mode + + Whether to enable or disable tweak mode in NLA (default False) + + :type: bool + + .. method:: nla_tweak_strip_time_to_scene(frame, *, invert=False) + + Convert a time value from the local time of the tweaked strip to scene time, exactly as done by built-in key editing tools. Returns the input time unchanged if not tweaking. + + :param frame: Input time (in [-1.04857e+06, 1.04857e+06]) + :type frame: float + :param invert: Invert, Convert scene time to action time (optional) + :type invert: bool + :return: Converted time (in [-1.04857e+06, 1.04857e+06]) + :rtype: float + + .. method:: fix_paths_rename_all(*, prefix="", old_name="", new_name="") + + Rename the property paths in the animation system, since properties are animated via string paths, it's needed to keep them valid after properties has been renamed + + :param prefix: Prefix, Name prefix (optional, never None) + :type prefix: str + :param old_name: Old Name, Old name (optional, never None) + :type old_name: str + :param new_name: New Name, New name (optional, never None) + :type new_name: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Annotation.animation_data` + - :class:`Armature.animation_data` + - :class:`CacheFile.animation_data` + - :class:`Camera.animation_data` + - :class:`Curve.animation_data` + - :class:`Curves.animation_data` + - :class:`FreestyleLineStyle.animation_data` + - :class:`GreasePencil.animation_data` + - :class:`ID.animation_data_create` + - :class:`Key.animation_data` + - :class:`Lattice.animation_data` + - :class:`Light.animation_data` + - :class:`LightProbe.animation_data` + - :class:`Mask.animation_data` + - :class:`Material.animation_data` + - :class:`Mesh.animation_data` + - :class:`MetaBall.animation_data` + - :class:`MovieClip.animation_data` + - :class:`NodeTree.animation_data` + - :class:`Object.animation_data` + - :class:`ParticleSettings.animation_data` + - :class:`PointCloud.animation_data` + - :class:`Scene.animation_data` + - :class:`Speaker.animation_data` + - :class:`Texture.animation_data` + - :class:`Volume.animation_data` + - :class:`World.animation_data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimDataDrivers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimDataDrivers.rst new file mode 100644 index 0000000..27a7302 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimDataDrivers.rst @@ -0,0 +1,116 @@ +AnimDataDrivers(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AnimDataDrivers(bpy_prop_collection) + + Collection of Driver F-Curves + + .. method:: new(data_path, *, index=0) + + new + + :param data_path: Data Path, F-Curve data path to use (never None) + :type data_path: str + :param index: Index, Array index (in [0, inf], optional) + :type index: int + :return: Newly Driver F-Curve + :rtype: :class:`FCurve` + + .. method:: remove(driver) + + remove + + :param driver: (never None) + :type driver: :class:`FCurve` | None + + .. method:: from_existing(*, src_driver=None) + + Add a new driver given an existing one + + :param src_driver: Existing Driver F-Curve to use as template for a new one (optional) + :type src_driver: :class:`FCurve` | None + :return: New Driver F-Curve + :rtype: :class:`FCurve` + + .. method:: find(data_path, *, index=0) + + Find a driver F-Curve. Note that this function performs a linear scan of all driver F-Curves. + + :param data_path: Data Path, F-Curve data path (never None) + :type data_path: str + :param index: Index, Array index (in [0, inf], optional) + :type index: int + :return: The found F-Curve, or None if it doesn't exist + :rtype: :class:`FCurve` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AnimData.drivers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimViz.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimViz.rst new file mode 100644 index 0000000..9ee5b11 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimViz.rst @@ -0,0 +1,85 @@ +AnimViz(bpy_struct) +=================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AnimViz(bpy_struct) + + Settings for the visualization of motion + + .. data:: motion_path + + Motion Path settings for visualization (readonly, never None) + + :type: :class:`AnimVizMotionPaths` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.animation_visualization` + - :class:`Pose.animation_visualization` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimVizMotionPaths.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimVizMotionPaths.rst new file mode 100644 index 0000000..9bc6c96 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnimVizMotionPaths.rst @@ -0,0 +1,162 @@ +AnimVizMotionPaths(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AnimVizMotionPaths(bpy_struct) + + Motion Path settings for animation visualization + + .. attribute:: bake_location + + When calculating Bone Paths, use Head or Tips (default ``'TAILS'``) + + :type: Literal[:ref:`rna_enum_motionpath_bake_location_items`] + + .. attribute:: frame_after + + Number of frames to show after the current frame (only for 'Around Frame' Onion-skinning method) (in [1, 524287], default 0) + + :type: int + + .. attribute:: frame_before + + Number of frames to show before the current frame (only for 'Around Frame' Onion-skinning method) (in [1, 524287], default 0) + + :type: int + + .. attribute:: frame_end + + End frame of range of paths to display/calculate (not for 'Around Frame' Onion-skinning method) (in [-inf, inf], default 0) + + :type: int + + .. attribute:: frame_start + + Starting frame of range of paths to display/calculate (not for 'Around Frame' Onion-skinning method) (in [-inf, inf], default 0) + + :type: int + + .. attribute:: frame_step + + Number of frames between paths shown (not for 'On Keyframes' Onion-skinning method) (in [1, 100], default 0) + + :type: int + + .. data:: has_motion_paths + + Are there any bone paths that will need updating (read-only) (default False, readonly) + + :type: bool + + .. attribute:: range + + Type of range to calculate for Motion Paths (default ``'SCENE'``) + + :type: Literal[:ref:`rna_enum_motionpath_range_items`] + + .. attribute:: show_frame_numbers + + Show frame numbers on Motion Paths (default False) + + :type: bool + + .. attribute:: show_keyframe_action_all + + For bone motion paths, search whole Action for keyframes instead of in group with matching name only (is slower) (default False) + + :type: bool + + .. attribute:: show_keyframe_highlight + + Emphasize position of keyframes on Motion Paths (default False) + + :type: bool + + .. attribute:: show_keyframe_numbers + + Show frame numbers of Keyframes on Motion Paths (default False) + + :type: bool + + .. attribute:: type + + Type of range to show for Motion Paths (default ``'RANGE'``) + + :type: Literal[:ref:`rna_enum_motionpath_display_type_items`] + + .. attribute:: use_camera_space_bake + + Motion path points will be baked into the camera space of the active camera. This means they will only look right when looking through that camera. Switching cameras using markers is not supported. (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AnimViz.motion_path` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Annotation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Annotation.rst new file mode 100644 index 0000000..9944081 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Annotation.rst @@ -0,0 +1,138 @@ +Annotation(ID) +============== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Annotation(ID) + + Freehand annotation sketchbook + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. data:: layers + + (default None, readonly) + + :type: :class:`AnnotationLayers`\ [:class:`AnnotationLayer`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.annotations` + - :class:`BlendDataAnnotations.new` + - :class:`BlendDataAnnotations.remove` + - :class:`MovieClip.annotation` + - :class:`MovieTrackingTrack.annotation` + - :class:`NodeTree.annotation` + - :class:`Scene.annotation` + - :class:`SpaceImageEditor.annotation` + - :class:`SpaceSequenceEditor.annotation` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationFrame.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationFrame.rst new file mode 100644 index 0000000..a530f7e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationFrame.rst @@ -0,0 +1,101 @@ +AnnotationFrame(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AnnotationFrame(bpy_struct) + + Collection of related sketches on a particular frame + + .. attribute:: frame_number + + The frame on which this sketch appears (in [-1048574, 1048574], default 0) + + :type: int + + .. attribute:: select + + Frame is selected for editing in the Dope Sheet (default False) + + :type: bool + + .. data:: strokes + + Freehand curves defining the sketch on this frame (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`AnnotationStroke`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AnnotationFrames.copy` + - :class:`AnnotationFrames.copy` + - :class:`AnnotationFrames.new` + - :class:`AnnotationFrames.remove` + - :class:`AnnotationLayer.active_frame` + - :class:`AnnotationLayer.frames` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationFrames.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationFrames.rst new file mode 100644 index 0000000..d3536ec --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationFrames.rst @@ -0,0 +1,105 @@ +AnnotationFrames(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AnnotationFrames(bpy_prop_collection) + + Collection of annotation frames + + .. method:: new(frame_number, *, active=False) + + Add a new annotation frame + + :param frame_number: Frame Number, The frame on which this sketch appears (in [-1048574, 1048574]) + :type frame_number: int + :param active: Active, (optional) + :type active: bool + :return: The newly created frame + :rtype: :class:`AnnotationFrame` + + .. method:: remove(frame) + + Remove an annotation frame + + :param frame: Frame, The frame to remove (never None) + :type frame: :class:`AnnotationFrame` | None + + .. method:: copy(source) + + Copy an annotation frame + + :param source: Source, The source frame (never None) + :type source: :class:`AnnotationFrame` | None + :return: The newly copied frame + :rtype: :class:`AnnotationFrame` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AnnotationLayer.frames` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationLayer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationLayer.rst new file mode 100644 index 0000000..8145a5a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationLayer.rst @@ -0,0 +1,189 @@ +AnnotationLayer(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AnnotationLayer(bpy_struct) + + Collection of related sketches + + .. data:: active_frame + + Frame currently being displayed for this layer (readonly) + + :type: :class:`AnnotationFrame` | None + + .. attribute:: annotation_hide + + Set annotation Visibility (default False) + + :type: bool + + .. attribute:: annotation_onion_after_color + + Base color for ghosts after the active frame (array of 3 items, in [0, 1], default (0.25, 0.1, 1.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: annotation_onion_after_range + + Maximum number of frames to show after current frame (in [-1, 120], default 0) + + :type: int + + .. attribute:: annotation_onion_before_color + + Base color for ghosts before the active frame (array of 3 items, in [0, 1], default (0.302, 0.851, 0.302)) + + :type: :class:`mathutils.Color` + + .. attribute:: annotation_onion_before_range + + Maximum number of frames to show before current frame (in [-1, 120], default 0) + + :type: int + + .. attribute:: annotation_onion_use_custom_color + + Use custom colors for onion skinning instead of the theme (default False) + + :type: bool + + .. attribute:: annotation_opacity + + Annotation Layer Opacity (in [0, 1], default 0.0) + + :type: float + + .. attribute:: color + + Color for all strokes in this layer (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: frames + + Sketches for this layer on different frames (default None, readonly) + + :type: :class:`AnnotationFrames`\ [:class:`AnnotationFrame`] + + .. attribute:: info + + Layer name (default "", never None) + + :type: str + + .. data:: is_ruler + + This is a special ruler layer (default False, readonly) + + :type: bool + + .. attribute:: lock + + Protect layer from further editing and/or frame changes (default False) + + :type: bool + + .. attribute:: lock_frame + + Lock current frame displayed by layer (default False) + + :type: bool + + .. attribute:: select + + Layer is selected for editing in the Dope Sheet (default False) + + :type: bool + + .. attribute:: show_in_front + + Make the layer display in front of objects (default True) + + :type: bool + + .. attribute:: thickness + + Thickness of annotation strokes (in [1, 10], default 0) + + :type: int + + .. attribute:: use_annotation_onion_skinning + + Display annotation onion skins before and after the current frame (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_annotation_layer` + - :class:`Annotation.layers` + - :class:`AnnotationLayers.new` + - :class:`AnnotationLayers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationLayers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationLayers.rst new file mode 100644 index 0000000..04b6eee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationLayers.rst @@ -0,0 +1,108 @@ +AnnotationLayers(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AnnotationLayers(bpy_prop_collection) + + Collection of annotation layers + + .. attribute:: active_index + + Index of active annotation layer (in [0, inf], default 0) + + :type: int + + .. attribute:: active_note + + Note/Layer to add annotation strokes to (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: new(name, *, set_active=True) + + Add a new annotation layer + + :param name: Name, Name of the layer (never None) + :type name: str + :param set_active: Set Active, Set the newly created layer to the active layer (optional) + :type set_active: bool + :return: The newly created layer + :rtype: :class:`AnnotationLayer` + + .. method:: remove(layer) + + Remove a annotation layer + + :param layer: The layer to remove (never None) + :type layer: :class:`AnnotationLayer` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Annotation.layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationStroke.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationStroke.rst new file mode 100644 index 0000000..3d02c78 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationStroke.rst @@ -0,0 +1,84 @@ +AnnotationStroke(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AnnotationStroke(bpy_struct) + + Freehand curve defining part of a sketch + + .. data:: points + + Stroke data points (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`AnnotationStrokePoint`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AnnotationFrame.strokes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationStrokePoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationStrokePoint.rst new file mode 100644 index 0000000..0268c1f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnnotationStrokePoint.rst @@ -0,0 +1,84 @@ +AnnotationStrokePoint(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AnnotationStrokePoint(bpy_struct) + + Data point for freehand stroke curve + + .. attribute:: co + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AnnotationStroke.points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnyType.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnyType.rst new file mode 100644 index 0000000..f07283e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AnyType.rst @@ -0,0 +1,143 @@ +AnyType(bpy_struct) +=================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AnyType(bpy_struct) + + RNA type used for pointers to any possible data + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.property` + - :class:`BoneCollection.assign` + - :class:`BoneCollection.unassign` + - :class:`FCurve.update_autoflags` + - :class:`Gizmo.target_set_prop` + - :class:`KeyingSetInfo.generate` + - :class:`Region.data` + - :class:`UILayout.context_pointer_set` + - :class:`UILayout.enum_item_description` + - :class:`UILayout.enum_item_icon` + - :class:`UILayout.enum_item_name` + - :class:`UILayout.icon` + - :class:`UILayout.panel_prop` + - :class:`UILayout.prop` + - :class:`UILayout.prop_decorator` + - :class:`UILayout.prop_enum` + - :class:`UILayout.prop_menu_enum` + - :class:`UILayout.prop_search` + - :class:`UILayout.prop_search` + - :class:`UILayout.prop_tabs_enum` + - :class:`UILayout.prop_tabs_enum` + - :class:`UILayout.prop_with_menu` + - :class:`UILayout.prop_with_popover` + - :class:`UILayout.props_enum` + - :class:`UILayout.template_ID` + - :class:`UILayout.template_ID_preview` + - :class:`UILayout.template_ID_session_uid` + - :class:`UILayout.template_ID_tabs` + - :class:`UILayout.template_any_ID` + - :class:`UILayout.template_cache_file` + - :class:`UILayout.template_cache_file_layers` + - :class:`UILayout.template_cache_file_time_settings` + - :class:`UILayout.template_cache_file_velocity` + - :class:`UILayout.template_color_picker` + - :class:`UILayout.template_color_ramp` + - :class:`UILayout.template_colormanaged_view_settings` + - :class:`UILayout.template_colorspace_settings` + - :class:`UILayout.template_component_menu` + - :class:`UILayout.template_curve_mapping` + - :class:`UILayout.template_curveprofile` + - :class:`UILayout.template_greasepencil_color` + - :class:`UILayout.template_histogram` + - :class:`UILayout.template_icon_view` + - :class:`UILayout.template_image` + - :class:`UILayout.template_layers` + - :class:`UILayout.template_layers` + - :class:`UILayout.template_light_linking_collection` + - :class:`UILayout.template_list` + - :class:`UILayout.template_list` + - :class:`UILayout.template_marker` + - :class:`UILayout.template_matrix` + - :class:`UILayout.template_movieclip` + - :class:`UILayout.template_movieclip_information` + - :class:`UILayout.template_palette` + - :class:`UILayout.template_path_builder` + - :class:`UILayout.template_search` + - :class:`UILayout.template_search` + - :class:`UILayout.template_search_preview` + - :class:`UILayout.template_search_preview` + - :class:`UILayout.template_track` + - :class:`UILayout.template_vectorscope` + - :class:`UILayout.template_waveform` + - :class:`UIList.draw_item` + - :class:`UIList.draw_item` + - :class:`UIList.draw_item` + - :class:`UIList.filter_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Area.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Area.rst new file mode 100644 index 0000000..a5a9111 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Area.rst @@ -0,0 +1,145 @@ +Area(bpy_struct) +================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Area(bpy_struct) + + Area in a subdivided screen, containing an editor + + .. data:: height + + Area height (in [0, 32767], default 0, readonly) + + :type: int + + .. data:: regions + + Regions this area is subdivided in (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Region`] + + .. attribute:: show_menus + + Show menus in the header (default True) + + :type: bool + + .. data:: spaces + + Spaces contained in this area, the first being the active space (NOTE: Useful for example to restore a previously used 3D view space in a certain area to get the old view orientation) (default None, readonly) + + :type: :class:`AreaSpaces`\ [:class:`Space`] + + .. attribute:: type + + Current editor type for this area (default ``'VIEW_3D'``) + + :type: Literal[:ref:`rna_enum_space_type_items`] + + .. attribute:: ui_type + + Current editor type for this area + + :type: str + + .. data:: width + + Area width (in [0, 32767], default 0, readonly) + + :type: int + + .. data:: x + + The window relative vertical location of the area (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: y + + The window relative horizontal location of the area (in [-inf, inf], default 0, readonly) + + :type: int + + .. method:: tag_redraw() + + tag_redraw + + + .. method:: header_text_set(text) + + Set the header status text + + :param text: Text, New string for the header, None clears the text + :type text: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Context.area` + - :class:`Screen.areas` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AreaLight.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AreaLight.rst new file mode 100644 index 0000000..1eabc6f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AreaLight.rst @@ -0,0 +1,211 @@ +AreaLight(Light) +================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Light` + +.. class:: AreaLight(Light) + + Directional area Light + + .. attribute:: energy + + Light energy emitted over the entire area of the light in all directions, in units of radiant power (W) (in [-inf, inf], default 10.0) + + :type: float + + .. attribute:: shadow_buffer_clip_start + + Shadow map clip start, below which objects will not generate shadows (in [1e-06, inf], default 0.05) + + :type: float + + .. attribute:: shadow_filter_radius + + Blur shadow aliasing using Percentage Closer Filtering (in [0, inf], default 1.0) + + :type: float + + .. attribute:: shadow_jitter_overblur + + Apply shadow tracing to each jittered sample to reduce under-sampling artifacts (in [0, 100], default 10.0) + + :type: float + + .. attribute:: shadow_maximum_resolution + + Minimum size of a shadow map pixel. Higher values use less memory at the cost of shadow quality. (in [0, inf], default 0.001) + + :type: float + + .. attribute:: shadow_soft_size + + Light size for ray shadow sampling (Raytraced shadows) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: shape + + Shape of the area Light (default ``'SQUARE'``) + + :type: Literal['SQUARE', 'RECTANGLE', 'DISK', 'ELLIPSE'] + + .. attribute:: size + + Size of the area of the area light, X direction size for rectangle shapes (in [0, inf], default 0.25) + + :type: float + + .. attribute:: size_y + + Size of the area of the area light in the Y direction for rectangle shapes (in [0, inf], default 0.25) + + :type: float + + .. attribute:: spread + + How widely the emitted light fans out, as in the case of a gridded softbox (in [0, 3.14159], default 3.14159) + + :type: float + + .. attribute:: use_absolute_resolution + + Limit the resolution at 1 unit from the light origin instead of relative to the shadowed pixel (default False) + + :type: bool + + .. attribute:: use_shadow_jitter + + Enable jittered soft shadows to increase shadow precision (disabled in viewport unless enabled in the render settings). Has a high performance impact. (default False) + + :type: bool + + .. method:: inline_shader_nodes() + + Get the inlined shader nodes of this light. This preprocesses the node tree + to remove nested groups, repeat zones and more. + + :return: The inlined shader nodes. + :rtype: :class:`bpy.types.InlineShaderNodes` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Light.type` + - :class:`Light.use_temperature` + - :class:`Light.color` + - :class:`Light.temperature` + - :class:`Light.temperature_color` + - :class:`Light.specular_factor` + - :class:`Light.diffuse_factor` + - :class:`Light.transmission_factor` + - :class:`Light.volume_factor` + - :class:`Light.use_custom_distance` + - :class:`Light.cutoff_distance` + - :class:`Light.use_shadow` + - :class:`Light.exposure` + - :class:`Light.normalize` + - :class:`Light.node_tree` + - :class:`Light.use_nodes` + - :class:`Light.animation_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Light.area` + - :class:`Light.inline_shader_nodes` + - :class:`Light.bl_rna_get_subclass` + - :class:`Light.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AreaSpaces.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AreaSpaces.rst new file mode 100644 index 0000000..f373092 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AreaSpaces.rst @@ -0,0 +1,84 @@ +AreaSpaces(bpy_prop_collection) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AreaSpaces(bpy_prop_collection) + + Collection of spaces + + .. data:: active + + Space currently being displayed in this area (readonly) + + :type: :class:`Space` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Area.spaces` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Armature.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Armature.rst new file mode 100644 index 0000000..7729794 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Armature.rst @@ -0,0 +1,239 @@ +Armature(ID) +============ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Armature(ID) + + Armature data-block containing a hierarchy of bones, usually used for rigging characters + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: axes_position + + The position for the axes on the bone. Increasing the value moves it closer to the tip; decreasing moves it closer to the root. (in [0, 1], default 0.0) + + :type: float + + .. data:: bones + + (default None, readonly) + + :type: :class:`ArmatureBones`\ [:class:`Bone`] + + .. attribute:: collections + + (default None) + + :type: :class:`BoneCollections`\ [:class:`BoneCollection`] + + .. data:: collections_all + + List of all bone collections of the armature (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`BoneCollection`] + + .. attribute:: display_type + + (default ``'OCTAHEDRAL'``) + + - ``OCTAHEDRAL`` + Octahedral -- Display bones as octahedral shape (default). + - ``STICK`` + Stick -- Display bones as simple 2D lines with dots. + - ``BBONE`` + B-Bone -- Display bones as boxes, showing subdivision and B-Splines. + - ``ENVELOPE`` + Envelope -- Display bones as extruded spheres, showing deformation influence volume. + - ``WIRE`` + Wire -- Display bones as thin wires, showing subdivision and B-Splines. + + :type: Literal['OCTAHEDRAL', 'STICK', 'BBONE', 'ENVELOPE', 'WIRE'] + + .. data:: edit_bones + + (default None, readonly) + + :type: :class:`ArmatureEditBones`\ [:class:`EditBone`] + + .. data:: is_editmode + + True when used in editmode (default False, readonly) + + :type: bool + + .. attribute:: pose_position + + Show armature in binding pose or final posed state (default ``'POSE'``) + + - ``POSE`` + Pose Position -- Show armature in posed state. + - ``REST`` + Rest Position -- Show Armature in binding pose state (no posing possible). + + :type: Literal['POSE', 'REST'] + + .. attribute:: relation_line_position + + The start position of the relation lines from parent to child bones (default ``'TAIL'``) + + - ``TAIL`` + Tail -- Draw the relationship line from the parent tail to the child head. + - ``HEAD`` + Head -- Draw the relationship line from the parent head to the child head. + + :type: Literal['TAIL', 'HEAD'] + + .. attribute:: show_axes + + Display bone axes (default False) + + :type: bool + + .. attribute:: show_bone_colors + + Display bone colors (default True) + + :type: bool + + .. attribute:: show_bone_custom_shapes + + Display bones with their custom shapes (default True) + + :type: bool + + .. attribute:: show_names + + Display bone names (default False) + + :type: bool + + .. attribute:: use_mirror_x + + Apply changes to matching bone on opposite side of X-Axis (default False) + + :type: bool + + .. method:: transform(matrix) + + Transform armature bones by a matrix + + :param matrix: Matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.armature` + - :class:`BlendData.armatures` + - :class:`BlendDataArmatures.new` + - :class:`BlendDataArmatures.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureBones.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureBones.rst new file mode 100644 index 0000000..f1f8540 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureBones.rst @@ -0,0 +1,84 @@ +ArmatureBones(bpy_prop_collection) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ArmatureBones(bpy_prop_collection) + + Collection of armature bones + + .. attribute:: active + + Armature's active bone + + :type: :class:`Bone` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Armature.bones` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureConstraint.rst new file mode 100644 index 0000000..4b3084b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureConstraint.rst @@ -0,0 +1,111 @@ +ArmatureConstraint(Constraint) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: ArmatureConstraint(Constraint) + + Applies transformations done by the Armature modifier + + .. data:: targets + + Target Bones (default None, readonly) + + :type: :class:`ArmatureConstraintTargets`\ [:class:`ConstraintTargetBone`] + + .. attribute:: use_bone_envelopes + + Multiply weights by envelope for all bones, instead of acting like Vertex Group based blending. The specified weights are still used, and only the listed bones are considered. (default False) + + :type: bool + + .. attribute:: use_current_location + + Use the current bone location for envelopes and choosing B-Bone segments instead of rest position (default False) + + :type: bool + + .. attribute:: use_deform_preserve_volume + + Deform rotation interpolation with quaternions (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureConstraintTargets.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureConstraintTargets.rst new file mode 100644 index 0000000..7bb3c54 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureConstraintTargets.rst @@ -0,0 +1,97 @@ +ArmatureConstraintTargets(bpy_prop_collection) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ArmatureConstraintTargets(bpy_prop_collection) + + Collection of target bones and weights + + .. method:: new() + + Add a new target to the constraint + + :return: New target bone + :rtype: :class:`ConstraintTargetBone` + + .. method:: remove(target) + + Delete target from the constraint + + :param target: Target to remove (never None) + :type target: :class:`ConstraintTargetBone` | None + + .. method:: clear() + + Delete all targets from object + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ArmatureConstraint.targets` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureEditBones.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureEditBones.rst new file mode 100644 index 0000000..4173e11 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureEditBones.rst @@ -0,0 +1,100 @@ +ArmatureEditBones(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ArmatureEditBones(bpy_prop_collection) + + Collection of armature edit bones + + .. attribute:: active + + Armatures active edit bone + + :type: :class:`EditBone` | None + + .. method:: new(name) + + Add a new bone + + :param name: New name for the bone (never None) + :type name: str + :return: Newly created edit bone + :rtype: :class:`EditBone` + + .. method:: remove(bone) + + Remove an existing bone from the armature + + :param bone: EditBone to remove (never None) + :type bone: :class:`EditBone` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Armature.edit_bones` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureModifier.rst new file mode 100644 index 0000000..ead9a7d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArmatureModifier.rst @@ -0,0 +1,127 @@ +ArmatureModifier(Modifier) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: ArmatureModifier(Modifier) + + Armature deformation modifier + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: object + + Armature object to deform with + + :type: :class:`Object` | None + + .. attribute:: use_bone_envelopes + + Bind Bone envelopes to armature modifier (default False) + + :type: bool + + .. attribute:: use_deform_preserve_volume + + Deform rotation interpolation with quaternions (default False) + + :type: bool + + .. attribute:: use_multi_modifier + + Use same input as previous modifier, and mix results using overall vgroup (default False) + + :type: bool + + .. attribute:: use_vertex_groups + + Bind vertex groups to armature modifier (default True) + + :type: bool + + .. attribute:: vertex_group + + Name of Vertex Group which determines influence of modifier per point (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArrayModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArrayModifier.rst new file mode 100644 index 0000000..cc59a7a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ArrayModifier.rst @@ -0,0 +1,194 @@ +ArrayModifier(Modifier) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: ArrayModifier(Modifier) + + Array duplication modifier + + .. attribute:: constant_offset_displace + + Value for the distance between arrayed items (array of 3 items, in [-inf, inf], default (1.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: count + + Number of duplicates to make (in [1, inf], default 2) + + :type: int + + .. attribute:: curve + + Curve object to fit array length to + + :type: :class:`Object` | None + + .. attribute:: end_cap + + Mesh object to use as an end cap + + :type: :class:`Object` | None + + .. attribute:: fit_length + + Length to fit array within (in [0, inf], default 0.0) + + :type: float + + .. attribute:: fit_type + + Array length calculation method (default ``'FIXED_COUNT'``) + + - ``FIXED_COUNT`` + Fixed Count -- Duplicate the object a certain number of times. + - ``FIT_LENGTH`` + Fit Length -- Duplicate the object as many times as fits in a certain length. + - ``FIT_CURVE`` + Fit Curve -- Fit the duplicated objects to a curve. + + :type: Literal['FIXED_COUNT', 'FIT_LENGTH', 'FIT_CURVE'] + + .. attribute:: merge_threshold + + Limit below which to merge vertices (in [0, inf], default 0.01) + + :type: float + + .. attribute:: offset_object + + Use the location and rotation of another object to determine the distance and rotational change between arrayed items + + :type: :class:`Object` | None + + .. attribute:: offset_u + + Amount to offset array UVs on the U axis (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: offset_v + + Amount to offset array UVs on the V axis (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: relative_offset_displace + + The size of the geometry will determine the distance between arrayed items (array of 3 items, in [-inf, inf], default (1.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: start_cap + + Mesh object to use as a start cap + + :type: :class:`Object` | None + + .. attribute:: use_constant_offset + + Add a constant offset (default False) + + :type: bool + + .. attribute:: use_merge_vertices + + Merge vertices in adjacent duplicates (default False) + + :type: bool + + .. attribute:: use_merge_vertices_cap + + Merge vertices in first and last duplicates (default False) + + :type: bool + + .. attribute:: use_object_offset + + Add another object's transformation to the total offset (default False) + + :type: bool + + .. attribute:: use_relative_offset + + Add an offset relative to the object's bounding box (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetLibraryCollection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetLibraryCollection.rst new file mode 100644 index 0000000..e87b995 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetLibraryCollection.rst @@ -0,0 +1,96 @@ +AssetLibraryCollection(bpy_prop_collection) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AssetLibraryCollection(bpy_prop_collection) + + Collection of user asset libraries + + .. classmethod:: new(*, name="", directory="") + + Add a new Asset Library + + :param name: Name, (optional, never None) + :type name: str + :param directory: Directory, (optional, never None) + :type directory: str + :return: Newly added asset library + :rtype: :class:`UserAssetLibrary` + + .. classmethod:: remove(library) + + Remove an Asset Library + + :param library: (never None) + :type library: :class:`UserAssetLibrary` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PreferencesFilePaths.asset_libraries` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetLibraryReference.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetLibraryReference.rst new file mode 100644 index 0000000..116cc49 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetLibraryReference.rst @@ -0,0 +1,70 @@ +AssetLibraryReference(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AssetLibraryReference(bpy_struct) + + Identifier to refer to the asset library + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetMetaData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetMetaData.rst new file mode 100644 index 0000000..79f6bf3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetMetaData.rst @@ -0,0 +1,128 @@ +AssetMetaData(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AssetMetaData(bpy_struct) + + Additional data stored for an asset data-block + + .. attribute:: active_tag + + Index of the tag set for editing (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: author + + Name of the creator of the asset (default "", never None) + + :type: str + + .. attribute:: catalog_id + + Identifier for the asset's catalog, used by Blender to look up the asset's catalog path. Must be a UUID according to RFC4122. (default "", never None) + + :type: str + + .. data:: catalog_simple_name + + Simple name of the asset's catalog, for debugging and data recovery purposes (default "", readonly, never None) + + :type: str + + .. attribute:: copyright + + Copyright notice for this asset. An empty copyright notice does not necessarily indicate that this is copyright-free. Contact the author if any clarification is needed. (default "", never None) + + :type: str + + .. attribute:: description + + A description of the asset to be displayed for the user (default "", never None) + + :type: str + + .. attribute:: license + + The type of license this asset is distributed under. An empty license name does not necessarily indicate that this is free of licensing terms. Contact the author if any clarification is needed. (default "", never None) + + :type: str + + .. data:: tags + + Custom tags (name tokens) for the asset, used for filtering and general asset management (default None, readonly) + + :type: :class:`AssetTags`\ [:class:`AssetTag`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AssetRepresentation.metadata` + - :class:`FileSelectEntry.asset_data` + - :class:`ID.asset_data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetRepresentation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetRepresentation.rst new file mode 100644 index 0000000..dbee7c0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetRepresentation.rst @@ -0,0 +1,118 @@ +AssetRepresentation(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AssetRepresentation(bpy_struct) + + Information about an entity that makes it possible for the asset system to deal with the entity as asset + + .. data:: full_library_path + + Absolute path to the .blend file containing this asset (default "", readonly, never None) + + :type: str + + .. data:: full_path + + Absolute path to the .blend file containing this asset extended with the path of the asset inside the file (default "", readonly, never None) + + :type: str + + .. data:: id_type + + The type of the data-block, if the asset represents one ('NONE' otherwise) (default ``'ACTION'``, readonly) + + :type: Literal[:ref:`rna_enum_id_type_items`] + + .. data:: local_id + + The local data-block this asset represents; only valid if that is a data-block in this file (readonly) + + :type: :class:`ID` | None + + .. data:: metadata + + Additional information about the asset (readonly) + + :type: :class:`AssetMetaData` | None + + .. data:: name + + (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.asset` + - :mod:`bpy.context.selected_assets` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.draw_context_menu` + - :class:`Context.asset` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetShelf.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetShelf.rst new file mode 100644 index 0000000..9520c63 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetShelf.rst @@ -0,0 +1,390 @@ +AssetShelf(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`IMAGE_AST_brush_paint`, :class:`NODE_AST_compositor`, :class:`VIEW3D_AST_brush_gpencil_paint`, :class:`VIEW3D_AST_brush_gpencil_sculpt`, :class:`VIEW3D_AST_brush_gpencil_vertex`, :class:`VIEW3D_AST_brush_gpencil_weight`, :class:`VIEW3D_AST_brush_sculpt`, :class:`VIEW3D_AST_brush_sculpt_curves`, :class:`VIEW3D_AST_brush_texture_paint`, :class:`VIEW3D_AST_brush_vertex_paint`, :class:`VIEW3D_AST_brush_weight_paint`, :class:`VIEW3D_AST_pose_library` + +.. class:: AssetShelf(bpy_struct) + + Regions for quick access to assets + + .. attribute:: asset_library_reference + + Choose the asset library to display assets from (default ``'ALL'``) + + - ``ALL`` + All Libraries -- Show assets from all of the listed asset libraries. + - ``LOCAL`` + Current File -- Show the assets currently available in this Blender session. + - ``ESSENTIALS`` + Essentials -- Show the basic building blocks and utilities coming with Blender. + - ``CUSTOM`` + Custom -- Show assets from the asset libraries configured in the Preferences. + + :type: Literal['ALL', 'LOCAL', 'ESSENTIALS', 'CUSTOM'] + + .. attribute:: bl_activate_operator + + Operator to call when activating an item with asset reference properties (default "", never None) + + :type: str + + .. attribute:: bl_default_preview_size + + Default size of the asset preview thumbnails in pixels (in [32, 256], default 0) + + :type: int + + .. attribute:: bl_drag_operator + + Operator to call when dragging an item with asset reference properties (default "", never None) + + :type: str + + .. attribute:: bl_idname + + If this is set, the asset gets a custom ID, otherwise it takes the name of the class used to define the asset (for example, if the class name is "OBJECT_AST_hello", and bl_idname is not set by the script, then bl_idname = "OBJECT_AST_hello") (default "", never None) + + :type: str + + .. attribute:: bl_options + + Options for this asset shelf type (default set()) + + - ``NO_ASSET_DRAG`` + No Asset Dragging -- Disable the default asset dragging on drag events. Useful for implementing custom dragging via custom key-map items.. + - ``DEFAULT_VISIBLE`` + Visible by Default -- Unhide the asset shelf when it's available for the first time, otherwise it will be hidden. + - ``STORE_ENABLED_CATALOGS_IN_PREFERENCES`` + Store Enabled Catalogs in Preferences -- Store the shelf's enabled catalogs in the preferences rather than the local asset shelf settings. + - ``ACTIVATE_FOR_CONTEXT_MENU`` + When spawning a context menu for an asset, activate the asset and call \`bl_activate_operator\` if present, rather than just highlighting the asset. + + :type: set[Literal['NO_ASSET_DRAG', 'DEFAULT_VISIBLE', 'STORE_ENABLED_CATALOGS_IN_PREFERENCES', 'ACTIVATE_FOR_CONTEXT_MENU']] + + .. attribute:: bl_space_type + + The space where the asset shelf will show up in. Ignored for popup asset shelves which can be displayed in any space. (default ``'EMPTY'``) + + :type: Literal[:ref:`rna_enum_space_type_items`] + + .. attribute:: filter_action + + Show Action data-blocks (default False) + + :type: bool + + .. attribute:: filter_annotations + + Show Annotation data-blocks (default False) + + :type: bool + + .. attribute:: filter_armature + + Show Armature data-blocks (default False) + + :type: bool + + .. attribute:: filter_brush + + Show Brushes data-blocks (default False) + + :type: bool + + .. attribute:: filter_cachefile + + Show Cache File data-blocks (default False) + + :type: bool + + .. attribute:: filter_camera + + Show Camera data-blocks (default False) + + :type: bool + + .. attribute:: filter_curve + + Show Curve data-blocks (default False) + + :type: bool + + .. attribute:: filter_curves + + Show/hide Curves data-blocks (default False) + + :type: bool + + .. attribute:: filter_font + + Show Font data-blocks (default False) + + :type: bool + + .. attribute:: filter_grease_pencil + + Show Grease Pencil data-blocks (default False) + + :type: bool + + .. attribute:: filter_group + + Show Collection data-blocks (default False) + + :type: bool + + .. attribute:: filter_image + + Show Image data-blocks (default False) + + :type: bool + + .. attribute:: filter_lattice + + Show Lattice data-blocks (default False) + + :type: bool + + .. attribute:: filter_light + + Show Light data-blocks (default False) + + :type: bool + + .. attribute:: filter_light_probe + + Show Light Probe data-blocks (default False) + + :type: bool + + .. attribute:: filter_linestyle + + Show Freestyle's Line Style data-blocks (default False) + + :type: bool + + .. attribute:: filter_mask + + Show Mask data-blocks (default False) + + :type: bool + + .. attribute:: filter_material + + Show Material data-blocks (default False) + + :type: bool + + .. attribute:: filter_mesh + + Show Mesh data-blocks (default False) + + :type: bool + + .. attribute:: filter_metaball + + Show Metaball data-blocks (default False) + + :type: bool + + .. attribute:: filter_movie_clip + + Show Movie Clip data-blocks (default False) + + :type: bool + + .. attribute:: filter_node_tree + + Show Node Tree data-blocks (default False) + + :type: bool + + .. attribute:: filter_object + + Show Object data-blocks (default False) + + :type: bool + + .. attribute:: filter_paint_curve + + Show Paint Curve data-blocks (default False) + + :type: bool + + .. attribute:: filter_palette + + Show Palette data-blocks (default False) + + :type: bool + + .. attribute:: filter_particle_settings + + Show Particle Settings data-blocks (default False) + + :type: bool + + .. attribute:: filter_pointcloud + + Show/hide Point Cloud data-blocks (default False) + + :type: bool + + .. attribute:: filter_scene + + Show Scene data-blocks (default False) + + :type: bool + + .. attribute:: filter_sound + + Show Sound data-blocks (default False) + + :type: bool + + .. attribute:: filter_speaker + + Show Speaker data-blocks (default False) + + :type: bool + + .. attribute:: filter_text + + Show Text data-blocks (default False) + + :type: bool + + .. attribute:: filter_texture + + Show Texture data-blocks (default False) + + :type: bool + + .. attribute:: filter_volume + + Show/hide Volume data-blocks (default False) + + :type: bool + + .. attribute:: filter_work_space + + Show workspace data-blocks (default False) + + :type: bool + + .. attribute:: filter_world + + Show World data-blocks (default False) + + :type: bool + + .. attribute:: preview_size + + Size of the asset preview thumbnails in pixels (in [24, 256], default 0) + + :type: int + + .. attribute:: search_filter + + Filter assets by name (default "", never None) + + :type: str + + .. attribute:: show_names + + Show the asset name together with the preview. Otherwise only the preview will be visible. (default False) + + :type: bool + + .. classmethod:: poll(context) + + If this method returns a non-null output, the asset shelf will be visible + + :type context: :class:`Context` | None + :rtype: bool + + .. classmethod:: asset_poll(asset) + + Determine if an asset should be visible in the asset shelf. If this method returns a non-null output, the asset will be visible. + + :type asset: :class:`AssetRepresentation` | None + :rtype: bool + + .. classmethod:: get_active_asset() + + Return a reference to the asset that should be highlighted as active in the asset shelf + + :return: The weak reference to the asset to be highlighted as active, or None + :rtype: :class:`AssetWeakReference` + + .. classmethod:: draw_context_menu(context, asset, layout) + + Draw UI elements into the context menu UI layout displayed on right click + + :type context: :class:`Context` | None + :type asset: :class:`AssetRepresentation` | None + :type layout: :class:`UILayout` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetTag.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetTag.rst new file mode 100644 index 0000000..a21da72 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetTag.rst @@ -0,0 +1,86 @@ +AssetTag(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AssetTag(bpy_struct) + + User defined tag (name token) + + .. attribute:: name + + The identifier that makes up this tag (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AssetMetaData.tags` + - :class:`AssetTags.new` + - :class:`AssetTags.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetTags.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetTags.rst new file mode 100644 index 0000000..f84c709 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetTags.rst @@ -0,0 +1,96 @@ +AssetTags(bpy_prop_collection) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AssetTags(bpy_prop_collection) + + Collection of custom asset tags + + .. method:: new(name, *, skip_if_exists=False) + + Add a new tag to this asset + + :param name: Name, (never None) + :type name: str + :param skip_if_exists: Skip if Exists, Do not add a new tag if one of the same type already exists (optional) + :type skip_if_exists: bool + :return: New tag + :rtype: :class:`AssetTag` + + .. method:: remove(tag) + + Remove an existing tag from this asset + + :param tag: Removed tag (never None) + :type tag: :class:`AssetTag` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AssetMetaData.tags` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetWeakReference.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetWeakReference.rst new file mode 100644 index 0000000..43eab66 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AssetWeakReference.rst @@ -0,0 +1,107 @@ +AssetWeakReference(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: AssetWeakReference(bpy_struct) + + Weak reference to some asset + + .. data:: asset_library_identifier + + (default "", readonly, never None) + + :type: str + + .. data:: asset_library_type + + (default ``'ALL'``, readonly) + + - ``ALL`` + All Libraries -- Show assets from all of the listed asset libraries. + - ``LOCAL`` + Current File -- Show the assets currently available in this Blender session. + - ``ESSENTIALS`` + Essentials -- Show the basic building blocks and utilities coming with Blender. + - ``CUSTOM`` + Custom -- Show assets from the asset libraries configured in the Preferences. + + :type: Literal['ALL', 'LOCAL', 'ESSENTIALS', 'CUSTOM'] + + .. data:: relative_asset_identifier + + (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AssetShelf.get_active_asset` + - :class:`Paint.brush_asset_reference` + - :class:`Paint.eraser_brush_asset_reference` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Attribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Attribute.rst new file mode 100644 index 0000000..58e867a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Attribute.rst @@ -0,0 +1,255 @@ +Attribute(bpy_struct) +===================== + +.. currentmodule:: bpy.types + + +Attributes are used to store data that corresponds to geometry elements. +Geometry elements are items in one of the geometry domains like points, curves, or faces. + +An attribute has a ``name``, a ``type``, and is stored on a ``domain``. + +``name`` + The name of this attribute. Names have to be unique within the same geometry. + If the name starts with a ``.``, the attribute is hidden from the UI. +``type`` + The type of data that this attribute stores, e.g. a float, integer, color, etc. + See `Attribute Type Items `__. +``domain`` + The geometry domain that the attribute is stored on. + See `Attribute Domain Items `__. + + +Using Attributes +++++++++++++++++ + +Attributes can be stored on geometries like :class:`Mesh`, :class:`Curves`, :class:`PointCloud`, etc. +These geometries have attribute groups (usually called ``attributes``). +Using the groups, attributes can then be accessed by their name: + +.. code-block:: python + + radii = curves.attributes["radius"] + +Creating and storing custom attributes is done using the ``attributes.new`` function: + +.. code-block:: python + + # Add a new attribute named `my_attribute_name` of type `float` on the point domain of the geometry. + my_attribute = curves.attributes.new("my_attribute_name", 'FLOAT', 'POINT') + +Removing attributes can be done like so: + +.. code-block:: python + + attribute = drawing.attributes["some_attribute"] + drawing.attributes.remove(attribute) + +.. note:: + + Some attributes are required and cannot be removed, like ``"position"``. + +Attribute values are read by accessing their ``attribute.data`` collection property. +However, in cases where multiple values should be read at once, +it is better to use the :class:`bpy_prop_collection.foreach_get` function and read the values into a ``numpy`` buffer. + +.. code-block:: python + + import numpy as np + + # Get the radius attribute. + radii = curves.attributes["radius"] + # Print the radius of the first point. + print(radii.data[0].value) + # Output: 0.005 + + # Get the total number of points. + num_points = attributes.domain_size('POINT') + # Create an empty buffer to read all the radii into. + radii_data = np.zeros(num_points, dtype=np.float32) + # Read all the radii of the curves into `radii_data` at once. + radii.data.foreach_get('value', radii_data) + # Print all the radii. + print(radii_data) + # Output: [0.1, 0.2, 0.3, 0.4, ... ] + +.. note:: + + Some attribute types use different named properties to access their value. + Instead of ``value``, vectors use ``vector``, and colors use ``color``. + +Writing to different attribute types is very similar. You can simply assign to a value directly. +Again, when writing to multiple values, it is recommended to use the :class:`bpy_prop_collection.foreach_set` function +to write the values from a ``numpy`` buffer. + +.. code-block:: python + + import numpy as np + + radii = curves.attributes["radius"] + # Write a radius with a value of 0.5 to the first point. + radii.data[0].value = 0.5 + print(radii.data[0].value) + # Output: 0.5 + + num_points = attributes.domain_size('POINT') + # Generate random radii with values between 0.001 and 0.05 using numpy. + new_radii = np.random.uniform(0.001, 0.05, num_points) + # Write the new radii to the radius attribute. + radii.data.foreach_set('value', new_radii) + + +The :class:`bpy_prop_collection.foreach_get` / :class:`bpy_prop_collection.foreach_set` methods require a flat array. +This is sometimes not desirable, e.g. when reading/writing positions, which are 3D vectors. +In these cases, it's possible to use ``np.ravel`` to pass the data as a flat array: + +.. code-block:: python + + num_points = attributes.domain_size('POINT') + positions = curves.attributes['position'] + # Here, we're using a numpy array with shape (num_points, 3) so that each + # element is a 3d vector. + positions_data = np.zeros((num_points, 3), dtype=np.float32) + # The `np.ravel` function will pass the `positions_data` as a flat array + # without changing the original shape. + positions.data.foreach_get('vector', np.ravel(positions_data)) + print(positions_data) + # Output: [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6], ...] + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`BoolAttribute`, :class:`ByteColorAttribute`, :class:`ByteIntAttribute`, :class:`Float2Attribute`, :class:`Float4x4Attribute`, :class:`FloatAttribute`, :class:`FloatColorAttribute`, :class:`FloatVectorAttribute`, :class:`Int2Attribute`, :class:`IntAttribute`, :class:`QuaternionAttribute`, :class:`Short2Attribute`, :class:`StringAttribute` + +.. class:: Attribute(bpy_struct) + + Geometry attribute + + .. data:: data_type + + Type of data stored in attribute (default ``'FLOAT'``, readonly) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. data:: domain + + Domain of the Attribute (default ``'POINT'``, readonly) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. data:: is_internal + + The attribute is meant for internal use by Blender (default False, readonly) + + :type: bool + + .. data:: is_required + + Whether the attribute can be removed or renamed (default False, readonly) + + :type: bool + + .. attribute:: name + + Name of the Attribute (default "", never None) + + :type: str + + .. data:: storage_type + + Method used to store the data (default ``'ARRAY'``, readonly) + + :type: Literal[:ref:`rna_enum_attr_storage_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AttributeGroupCurves.active` + - :class:`AttributeGroupCurves.new` + - :class:`AttributeGroupCurves.remove` + - :class:`AttributeGroupGreasePencil.active` + - :class:`AttributeGroupGreasePencil.new` + - :class:`AttributeGroupGreasePencil.remove` + - :class:`AttributeGroupGreasePencilDrawing.active` + - :class:`AttributeGroupGreasePencilDrawing.new` + - :class:`AttributeGroupGreasePencilDrawing.remove` + - :class:`AttributeGroupMesh.active` + - :class:`AttributeGroupMesh.active_color` + - :class:`AttributeGroupMesh.new` + - :class:`AttributeGroupMesh.remove` + - :class:`AttributeGroupPointCloud.active` + - :class:`AttributeGroupPointCloud.new` + - :class:`AttributeGroupPointCloud.remove` + - :class:`Curves.attributes` + - :class:`Curves.color_attributes` + - :class:`GreasePencil.attributes` + - :class:`GreasePencil.color_attributes` + - :class:`GreasePencilDrawing.attributes` + - :class:`GreasePencilDrawing.color_attributes` + - :class:`Mesh.attributes` + - :class:`Mesh.color_attributes` + - :class:`PointCloud.attributes` + - :class:`PointCloud.color_attributes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupCurves.rst new file mode 100644 index 0000000..d9c0922 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupCurves.rst @@ -0,0 +1,120 @@ +AttributeGroupCurves(bpy_prop_collection) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AttributeGroupCurves(bpy_prop_collection) + + Group of geometry attributes + + .. attribute:: active + + Active attribute + + :type: :class:`Attribute` | None + + .. attribute:: active_index + + Active attribute index or -1 when none are active (in [-1, inf], default 0) + + :type: int + + .. method:: new(name, type, domain) + + Add attribute to geometry + + :param name: Name, Name of geometry attribute (never None) + :type name: str + :param type: Type, Attribute type + :type type: Literal[:ref:`rna_enum_attribute_type_items`] + :param domain: Domain, Type of element that attribute is stored on + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :return: New geometry attribute + :rtype: :class:`Attribute` + + .. method:: remove(attribute) + + Remove attribute from geometry + + :param attribute: Geometry Attribute (never None) + :type attribute: :class:`Attribute` | None + + .. method:: domain_size(domain) + + Get the size of a given domain + + :param domain: Domain, Type of element that attribute is stored on + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :return: Size, Size of the domain (in [0, inf]) + :rtype: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Curves.attributes` + - :class:`Curves.color_attributes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupGreasePencil.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupGreasePencil.rst new file mode 100644 index 0000000..5d420ae --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupGreasePencil.rst @@ -0,0 +1,120 @@ +AttributeGroupGreasePencil(bpy_prop_collection) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AttributeGroupGreasePencil(bpy_prop_collection) + + Group of geometry attributes + + .. attribute:: active + + Active attribute + + :type: :class:`Attribute` | None + + .. attribute:: active_index + + Active attribute index or -1 when none are active (in [-1, inf], default 0) + + :type: int + + .. method:: new(name, type, domain) + + Add attribute to geometry + + :param name: Name, Name of geometry attribute (never None) + :type name: str + :param type: Type, Attribute type + :type type: Literal[:ref:`rna_enum_attribute_type_items`] + :param domain: Domain, Type of element that attribute is stored on + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :return: New geometry attribute + :rtype: :class:`Attribute` + + .. method:: remove(attribute) + + Remove attribute from geometry + + :param attribute: Geometry Attribute (never None) + :type attribute: :class:`Attribute` | None + + .. method:: domain_size(domain) + + Get the size of a given domain + + :param domain: Domain, Type of element that attribute is stored on + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :return: Size, Size of the domain (in [0, inf]) + :rtype: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencil.attributes` + - :class:`GreasePencil.color_attributes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupGreasePencilDrawing.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupGreasePencilDrawing.rst new file mode 100644 index 0000000..87533fd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupGreasePencilDrawing.rst @@ -0,0 +1,120 @@ +AttributeGroupGreasePencilDrawing(bpy_prop_collection) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AttributeGroupGreasePencilDrawing(bpy_prop_collection) + + Group of geometry attributes + + .. attribute:: active + + Active attribute + + :type: :class:`Attribute` | None + + .. attribute:: active_index + + Active attribute index or -1 when none are active (in [-1, inf], default 0) + + :type: int + + .. method:: new(name, type, domain) + + Add attribute to geometry + + :param name: Name, Name of geometry attribute (never None) + :type name: str + :param type: Type, Attribute type + :type type: Literal[:ref:`rna_enum_attribute_type_items`] + :param domain: Domain, Type of element that attribute is stored on + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :return: New geometry attribute + :rtype: :class:`Attribute` + + .. method:: remove(attribute) + + Remove attribute from geometry + + :param attribute: Geometry Attribute (never None) + :type attribute: :class:`Attribute` | None + + .. method:: domain_size(domain) + + Get the size of a given domain + + :param domain: Domain, Type of element that attribute is stored on + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :return: Size, Size of the domain (in [0, inf]) + :rtype: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencilDrawing.attributes` + - :class:`GreasePencilDrawing.color_attributes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupMesh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupMesh.rst new file mode 100644 index 0000000..478be37 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupMesh.rst @@ -0,0 +1,150 @@ +AttributeGroupMesh(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AttributeGroupMesh(bpy_prop_collection) + + Group of geometry attributes + + .. attribute:: active + + Active attribute + + :type: :class:`Attribute` | None + + .. attribute:: active_color + + Active color attribute for display and editing + + :type: :class:`Attribute` | None + + .. attribute:: active_color_index + + Active color attribute index (in [-inf, inf], default 0) + + :type: int + + .. attribute:: active_color_name + + The name of the active color attribute for display and editing (default "", never None) + + :type: str + + .. attribute:: active_index + + Active attribute index or -1 when none are active (in [-1, inf], default 0) + + :type: int + + .. attribute:: default_color_name + + The name of the default color attribute used as a fallback for rendering (default "", never None) + + :type: str + + .. attribute:: render_color_index + + The index of the color attribute used as a fallback for rendering (in [-inf, inf], default 0) + + :type: int + + .. method:: new(name, type, domain) + + Add attribute to geometry + + :param name: Name, Name of geometry attribute (never None) + :type name: str + :param type: Type, Attribute type + :type type: Literal[:ref:`rna_enum_attribute_type_items`] + :param domain: Domain, Type of element that attribute is stored on + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :return: New geometry attribute + :rtype: :class:`Attribute` + + .. method:: remove(attribute) + + Remove attribute from geometry + + :param attribute: Geometry Attribute (never None) + :type attribute: :class:`Attribute` | None + + .. method:: domain_size(domain) + + Get the size of a given domain + + :param domain: Domain, Type of element that attribute is stored on + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :return: Size, Size of the domain (in [0, inf]) + :rtype: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.attributes` + - :class:`Mesh.color_attributes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupPointCloud.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupPointCloud.rst new file mode 100644 index 0000000..3c5a7be --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.AttributeGroupPointCloud.rst @@ -0,0 +1,120 @@ +AttributeGroupPointCloud(bpy_prop_collection) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: AttributeGroupPointCloud(bpy_prop_collection) + + Group of geometry attributes + + .. attribute:: active + + Active attribute + + :type: :class:`Attribute` | None + + .. attribute:: active_index + + Active attribute index or -1 when none are active (in [-1, inf], default 0) + + :type: int + + .. method:: new(name, type, domain) + + Add attribute to geometry + + :param name: Name, Name of geometry attribute (never None) + :type name: str + :param type: Type, Attribute type + :type type: Literal[:ref:`rna_enum_attribute_type_items`] + :param domain: Domain, Type of element that attribute is stored on + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :return: New geometry attribute + :rtype: :class:`Attribute` + + .. method:: remove(attribute) + + Remove attribute from geometry + + :param attribute: Geometry Attribute (never None) + :type attribute: :class:`Attribute` | None + + .. method:: domain_size(domain) + + Get the size of a given domain + + :param domain: Domain, Type of element that attribute is stored on + :type domain: Literal[:ref:`rna_enum_attribute_domain_items`] + :return: Size, Size of the domain (in [0, inf]) + :rtype: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PointCloud.attributes` + - :class:`PointCloud.color_attributes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BakeSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BakeSettings.rst new file mode 100644 index 0000000..bf13b1b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BakeSettings.rst @@ -0,0 +1,293 @@ +BakeSettings(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BakeSettings(bpy_struct) + + Bake data for a Scene data-block + + .. attribute:: cage_extrusion + + Inflate the active object by the specified distance for baking. This helps matching to points nearer to the outside of the selected object meshes. (in [0, inf], default 0.0) + + :type: float + + .. attribute:: cage_object + + Object to use as cage instead of calculating the cage from the active object with cage extrusion + + :type: :class:`Object` | None + + .. attribute:: displacement_space + + Choose displacement space for baking (default ``'OBJECT'``) + + - ``OBJECT`` + Object -- Bake the displacement in object space. + - ``TANGENT`` + Tangent -- Bake the displacement in tangent space. + + :type: Literal['OBJECT', 'TANGENT'] + + .. attribute:: filepath + + Image filepath to use when saving externally (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: height + + Vertical dimension of the baking map (in [4, 10000], default 512) + + :type: int + + .. data:: image_settings + + (readonly, never None) + + :type: :class:`ImageFormatSettings` + + .. attribute:: margin + + Extends the baked result as a post process filter (in [0, 32767], default 16) + + :type: int + + .. attribute:: margin_type + + Algorithm to extend the baked result (default ``'ADJACENT_FACES'``) + + :type: Literal[:ref:`rna_enum_bake_margin_type_items`] + + .. attribute:: max_ray_distance + + The maximum ray distance for matching points between the active and selected objects. If zero, there is no limit. (in [0, inf], default 0.0) + + :type: float + + .. attribute:: normal_b + + Axis to bake in blue channel (default ``'POS_X'``) + + :type: Literal[:ref:`rna_enum_normal_swizzle_items`] + + .. attribute:: normal_g + + Axis to bake in green channel (default ``'POS_X'``) + + :type: Literal[:ref:`rna_enum_normal_swizzle_items`] + + .. attribute:: normal_r + + Axis to bake in red channel (default ``'POS_X'``) + + :type: Literal[:ref:`rna_enum_normal_swizzle_items`] + + .. attribute:: normal_space + + Choose normal space for baking (default ``'TANGENT'``) + + :type: Literal[:ref:`rna_enum_normal_space_items`] + + .. data:: pass_filter + + Passes to include in the active baking pass (default {``'COLOR'``, ``'DIFFUSE'``, ``'DIRECT'``, ``'EMIT'``, ``'GLOSSY'``, ``'INDIRECT'``, ``'TRANSMISSION'``}, readonly) + + :type: set[Literal[:ref:`rna_enum_bake_pass_filter_type_items`]] + + .. attribute:: save_mode + + Where to save baked image textures (default ``'INTERNAL'``) + + :type: Literal[:ref:`rna_enum_bake_save_mode_items`] + + .. attribute:: target + + Where to output the baked map (default ``'IMAGE_TEXTURES'``) + + :type: Literal[:ref:`rna_enum_bake_target_items`] + + .. attribute:: type + + Choose shading information to bake into the image (default ``'NORMALS'``) + + - ``NORMALS`` + Normals -- Bake normals. + - ``DISPLACEMENT`` + Displacement -- Bake displacement. + - ``VECTOR_DISPLACEMENT`` + Vector Displacement -- Bake vector displacement. + + :type: Literal['NORMALS', 'DISPLACEMENT', 'VECTOR_DISPLACEMENT'] + + .. attribute:: use_automatic_name + + Automatically name the output file with the pass type (external only) (default False) + + :type: bool + + .. attribute:: use_cage + + Cast rays to active object from a cage (default False) + + :type: bool + + .. attribute:: use_clear + + Clear Images before baking (internal only) (default True) + + :type: bool + + .. attribute:: use_lores_mesh + + Calculate heights against unsubdivided low resolution mesh (default False) + + :type: bool + + .. attribute:: use_multires + + Bake directly from multires object (default False) + + :type: bool + + .. attribute:: use_pass_color + + Color the pass (default True) + + :type: bool + + .. attribute:: use_pass_diffuse + + Add diffuse contribution (default True) + + :type: bool + + .. attribute:: use_pass_direct + + Add direct lighting contribution (default True) + + :type: bool + + .. attribute:: use_pass_emit + + Add emission contribution (default True) + + :type: bool + + .. attribute:: use_pass_glossy + + Add glossy contribution (default True) + + :type: bool + + .. attribute:: use_pass_indirect + + Add indirect lighting contribution (default True) + + :type: bool + + .. attribute:: use_pass_transmission + + Add transmission contribution (default True) + + :type: bool + + .. attribute:: use_selected_to_active + + Bake shading on the surface of selected objects to the active object (default False) + + :type: bool + + .. attribute:: use_split_materials + + Split external images per material (external only) (default False) + + :type: bool + + .. attribute:: view_from + + Source of reflection ray directions (default ``'ABOVE_SURFACE'``) + + - ``ABOVE_SURFACE`` + Above Surface -- Cast rays from above the surface. + - ``ACTIVE_CAMERA`` + Active Camera -- Use the active camera's position to cast rays. + + :type: Literal['ABOVE_SURFACE', 'ACTIVE_CAMERA'] + + .. attribute:: width + + Horizontal dimension of the baking map (in [4, 10000], default 512) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`RenderSettings.bake` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BevelModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BevelModifier.rst new file mode 100644 index 0000000..bec42e1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BevelModifier.rst @@ -0,0 +1,291 @@ +BevelModifier(Modifier) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: BevelModifier(Modifier) + + Bevel modifier to make edges and vertices more rounded + + .. attribute:: affect + + Affect edges or vertices (default ``'EDGES'``) + + - ``VERTICES`` + Vertices -- Affect only vertices. + - ``EDGES`` + Edges -- Affect only edges. + + :type: Literal['VERTICES', 'EDGES'] + + .. attribute:: angle_limit + + Angle above which to bevel edges (in [0, 3.14159], default 0.523599) + + :type: float + + .. data:: custom_profile + + The path for the custom profile (readonly) + + :type: :class:`CurveProfile` | None + + .. attribute:: edge_weight + + Attribute name for edge weight (default "", never None) + + :type: str + + .. attribute:: face_strength_mode + + Whether to set face strength, and which faces to set it on (default ``'FSTR_NONE'``) + + - ``FSTR_NONE`` + None -- Do not set face strength. + - ``FSTR_NEW`` + New -- Set face strength on new faces only. + - ``FSTR_AFFECTED`` + Affected -- Set face strength on new and affected faces only. + - ``FSTR_ALL`` + All -- Set face strength on all faces. + + :type: Literal['FSTR_NONE', 'FSTR_NEW', 'FSTR_AFFECTED', 'FSTR_ALL'] + + .. attribute:: harden_normals + + Match normals of new faces to adjacent faces (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: limit_method + + (default ``'ANGLE'``) + + - ``NONE`` + None -- Bevel the entire mesh by a constant amount. + - ``ANGLE`` + Angle -- Only bevel edges with sharp enough angles between faces. + - ``WEIGHT`` + Weight -- Use bevel weights to determine how much bevel is applied in edge mode. + - ``VGROUP`` + Vertex Group -- Use vertex group weights to select whether vertex or edge is beveled. + + :type: Literal['NONE', 'ANGLE', 'WEIGHT', 'VGROUP'] + + .. attribute:: loop_slide + + Prefer sliding along edges to having even widths (default True) + + :type: bool + + .. attribute:: mark_seam + + Mark Seams along beveled edges (default False) + + :type: bool + + .. attribute:: mark_sharp + + Mark beveled edges as sharp (default False) + + :type: bool + + .. attribute:: material + + Material index of generated faces, -1 for automatic (in [-1, 32767], default -1) + + :type: int + + .. attribute:: miter_inner + + Pattern to use for inside of miters (default ``'MITER_SHARP'``) + + - ``MITER_SHARP`` + Sharp -- Inside of miter is sharp. + - ``MITER_ARC`` + Arc -- Inside of miter is arc. + + :type: Literal['MITER_SHARP', 'MITER_ARC'] + + .. attribute:: miter_outer + + Pattern to use for outside of miters (default ``'MITER_SHARP'``) + + - ``MITER_SHARP`` + Sharp -- Outside of miter is sharp. + - ``MITER_PATCH`` + Patch -- Outside of miter is squared-off patch. + - ``MITER_ARC`` + Arc -- Outside of miter is arc. + + :type: Literal['MITER_SHARP', 'MITER_PATCH', 'MITER_ARC'] + + .. attribute:: offset_type + + What distance Width measures (default ``'OFFSET'``) + + - ``OFFSET`` + Offset -- Amount is offset of new edges from original. + - ``WIDTH`` + Width -- Amount is width of new face. + - ``DEPTH`` + Depth -- Amount is perpendicular distance from original edge to bevel face. + - ``PERCENT`` + Percent -- Amount is percent of adjacent edge length. + - ``ABSOLUTE`` + Absolute -- Amount is absolute distance along adjacent edge. + + :type: Literal['OFFSET', 'WIDTH', 'DEPTH', 'PERCENT', 'ABSOLUTE'] + + .. attribute:: profile + + The profile shape (0.5 = round) (in [0, 1], default 0.5) + + :type: float + + .. attribute:: profile_type + + The type of shape used to rebuild a beveled section (default ``'SUPERELLIPSE'``) + + - ``SUPERELLIPSE`` + Superellipse -- The profile can be a concave or convex curve. + - ``CUSTOM`` + Custom -- The profile can be any arbitrary path between its endpoints. + + :type: Literal['SUPERELLIPSE', 'CUSTOM'] + + .. attribute:: segments + + Number of segments for round edges/verts (in [1, 1000], default 1) + + :type: int + + .. attribute:: spread + + Spread distance for inner miter arcs (in [0, inf], default 0.1) + + :type: float + + .. attribute:: use_clamp_overlap + + Clamp the width to avoid overlap (default True) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name (default "", never None) + + :type: str + + .. attribute:: vertex_weight + + Attribute name for vertex weight (default "", never None) + + :type: str + + .. attribute:: vmesh_method + + The method to use to create the mesh at intersections (default ``'ADJ'``) + + - ``ADJ`` + Grid Fill -- Default patterned fill. + - ``CUTOFF`` + Cutoff -- A cut-off at the end of each profile before the intersection. + + :type: Literal['ADJ', 'CUTOFF'] + + .. attribute:: width + + Bevel amount (in [0, inf], default 0.1) + + :type: float + + .. attribute:: width_pct + + Bevel amount for percentage method (in [0, inf], default 0.1) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BezierSplinePoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BezierSplinePoint.rst new file mode 100644 index 0000000..0273721 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BezierSplinePoint.rst @@ -0,0 +1,150 @@ +BezierSplinePoint(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BezierSplinePoint(bpy_struct) + + Bézier curve point with two handles + + .. attribute:: co + + Coordinates of the control point (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: handle_left + + Coordinates of the first handle (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: handle_left_type + + Handle types (default ``'FREE'``) + + :type: Literal['FREE', 'VECTOR', 'ALIGNED', 'AUTO'] + + .. attribute:: handle_right + + Coordinates of the second handle (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: handle_right_type + + Handle types (default ``'FREE'``) + + :type: Literal['FREE', 'VECTOR', 'ALIGNED', 'AUTO'] + + .. attribute:: hide + + Visibility status (default False) + + :type: bool + + .. attribute:: radius + + Radius for beveling (in [0, inf], default 0.0) + + :type: float + + .. attribute:: select_control_point + + Control point selection status (default False) + + :type: bool + + .. attribute:: select_left_handle + + Handle 1 selection status (default False) + + :type: bool + + .. attribute:: select_right_handle + + Handle 2 selection status (default False) + + :type: bool + + .. attribute:: tilt + + Tilt in 3D View (in [-376.991, 376.991], default 0.0) + + :type: float + + .. attribute:: weight_softbody + + Softbody goal weight (in [0.01, 100], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Spline.bezier_points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendData.rst new file mode 100644 index 0000000..b0b4aea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendData.rst @@ -0,0 +1,442 @@ +BlendData(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BlendData(bpy_struct) + + Main data structure representing a .blend file and all its data-blocks + + .. data:: actions + + Action data-blocks (default None, readonly) + + :type: :class:`BlendDataActions`\ [:class:`Action`] + + .. data:: annotations + + Annotation data-blocks (legacy Grease Pencil) (default None, readonly) + + :type: :class:`BlendDataAnnotations`\ [:class:`Annotation`] + + .. data:: armatures + + Armature data-blocks (default None, readonly) + + :type: :class:`BlendDataArmatures`\ [:class:`Armature`] + + .. data:: brushes + + Brush data-blocks (default None, readonly) + + :type: :class:`BlendDataBrushes`\ [:class:`Brush`] + + .. data:: cache_files + + Cache Files data-blocks (default None, readonly) + + :type: :class:`BlendDataCacheFiles`\ [:class:`CacheFile`] + + .. data:: cameras + + Camera data-blocks (default None, readonly) + + :type: :class:`BlendDataCameras`\ [:class:`Camera`] + + .. data:: collections + + Collection data-blocks (default None, readonly) + + :type: :class:`BlendDataCollections`\ [:class:`Collection`] + + .. data:: colorspace + + Information about the color space used for data-blocks in a blend file (readonly, never None) + + :type: :class:`BlendFileColorspace` + + .. data:: curves + + Curve data-blocks (default None, readonly) + + :type: :class:`BlendDataCurves`\ [:class:`Curve`] + + .. data:: filepath + + Path to the .blend file (default "", readonly, never None) + + :type: str + + .. data:: fonts + + Vector font data-blocks (default None, readonly) + + :type: :class:`BlendDataFonts`\ [:class:`VectorFont`] + + .. data:: grease_pencils + + Grease Pencil data-blocks (default None, readonly) + + :type: :class:`BlendDataGreasePencilsV3`\ [:class:`GreasePencil`] + + .. data:: hair_curves + + Hair curve data-blocks (default None, readonly) + + :type: :class:`BlendDataHairCurves`\ [:class:`Curves`] + + .. data:: images + + Image data-blocks (default None, readonly) + + :type: :class:`BlendDataImages`\ [:class:`Image`] + + .. data:: is_dirty + + Have recent edits been saved to disk (default False, readonly) + + :type: bool + + .. data:: is_saved + + Has the current session been saved to disk as a .blend file (default False, readonly) + + :type: bool + + .. data:: lattices + + Lattice data-blocks (default None, readonly) + + :type: :class:`BlendDataLattices`\ [:class:`Lattice`] + + .. data:: libraries + + Library data-blocks (default None, readonly) + + :type: :class:`BlendDataLibraries`\ [:class:`Library`] + + .. data:: lightprobes + + Light Probe data-blocks (default None, readonly) + + :type: :class:`BlendDataProbes`\ [:class:`LightProbe`] + + .. data:: lights + + Light data-blocks (default None, readonly) + + :type: :class:`BlendDataLights`\ [:class:`Light`] + + .. data:: linestyles + + Line Style data-blocks (default None, readonly) + + :type: :class:`BlendDataLineStyles`\ [:class:`FreestyleLineStyle`] + + .. data:: masks + + Masks data-blocks (default None, readonly) + + :type: :class:`BlendDataMasks`\ [:class:`Mask`] + + .. data:: materials + + Material data-blocks (default None, readonly) + + :type: :class:`BlendDataMaterials`\ [:class:`Material`] + + .. data:: meshes + + Mesh data-blocks (default None, readonly) + + :type: :class:`BlendDataMeshes`\ [:class:`Mesh`] + + .. data:: metaballs + + Metaball data-blocks (default None, readonly) + + :type: :class:`BlendDataMetaBalls`\ [:class:`MetaBall`] + + .. data:: movieclips + + Movie Clip data-blocks (default None, readonly) + + :type: :class:`BlendDataMovieClips`\ [:class:`MovieClip`] + + .. data:: node_groups + + Node group data-blocks (default None, readonly) + + :type: :class:`BlendDataNodeTrees`\ [:class:`NodeTree`] + + .. data:: objects + + Object data-blocks (default None, readonly) + + :type: :class:`BlendDataObjects`\ [:class:`Object`] + + .. data:: paint_curves + + Paint Curves data-blocks (default None, readonly) + + :type: :class:`BlendDataPaintCurves`\ [:class:`PaintCurve`] + + .. data:: palettes + + Palette data-blocks (default None, readonly) + + :type: :class:`BlendDataPalettes`\ [:class:`Palette`] + + .. data:: particles + + Particle data-blocks (default None, readonly) + + :type: :class:`BlendDataParticles`\ [:class:`ParticleSettings`] + + .. data:: pointclouds + + Point cloud data-blocks (default None, readonly) + + :type: :class:`BlendDataPointClouds`\ [:class:`PointCloud`] + + .. data:: scenes + + Scene data-blocks (default None, readonly) + + :type: :class:`BlendDataScenes`\ [:class:`Scene`] + + .. data:: screens + + Screen data-blocks (default None, readonly) + + :type: :class:`BlendDataScreens`\ [:class:`Screen`] + + .. data:: shape_keys + + Shape Key data-blocks (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Key`] + + .. data:: sounds + + Sound data-blocks (default None, readonly) + + :type: :class:`BlendDataSounds`\ [:class:`Sound`] + + .. data:: speakers + + Speaker data-blocks (default None, readonly) + + :type: :class:`BlendDataSpeakers`\ [:class:`Speaker`] + + .. data:: texts + + Text data-blocks (default None, readonly) + + :type: :class:`BlendDataTexts`\ [:class:`Text`] + + .. data:: textures + + Texture data-blocks (default None, readonly) + + :type: :class:`BlendDataTextures`\ [:class:`Texture`] + + .. attribute:: use_autopack + + Automatically pack all external data into .blend file (default False) + + :type: bool + + .. data:: version + + File format version the .blend file was saved with (array of 3 items, in [0, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: volumes + + Volume data-blocks (default None, readonly) + + :type: :class:`BlendDataVolumes`\ [:class:`Volume`] + + .. data:: window_managers + + Window manager data-blocks (default None, readonly) + + :type: :class:`BlendDataWindowManagers`\ [:class:`WindowManager`] + + .. data:: workspaces + + Workspace data-blocks (default None, readonly) + + :type: :class:`BlendDataWorkSpaces`\ [:class:`WorkSpace`] + + .. data:: worlds + + World data-blocks (default None, readonly) + + :type: :class:`BlendDataWorlds`\ [:class:`World`] + + .. method:: pack_linked_ids_hierarchy(root_id) + + Pack the given linked ID and its dependencies into current blendfile + + :param root_id: Root linked ID to pack + :type root_id: :class:`ID` | None + :return: The packed ID matching the given root ID + :rtype: :class:`ID` + + .. method:: batch_remove(ids) + + Remove (delete) several IDs at once. + + Note that this function is quicker than individual calls to :func:`remove()` (from :class:`bpy.types.BlendData` + ID collections), but less safe/versatile (it can break Blender, e.g. by removing all scenes...). + + :param ids: Sequence of IDs (types can be mixed). + :type ids: Sequence[:class:`bpy.types.ID`] + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + + .. method:: file_path_foreach(visit_path_fn, *, subset=None, visit_types=None, flags={'SKIP_PACKED', 'SKIP_WEAK_REFERENCES'}) + + Call ``visit_path_fn`` for the file paths used by all ID data-blocks in current ``bpy.data``. + + For list of valid set members for visit_types, see: :class:`bpy.types.KeyingSetPath.id_type`. + + :param visit_path_fn: function that takes three parameters: the data-block, a file path, and a placeholder for future use. The function should return either ``None`` or a ``str``. In the latter case, the visited file path will be replaced with the returned string. + :type visit_path_fn: Callable[[:class:`bpy.types.ID`, str, Any], str|None] + :param subset: When given, only these data-blocks and their used file paths will be visited. + :type subset: set[str] | None + :param visit_types: When given, only visit data-blocks of these types. Ignored if ``subset`` is also given. + :type visit_types: set[str] | None + :type flags: set[str] + :param flags: Set of flags that influence which data-blocks are visited. See :ref:`rna_enum_file_path_foreach_flag_items`. + + + .. method:: file_path_map(*, subset=None, key_types=None, include_libraries=False) + + Returns a mapping of all ID data-blocks in current ``bpy.data`` to a set of all file paths used by them. + + For list of valid set members for key_types, see: :class:`bpy.types.KeyingSetPath.id_type`. + + :param subset: When given, only these data-blocks and their used file paths will be included as keys/values in the map. + :type subset: Sequence[:class:`bpy.types.ID`] | None + :param key_types: When given, filter the keys mapped by ID types. Ignored if ``subset`` is also given. + :type key_types: set[str] | None + :param include_libraries: Include library file paths of linked data. False by default. + :type include_libraries: bool + :return: dictionary of :class:`bpy.types.ID` instances, with sets of file path strings as their values. + :rtype: dict[:class:`bpy.types.ID`, set[str]] + + + .. method:: orphans_purge() + + Remove (delete) all IDs with no user. + + :param do_local_ids: Include unused local IDs in the deletion, defaults to True + :type do_local_ids: bool, optional + :param do_linked_ids: Include unused linked IDs in the deletion, defaults to True + :type do_linked_ids: bool, optional + :param do_recursive: Recursively check for unused IDs, ensuring no orphaned one remain after a single run of that function, defaults to False + :type do_recursive: bool, optional + :return: The number of deleted IDs. + :rtype: int + + + .. staticmethod:: temp_data(*, filepath=None) + + A context manager that temporarily creates blender file data. + + :param filepath: The file path for the newly temporary data. When None, the path of the currently open file is used. + :type filepath: str | bytes | None + + :return: Blend file data which is freed once the context exits. + :rtype: :class:`bpy.types.BlendData` + + + .. method:: user_map(*, subset=None, key_types=None, value_types=None) + + Returns a mapping of all ID data-blocks in current ``bpy.data`` to a set of all data-blocks using them. + + For list of valid set members for key_types & value_types, see: :class:`bpy.types.KeyingSetPath.id_type`. + + :param subset: When passed, only these data-blocks and their users will be included as keys/values in the map. + :type subset: Sequence[:class:`bpy.types.ID`] | None + :param key_types: Filter the keys mapped by ID types. + :type key_types: set[str] | None + :param value_types: Filter the values in the set by ID types. + :type value_types: set[str] | None + :return: dictionary that maps data-blocks ID's to their users. + :rtype: dict[:class:`bpy.types.ID`, set[:class:`bpy.types.ID`]] + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Context.blend_data` + - :class:`RenderEngine.update` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataActions.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataActions.rst new file mode 100644 index 0000000..6488a3f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataActions.rst @@ -0,0 +1,107 @@ +BlendDataActions(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataActions(bpy_prop_collection) + + Collection of actions + + .. method:: new(name) + + Add a new action to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New action data-block + :rtype: :class:`Action` + + .. method:: remove(action, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove an action from the current blendfile + + :param action: Action to remove (never None) + :type action: :class:`Action` | None + :param do_unlink: Unlink all usages of this action before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this action (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this action (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.actions` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataAnnotations.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataAnnotations.rst new file mode 100644 index 0000000..7277616 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataAnnotations.rst @@ -0,0 +1,107 @@ +BlendDataAnnotations(bpy_prop_collection) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataAnnotations(bpy_prop_collection) + + Collection of annotations + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. method:: new(name) + + Add a new annotation data-block to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New annotation data-block + :rtype: :class:`Annotation` + + .. method:: remove(annotation, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove annotation instance from the current blendfile + + :param annotation: Grease Pencil to remove (never None) + :type annotation: :class:`Annotation` | None + :param do_unlink: Unlink all usages of this annotation before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this annotation (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this annotation (optional) + :type do_ui_user: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.annotations` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataArmatures.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataArmatures.rst new file mode 100644 index 0000000..96aeaa5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataArmatures.rst @@ -0,0 +1,107 @@ +BlendDataArmatures(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataArmatures(bpy_prop_collection) + + Collection of armatures + + .. method:: new(name) + + Add a new armature to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New armature data-block + :rtype: :class:`Armature` + + .. method:: remove(armature, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove an armature from the current blendfile + + :param armature: Armature to remove (never None) + :type armature: :class:`Armature` | None + :param do_unlink: Unlink all usages of this armature before deleting it (WARNING: will also delete objects instancing that armature data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this armature data (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this armature data (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.armatures` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataBrushes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataBrushes.rst new file mode 100644 index 0000000..c331ea9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataBrushes.rst @@ -0,0 +1,116 @@ +BlendDataBrushes(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataBrushes(bpy_prop_collection) + + Collection of brushes + + .. method:: new(name, *, mode='TEXTURE_PAINT') + + Add a new brush to the main database + + :param name: New name for the data-block (never None) + :type name: str + :param mode: Paint Mode for the new brush (optional) + :type mode: Literal[:ref:`rna_enum_object_mode_items`] + :return: New brush data-block + :rtype: :class:`Brush` + + .. method:: remove(brush, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a brush from the current blendfile + + :param brush: Brush to remove (never None) + :type brush: :class:`Brush` | None + :param do_unlink: Unlink all usages of this brush before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this brush (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this brush (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. method:: create_gpencil_data(brush) + + Add Grease Pencil brush settings + + :param brush: Brush (never None) + :type brush: :class:`Brush` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.brushes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCacheFiles.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCacheFiles.rst new file mode 100644 index 0000000..93a2154 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCacheFiles.rst @@ -0,0 +1,85 @@ +BlendDataCacheFiles(bpy_prop_collection) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataCacheFiles(bpy_prop_collection) + + Collection of cache files + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.cache_files` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCameras.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCameras.rst new file mode 100644 index 0000000..2782526 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCameras.rst @@ -0,0 +1,107 @@ +BlendDataCameras(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataCameras(bpy_prop_collection) + + Collection of cameras + + .. method:: new(name) + + Add a new camera to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New camera data-block + :rtype: :class:`Camera` + + .. method:: remove(camera, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a camera from the current blendfile + + :param camera: Camera to remove (never None) + :type camera: :class:`Camera` | None + :param do_unlink: Unlink all usages of this camera before deleting it (WARNING: will also delete objects instancing that camera data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this camera (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this camera (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.cameras` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCollections.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCollections.rst new file mode 100644 index 0000000..275fef2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCollections.rst @@ -0,0 +1,107 @@ +BlendDataCollections(bpy_prop_collection) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataCollections(bpy_prop_collection) + + Collection of collections + + .. method:: new(name) + + Add a new collection to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New collection data-block + :rtype: :class:`Collection` + + .. method:: remove(collection, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a collection from the current blendfile + + :param collection: Collection to remove (never None) + :type collection: :class:`Collection` | None + :param do_unlink: Unlink all usages of this collection before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this collection (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this collection (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.collections` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCurves.rst new file mode 100644 index 0000000..cf2af0e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataCurves.rst @@ -0,0 +1,109 @@ +BlendDataCurves(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataCurves(bpy_prop_collection) + + Collection of curves + + .. method:: new(name, type) + + Add a new curve to the main database + + :param name: New name for the data-block (never None) + :type name: str + :param type: Type, The type of curve to add + :type type: Literal[:ref:`rna_enum_object_type_curve_items`] + :return: New curve data-block + :rtype: :class:`Curve` + + .. method:: remove(curve, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a curve from the current blendfile + + :param curve: Curve to remove (never None) + :type curve: :class:`Curve` | None + :param do_unlink: Unlink all usages of this curve before deleting it (WARNING: will also delete objects instancing that curve data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this curve data (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this curve data (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.curves` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataFonts.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataFonts.rst new file mode 100644 index 0000000..9253bca --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataFonts.rst @@ -0,0 +1,109 @@ +BlendDataFonts(bpy_prop_collection) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataFonts(bpy_prop_collection) + + Collection of fonts + + .. method:: load(filepath, *, check_existing=False) + + Load a new font into the main database + + :param filepath: path of the font to load (never None, blend relative ``//`` prefix supported) + :type filepath: str + :param check_existing: Using existing data-block if this file is already loaded (optional) + :type check_existing: bool + :return: New font data-block + :rtype: :class:`VectorFont` + + .. method:: remove(vfont, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a font from the current blendfile + + :param vfont: Font to remove (never None) + :type vfont: :class:`VectorFont` | None + :param do_unlink: Unlink all usages of this font before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this font (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this font (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.fonts` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataGreasePencilsV3.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataGreasePencilsV3.rst new file mode 100644 index 0000000..bc0d795 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataGreasePencilsV3.rst @@ -0,0 +1,107 @@ +BlendDataGreasePencilsV3(bpy_prop_collection) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataGreasePencilsV3(bpy_prop_collection) + + Collection of Grease Pencils + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. method:: new(name) + + Add a new Grease Pencil data-block to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New Grease Pencil data-block + :rtype: :class:`GreasePencil` + + .. method:: remove(grease_pencil, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a Grease Pencil instance from the current blendfile + + :param grease_pencil: Grease Pencil to remove (never None) + :type grease_pencil: :class:`GreasePencil` | None + :param do_unlink: Unlink all usages of this Grease Pencil before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this Grease Pencil (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this Grease Pencil (optional) + :type do_ui_user: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.grease_pencils` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataHairCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataHairCurves.rst new file mode 100644 index 0000000..65f5066 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataHairCurves.rst @@ -0,0 +1,107 @@ +BlendDataHairCurves(bpy_prop_collection) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataHairCurves(bpy_prop_collection) + + Collection of hair curves + + .. method:: new(name) + + Add a new hair to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New curves data-block + :rtype: :class:`Curves` + + .. method:: remove(curves, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a curves data-block from the current blendfile + + :param curves: Curves data-block to remove (never None) + :type curves: :class:`Curves` | None + :param do_unlink: Unlink all usages of this curves before deleting it (WARNING: will also delete objects instancing that curves data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this curves data (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this curves data (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.hair_curves` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataImages.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataImages.rst new file mode 100644 index 0000000..17da943 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataImages.rst @@ -0,0 +1,132 @@ +BlendDataImages(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataImages(bpy_prop_collection) + + Collection of images + + .. method:: new(name, width, height, *, alpha=False, float_buffer=False, stereo3d=False, is_data=False, tiled=False) + + Add a new image to the main database + + :param name: New name for the data-block (never None) + :type name: str + :param width: Width of the image (in [1, inf]) + :type width: int + :param height: Height of the image (in [1, inf]) + :type height: int + :param alpha: Alpha, Use alpha channel (optional) + :type alpha: bool + :param float_buffer: Float Buffer, Create an image with floating-point color (optional) + :type float_buffer: bool + :param stereo3d: Stereo 3D, Create left and right views (optional) + :type stereo3d: bool + :param is_data: Is Data, Create image with non-color data color space (optional) + :type is_data: bool + :param tiled: Tiled, Create a tiled image (optional) + :type tiled: bool + :return: New image data-block + :rtype: :class:`Image` + + .. method:: load(filepath, *, check_existing=False) + + Load a new image into the main database + + :param filepath: Path of the file to load (never None, blend relative ``//`` prefix supported) + :type filepath: str + :param check_existing: Using existing data-block if this file is already loaded (optional) + :type check_existing: bool + :return: New image data-block + :rtype: :class:`Image` + + .. method:: remove(image, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove an image from the current blendfile + + :param image: Image to remove (never None) + :type image: :class:`Image` | None + :param do_unlink: Unlink all usages of this image before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this image (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this image (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.images` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLattices.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLattices.rst new file mode 100644 index 0000000..db73532 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLattices.rst @@ -0,0 +1,107 @@ +BlendDataLattices(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataLattices(bpy_prop_collection) + + Collection of lattices + + .. method:: new(name) + + Add a new lattice to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New lattice data-block + :rtype: :class:`Lattice` + + .. method:: remove(lattice, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a lattice from the current blendfile + + :param lattice: Lattice to remove (never None) + :type lattice: :class:`Lattice` | None + :param do_unlink: Unlink all usages of this lattice before deleting it (WARNING: will also delete objects instancing that lattice data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this lattice data (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this lattice data (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.lattices` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLibraries.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLibraries.rst new file mode 100644 index 0000000..7a542d2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLibraries.rst @@ -0,0 +1,164 @@ +BlendDataLibraries(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataLibraries(bpy_prop_collection) + + Collection of libraries + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. method:: remove(library, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a library from the current blendfile + + :param library: Library to remove (never None) + :type library: :class:`Library` | None + :param do_unlink: Unlink all usages of this library before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this library (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this library (optional) + :type do_ui_user: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + + .. method:: load(filepath, *, link=False, pack=False, relative=False, set_fake=False, recursive=False, reuse_local_id=False, assets_only=False, clear_asset_data=False, create_liboverrides=False, reuse_liboverrides=False, create_liboverrides_runtime=False) + + Returns a context manager which exposes 2 library objects on entering. + Each object has attributes matching bpy.data which are lists of strings to be linked. + + :param filepath: The path to a blend file. + :type filepath: str | bytes + :param link: When False reference to the original file is lost. + :type link: bool + :param pack: If True, and ``link`` is also True, pack linked data-blocks into the current blend-file. + :type pack: bool + :param relative: When True the path is stored relative to the open blend file. + :type relative: bool + :param set_fake: If True, set fake user on appended IDs. + :type set_fake: bool + :param recursive: If True, also make indirect dependencies of appended libraries local. + :type recursive: bool + :param reuse_local_id: If True,try to re-use previously appended matching ID on new append. + :type reuse_local_id: bool + :param assets_only: If True, only list data-blocks marked as assets. + :type assets_only: bool + :param clear_asset_data: If True, clear the asset data on append (it is always kept for linked data). + :type clear_asset_data: bool + :param create_liboverrides: If True and ``link`` is True, liboverrides will + be created for linked data. + :type create_liboverrides: bool + :param reuse_liboverrides: If True and ``create_liboverride`` is True, + search for existing liboverride first. + :type reuse_liboverrides: bool + :param create_liboverrides_runtime: If True and ``create_liboverride`` is True, + create (or search for existing) runtime liboverride. + :type create_liboverrides_runtime: bool + + + .. literalinclude:: ./examples/bpy.types.BlendDataLibraries.load.0.py + + + .. method:: write(filepath, datablocks, *, path_remap='NONE', fake_user=False, compress=False) + + Write data-blocks into a blend file. + + .. note:: + + Indirectly referenced data-blocks will be expanded and written too. + + :param filepath: The path to write the blend-file. + :type filepath: str | bytes + :param datablocks: set of data-blocks. + :type datablocks: set[:class:`bpy.types.ID`] + :param path_remap: Optionally remap paths when writing the file: + + - ``NONE`` No path manipulation (default). + - ``RELATIVE`` Remap paths that are already relative to the new location. + - ``RELATIVE_ALL`` Remap all paths to be relative to the new location. + - ``ABSOLUTE`` Make all paths absolute on writing. + + :type path_remap: str + :param fake_user: When True, data-blocks will be written with fake-user flag enabled. + :type fake_user: bool + :param compress: When True, write a compressed blend file. + :type compress: bool + + + .. literalinclude:: ./examples/bpy.types.BlendDataLibraries.write.0.py + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.libraries` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLights.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLights.rst new file mode 100644 index 0000000..f789ce4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLights.rst @@ -0,0 +1,109 @@ +BlendDataLights(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataLights(bpy_prop_collection) + + Collection of lights + + .. method:: new(name, type) + + Add a new light to the main database + + :param name: New name for the data-block (never None) + :type name: str + :param type: Type, The type of light to add + :type type: Literal[:ref:`rna_enum_light_type_items`] + :return: New light data-block + :rtype: :class:`Light` + + .. method:: remove(light, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a light from the current blendfile + + :param light: Light to remove (never None) + :type light: :class:`Light` | None + :param do_unlink: Unlink all usages of this light before deleting it (WARNING: will also delete objects instancing that light data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this light data (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this light data (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.lights` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLineStyles.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLineStyles.rst new file mode 100644 index 0000000..b738266 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataLineStyles.rst @@ -0,0 +1,107 @@ +BlendDataLineStyles(bpy_prop_collection) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataLineStyles(bpy_prop_collection) + + Collection of line styles + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. method:: new(name) + + Add a new line style instance to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New line style data-block + :rtype: :class:`FreestyleLineStyle` + + .. method:: remove(linestyle, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a line style instance from the current blendfile + + :param linestyle: Line style to remove (never None) + :type linestyle: :class:`FreestyleLineStyle` | None + :param do_unlink: Unlink all usages of this line style before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this line style (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this line style (optional) + :type do_ui_user: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.linestyles` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMasks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMasks.rst new file mode 100644 index 0000000..79f87bd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMasks.rst @@ -0,0 +1,107 @@ +BlendDataMasks(bpy_prop_collection) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataMasks(bpy_prop_collection) + + Collection of masks + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. method:: new(name) + + Add a new mask with a given name to the main database + + :param name: Mask, Name of new mask data-block (never None) + :type name: str + :return: New mask data-block + :rtype: :class:`Mask` + + .. method:: remove(mask, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a mask from the current blendfile + + :param mask: Mask to remove (never None) + :type mask: :class:`Mask` | None + :param do_unlink: Unlink all usages of this mask before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this mask (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this mask (optional) + :type do_ui_user: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.masks` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMaterials.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMaterials.rst new file mode 100644 index 0000000..e347d06 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMaterials.rst @@ -0,0 +1,121 @@ +BlendDataMaterials(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataMaterials(bpy_prop_collection) + + Collection of materials + + .. method:: new(name) + + Add a new material to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New material data-block + :rtype: :class:`Material` + + .. method:: create_gpencil_data(material) + + Add Grease Pencil material settings + + :param material: Material (never None) + :type material: :class:`Material` | None + + .. method:: remove_gpencil_data(material) + + Remove Grease Pencil material settings + + :param material: Material (never None) + :type material: :class:`Material` | None + + .. method:: remove(material, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a material from the current blendfile + + :param material: Material to remove (never None) + :type material: :class:`Material` | None + :param do_unlink: Unlink all usages of this material before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this material (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this material (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.materials` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMeshes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMeshes.rst new file mode 100644 index 0000000..e599339 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMeshes.rst @@ -0,0 +1,120 @@ +BlendDataMeshes(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataMeshes(bpy_prop_collection) + + Collection of meshes + + .. method:: new(name) + + Add a new mesh to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New mesh data-block + :rtype: :class:`Mesh` + + .. method:: new_from_object(object, *, preserve_all_data_layers=False, depsgraph=None) + + Add a new mesh created from given object (undeformed geometry if object is original, and final evaluated geometry, with all modifiers etc., if object is evaluated) + + :param object: Object to create mesh from (never None) + :type object: :class:`Object` | None + :param preserve_all_data_layers: Preserve all data layers in the mesh, like UV maps and vertex groups. By default Blender only computes the subset of data layers needed for viewport display and rendering, for better performance. (optional) + :type preserve_all_data_layers: bool + :param depsgraph: Dependency Graph, Evaluated dependency graph which is required when preserve_all_data_layers is true (optional) + :type depsgraph: :class:`Depsgraph` | None + :return: Mesh created from object, remove it if it is only used for export + :rtype: :class:`Mesh` + + .. method:: remove(mesh, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a mesh from the current blendfile + + :param mesh: Mesh to remove (never None) + :type mesh: :class:`Mesh` | None + :param do_unlink: Unlink all usages of this mesh before deleting it (WARNING: will also delete objects instancing that mesh data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this mesh data (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this mesh data (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.meshes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMetaBalls.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMetaBalls.rst new file mode 100644 index 0000000..d4d14ee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMetaBalls.rst @@ -0,0 +1,107 @@ +BlendDataMetaBalls(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataMetaBalls(bpy_prop_collection) + + Collection of metaballs + + .. method:: new(name) + + Add a new metaball to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New metaball data-block + :rtype: :class:`MetaBall` + + .. method:: remove(metaball, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a metaball from the current blendfile + + :param metaball: Metaball to remove (never None) + :type metaball: :class:`MetaBall` | None + :param do_unlink: Unlink all usages of this metaball before deleting it (WARNING: will also delete objects instancing that metaball data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this metaball data (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this metaball data (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.metaballs` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMovieClips.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMovieClips.rst new file mode 100644 index 0000000..59e33c0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataMovieClips.rst @@ -0,0 +1,109 @@ +BlendDataMovieClips(bpy_prop_collection) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataMovieClips(bpy_prop_collection) + + Collection of movie clips + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. method:: remove(clip, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a movie clip from the current blendfile. + + :param clip: Movie clip to remove (never None) + :type clip: :class:`MovieClip` | None + :param do_unlink: Unlink all usages of this movie clip before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this movie clip (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this movie clip (optional) + :type do_ui_user: bool + + .. method:: load(filepath, *, check_existing=False) + + Add a new movie clip to the main database from a file (while ``check_existing`` is disabled for consistency with other load functions, behavior with multiple movie-clips using the same file may incorrectly generate proxies) + + :param filepath: path for the data-block (never None, blend relative ``//`` prefix supported) + :type filepath: str + :param check_existing: Using existing data-block if this file is already loaded (optional) + :type check_existing: bool + :return: New movie clip data-block + :rtype: :class:`MovieClip` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.movieclips` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataNodeTrees.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataNodeTrees.rst new file mode 100644 index 0000000..c381749 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataNodeTrees.rst @@ -0,0 +1,118 @@ +BlendDataNodeTrees(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataNodeTrees(bpy_prop_collection) + + Collection of node trees + + .. method:: new(name, type) + + Add a new node tree to the main database + + :param name: New name for the data-block (never None) + :type name: str + :param type: Type, The type of node_group to add + + - ``GeometryNodeTree`` + Geometry Node Editor -- Advanced geometry editing and tools creation using nodes. + - ``CompositorNodeTree`` + Compositor -- Create effects and post-process renders, images, and the 3D Viewport. + - ``ShaderNodeTree`` + Shader Editor -- Edit materials, lights, and world shading using nodes. + - ``TextureNodeTree`` + Texture Node Editor -- Edit textures using nodes. + :type type: Literal['GeometryNodeTree', 'CompositorNodeTree', 'ShaderNodeTree', 'TextureNodeTree'] + :return: New node tree data-block + :rtype: :class:`NodeTree` + + .. method:: remove(tree, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a node tree from the current blendfile + + :param tree: Node tree to remove (never None) + :type tree: :class:`NodeTree` | None + :param do_unlink: Unlink all usages of this node tree before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this node tree (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this node tree (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.node_groups` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataObjects.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataObjects.rst new file mode 100644 index 0000000..32d2adc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataObjects.rst @@ -0,0 +1,109 @@ +BlendDataObjects(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataObjects(bpy_prop_collection) + + Collection of objects + + .. method:: new(name, object_data) + + Add a new object to the main database + + :param name: New name for the data-block (never None) + :type name: str + :param object_data: Object data or None for an empty object + :type object_data: :class:`ID` | None + :return: New object data-block + :rtype: :class:`Object` + + .. method:: remove(object, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove an object from the current blendfile + + :param object: Object to remove (never None) + :type object: :class:`Object` | None + :param do_unlink: Unlink all usages of this object before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this object (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this object (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.objects` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataPaintCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataPaintCurves.rst new file mode 100644 index 0000000..c7cde0c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataPaintCurves.rst @@ -0,0 +1,85 @@ +BlendDataPaintCurves(bpy_prop_collection) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataPaintCurves(bpy_prop_collection) + + Collection of paint curves + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.paint_curves` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataPalettes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataPalettes.rst new file mode 100644 index 0000000..d25b538 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataPalettes.rst @@ -0,0 +1,107 @@ +BlendDataPalettes(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataPalettes(bpy_prop_collection) + + Collection of palettes + + .. method:: new(name) + + Add a new palette to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New palette data-block + :rtype: :class:`Palette` + + .. method:: remove(palette, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a palette from the current blendfile + + :param palette: Palette to remove (never None) + :type palette: :class:`Palette` | None + :param do_unlink: Unlink all usages of this palette before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this palette (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this palette (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.palettes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataParticles.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataParticles.rst new file mode 100644 index 0000000..244e432 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataParticles.rst @@ -0,0 +1,107 @@ +BlendDataParticles(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataParticles(bpy_prop_collection) + + Collection of particle settings + + .. method:: new(name) + + Add a new particle settings instance to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New particle settings data-block + :rtype: :class:`ParticleSettings` + + .. method:: remove(particle, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a particle settings instance from the current blendfile + + :param particle: Particle Settings to remove (never None) + :type particle: :class:`ParticleSettings` | None + :param do_unlink: Unlink all usages of those particle settings before deleting them (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this particle settings (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this particle settings (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.particles` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataPointClouds.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataPointClouds.rst new file mode 100644 index 0000000..302afdf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataPointClouds.rst @@ -0,0 +1,107 @@ +BlendDataPointClouds(bpy_prop_collection) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataPointClouds(bpy_prop_collection) + + Collection of point clouds + + .. method:: new(name) + + Add a new point cloud to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New point cloud data-block + :rtype: :class:`PointCloud` + + .. method:: remove(pointcloud, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a point cloud from the current blendfile + + :param pointcloud: Point cloud to remove (never None) + :type pointcloud: :class:`PointCloud` | None + :param do_unlink: Unlink all usages of this point cloud before deleting it (WARNING: will also delete objects instancing that point cloud data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this point cloud data (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this point cloud data (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.pointclouds` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataProbes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataProbes.rst new file mode 100644 index 0000000..388d209 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataProbes.rst @@ -0,0 +1,109 @@ +BlendDataProbes(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataProbes(bpy_prop_collection) + + Collection of light probes + + .. method:: new(name, type) + + Add a new light probe to the main database + + :param name: New name for the data-block (never None) + :type name: str + :param type: Type, The type of light probe to add + :type type: Literal[:ref:`rna_enum_lightprobes_type_items`] + :return: New light probe data-block + :rtype: :class:`LightProbe` + + .. method:: remove(lightprobe, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a light probe from the current blendfile + + :param lightprobe: Light probe to remove (never None) + :type lightprobe: :class:`LightProbe` | None + :param do_unlink: Unlink all usages of this light probe before deleting it (WARNING: will also delete objects instancing that light probe data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this light probe (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this light probe (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.lightprobes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataScenes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataScenes.rst new file mode 100644 index 0000000..52ae871 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataScenes.rst @@ -0,0 +1,103 @@ +BlendDataScenes(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataScenes(bpy_prop_collection) + + Collection of scenes + + .. method:: new(name) + + Add a new scene to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New scene data-block + :rtype: :class:`Scene` + + .. method:: remove(scene, *, do_unlink=True) + + Remove a scene from the current blendfile + + :param scene: Scene to remove (never None) + :type scene: :class:`Scene` | None + :param do_unlink: Unlink all usages of this scene before deleting it (optional) + :type do_unlink: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.scenes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataScreens.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataScreens.rst new file mode 100644 index 0000000..d5b8661 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataScreens.rst @@ -0,0 +1,85 @@ +BlendDataScreens(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataScreens(bpy_prop_collection) + + Collection of screens + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.screens` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataSounds.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataSounds.rst new file mode 100644 index 0000000..e2904fa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataSounds.rst @@ -0,0 +1,109 @@ +BlendDataSounds(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataSounds(bpy_prop_collection) + + Collection of sounds + + .. method:: load(filepath, *, check_existing=False) + + Add a new sound to the main database from a file + + :param filepath: path for the data-block (never None, blend relative ``//`` prefix supported) + :type filepath: str + :param check_existing: Using existing data-block if this file is already loaded (optional) + :type check_existing: bool + :return: New text data-block + :rtype: :class:`Sound` + + .. method:: remove(sound, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a sound from the current blendfile + + :param sound: Sound to remove (never None) + :type sound: :class:`Sound` | None + :param do_unlink: Unlink all usages of this sound before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this sound (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this sound (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.sounds` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataSpeakers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataSpeakers.rst new file mode 100644 index 0000000..b1b0676 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataSpeakers.rst @@ -0,0 +1,107 @@ +BlendDataSpeakers(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataSpeakers(bpy_prop_collection) + + Collection of speakers + + .. method:: new(name) + + Add a new speaker to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New speaker data-block + :rtype: :class:`Speaker` + + .. method:: remove(speaker, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a speaker from the current blendfile + + :param speaker: Speaker to remove (never None) + :type speaker: :class:`Speaker` | None + :param do_unlink: Unlink all usages of this speaker before deleting it (WARNING: will also delete objects instancing that speaker data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this speaker data (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this speaker data (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.speakers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataTexts.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataTexts.rst new file mode 100644 index 0000000..974b83f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataTexts.rst @@ -0,0 +1,118 @@ +BlendDataTexts(bpy_prop_collection) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataTexts(bpy_prop_collection) + + Collection of texts + + .. method:: new(name) + + Add a new text to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New text data-block + :rtype: :class:`Text` + + .. method:: remove(text, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a text from the current blendfile + + :param text: Text to remove (never None) + :type text: :class:`Text` | None + :param do_unlink: Unlink all usages of this text before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this text (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this text (optional) + :type do_ui_user: bool + + .. method:: load(filepath, *, internal=False) + + Add a new text to the main database from a file + + :param filepath: path for the data-block (never None, blend relative ``//`` prefix supported) + :type filepath: str + :param internal: Make internal, Make text file internal after loading (optional) + :type internal: bool + :return: New text data-block + :rtype: :class:`Text` + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.texts` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataTextures.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataTextures.rst new file mode 100644 index 0000000..cf67dd6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataTextures.rst @@ -0,0 +1,109 @@ +BlendDataTextures(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataTextures(bpy_prop_collection) + + Collection of textures + + .. method:: new(name, type) + + Add a new texture to the main database + + :param name: New name for the data-block (never None) + :type name: str + :param type: Type, The type of texture to add + :type type: Literal[:ref:`rna_enum_texture_type_items`] + :return: New texture data-block + :rtype: :class:`Texture` + + .. method:: remove(texture, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a texture from the current blendfile + + :param texture: Texture to remove (never None) + :type texture: :class:`Texture` | None + :param do_unlink: Unlink all usages of this texture before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this texture (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this texture (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.textures` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataVolumes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataVolumes.rst new file mode 100644 index 0000000..f4d70d9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataVolumes.rst @@ -0,0 +1,107 @@ +BlendDataVolumes(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataVolumes(bpy_prop_collection) + + Collection of volumes + + .. method:: new(name) + + Add a new volume to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New volume data-block + :rtype: :class:`Volume` + + .. method:: remove(volume, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a volume from the current blendfile + + :param volume: Volume to remove (never None) + :type volume: :class:`Volume` | None + :param do_unlink: Unlink all usages of this volume before deleting it (WARNING: will also delete objects instancing that volume data) (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this volume data (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this volume data (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.volumes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataWindowManagers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataWindowManagers.rst new file mode 100644 index 0000000..fca8624 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataWindowManagers.rst @@ -0,0 +1,85 @@ +BlendDataWindowManagers(bpy_prop_collection) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataWindowManagers(bpy_prop_collection) + + Collection of window managers + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.window_managers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataWorkSpaces.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataWorkSpaces.rst new file mode 100644 index 0000000..0345999 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataWorkSpaces.rst @@ -0,0 +1,85 @@ +BlendDataWorkSpaces(bpy_prop_collection) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataWorkSpaces(bpy_prop_collection) + + Collection of workspaces + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.workspaces` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataWorlds.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataWorlds.rst new file mode 100644 index 0000000..4b64ae0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendDataWorlds.rst @@ -0,0 +1,107 @@ +BlendDataWorlds(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendDataWorlds(bpy_prop_collection) + + Collection of worlds + + .. method:: new(name) + + Add a new world to the main database + + :param name: New name for the data-block (never None) + :type name: str + :return: New world data-block + :rtype: :class:`World` + + .. method:: remove(world, *, do_unlink=True, do_id_user=True, do_ui_user=True) + + Remove a world from the current blendfile + + :param world: World to remove (never None) + :type world: :class:`World` | None + :param do_unlink: Unlink all usages of this world before deleting it (optional) + :type do_unlink: bool + :param do_id_user: Decrement user counter of all data-blocks used by this world (optional) + :type do_id_user: bool + :param do_ui_user: Make sure interface does not reference this world (optional) + :type do_ui_user: bool + + .. method:: tag(value) + + tag + + :param value: Value + :type value: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.worlds` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendFileColorspace.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendFileColorspace.rst new file mode 100644 index 0000000..d2877b0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendFileColorspace.rst @@ -0,0 +1,96 @@ +BlendFileColorspace(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BlendFileColorspace(bpy_struct) + + Information about the color space used for data-blocks in a blend file + + .. data:: is_missing_opencolorio_config + + A color space, view or display was not found, which likely means the OpenColorIO config used to create this blend file is missing (default False, readonly) + + :type: bool + + .. data:: working_space + + Color space used for all scene linear colors in this file, and for compositing, shader and geometry nodes processing (readonly) + + :type: Literal['Linear'] + + .. data:: working_space_interop_id + + Unique identifier for common color spaces, as defined by the Color Interop Forum. May be empty if there is no interop ID for the working space. Common values are lin_rec709_scene, lin_rec2020_scene and lin_ap1_scene (for ACEScg) (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.colorspace` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContext.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContext.rst new file mode 100644 index 0000000..a506a2f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContext.rst @@ -0,0 +1,118 @@ +BlendImportContext(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BlendImportContext(bpy_struct) + + Contextual data for a blendfile library/linked-data related operation. Currently only exposed as read-only data for the pre/post blendimport handlers + + .. data:: import_items + + (default None, readonly) + + :type: :class:`BlendImportContextItems`\ [:class:`BlendImportContextItem`] + + .. data:: options + + Options for this blendfile import operation (default set(), readonly) + + - ``LINK`` + Only link data, instead of appending it. + - ``MAKE_PATHS_RELATIVE`` + Make paths of used library blendfiles relative to current blendfile. + - ``USE_PLACEHOLDERS`` + Generate a placeholder (empty ID) if not found in any library files. + - ``FORCE_INDIRECT`` + Force loaded ID to be tagged as indirectly linked (used in reload context only). + - ``APPEND_SET_FAKEUSER`` + Set fake user on appended IDs. + - ``APPEND_RECURSIVE`` + Append (make local) also indirect dependencies of appended IDs coming from other libraries. NOTE: All IDs (including indirectly linked ones) coming from the same initial library are always made local. + - ``APPEND_LOCAL_ID_REUSE`` + Try to re-use previously appended matching IDs when appending them again, instead of creating local duplicates. + - ``APPEND_ASSET_DATA_CLEAR`` + Clear the asset data on append (it is always kept for linked data). + - ``SELECT_OBJECTS`` + Automatically select imported objects. + - ``USE_ACTIVE_COLLECTION`` + Use the active Collection of the current View Layer to instantiate imported collections and objects. + - ``OBDATA_INSTANCE`` + Instantiate object data IDs (i.e. create objects for them if needed). + - ``COLLECTION_INSTANCE`` + Instantiate collections as empties, instead of linking them into the current view layer. + + :type: set[Literal['LINK', 'MAKE_PATHS_RELATIVE', 'USE_PLACEHOLDERS', 'FORCE_INDIRECT', 'APPEND_SET_FAKEUSER', 'APPEND_RECURSIVE', 'APPEND_LOCAL_ID_REUSE', 'APPEND_ASSET_DATA_CLEAR', 'SELECT_OBJECTS', 'USE_ACTIVE_COLLECTION', 'OBDATA_INSTANCE', 'COLLECTION_INSTANCE']] + + .. data:: process_stage + + Current stage of the import process (default ``'INIT'``, readonly) + + - ``INIT`` + Blendfile import context has been initialized and filled with a list of items to import, no data has been linked or appended yet. + - ``DONE`` + All data has been imported and is available in the list of "import_items". + + :type: Literal['INIT', 'DONE'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextItem.rst new file mode 100644 index 0000000..827f763 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextItem.rst @@ -0,0 +1,150 @@ +BlendImportContextItem(bpy_struct) +================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BlendImportContextItem(bpy_struct) + + An item (representing a data-block) in a BlendImportContext data. Currently only exposed as read-only data for the pre/post linking handlers + + .. data:: append_action + + How this item has been handled by the append operation. Only set if the data has been appended (default ``'UNSET'``, readonly) + + - ``UNSET`` + Not yet defined. + - ``KEEP_LINKED`` + ID has been kept linked. + - ``REUSE_LOCAL`` + An existing matching local ID has been re-used. + - ``MAKE_LOCAL`` + The newly linked ID has been made local. + - ``COPY_LOCAL`` + The linked ID had other unrelated usages, so it has been duplicated into a local copy. + + :type: Literal['UNSET', 'KEEP_LINKED', 'REUSE_LOCAL', 'MAKE_LOCAL', 'COPY_LOCAL'] + + .. data:: id + + The imported ID. None until it has been linked or appended. May be the same as ``reusable_local_id`` when appended (readonly) + + :type: :class:`ID` | None + + .. data:: id_type + + ID type of the item (default ``'ACTION'``, readonly) + + :type: Literal[:ref:`rna_enum_id_type_items`] + + .. data:: import_info + + Various status info about an item after it has been imported (default set(), readonly) + + - ``INDIRECT_USAGE`` + That item was added for an indirectly imported ID, as a dependency of another data-block. + - ``LIBOVERRIDE_DEPENDENCY`` + That item represents an ID also used as liboverride dependency (either directly, as a liboverride reference, or indirectly, as data used by a liboverride reference). It should never be directly made local. Mutually exclusive with \`LIBOVERRIDE_DEPENDENCY_ONLY\`. + - ``LIBOVERRIDE_DEPENDENCY_ONLY`` + That item represents an ID only used as liboverride dependency (either directly or indirectly, see \`LIBOVERRIDE_DEPENDENCY\` for precisions). It should not be considered during the 'make local' (append) process, and remain purely linked data. Mutually exclusive with \`LIBOVERRIDE_DEPENDENCY\`. + + :type: set[Literal['INDIRECT_USAGE', 'LIBOVERRIDE_DEPENDENCY', 'LIBOVERRIDE_DEPENDENCY_ONLY']] + + .. data:: library_override_id + + The library override of the linked ID. None until it has been created (readonly) + + :type: :class:`ID` | None + + .. data:: name + + ID name of the item (default "", readonly, never None) + + :type: str + + .. data:: reusable_local_id + + The already existing local ID that may be reused in append & reuse case. None until it has been found (readonly) + + :type: :class:`ID` | None + + .. data:: source_libraries + + List of libraries to search and import that ID from. The ID will be imported from the first file in that list that contains it (default None, readonly) + + :type: :class:`BlendImportContextLibraries`\ [:class:`BlendImportContextLibrary`] + + .. data:: source_library + + Library ID representing the blendfile from which the ID was imported. None until the ID has been linked or appended (readonly) + + :type: :class:`Library` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendImportContext.import_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextItems.rst new file mode 100644 index 0000000..147ad0b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextItems.rst @@ -0,0 +1,78 @@ +BlendImportContextItems(bpy_prop_collection) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendImportContextItems(bpy_prop_collection) + + Collection of blendfile import context items + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendImportContext.import_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextLibraries.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextLibraries.rst new file mode 100644 index 0000000..daf7be9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextLibraries.rst @@ -0,0 +1,78 @@ +BlendImportContextLibraries(bpy_prop_collection) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BlendImportContextLibraries(bpy_prop_collection) + + Collection of source libraries, i.e. blendfile paths + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendImportContextItem.source_libraries` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextLibrary.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextLibrary.rst new file mode 100644 index 0000000..4c38ea2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendImportContextLibrary.rst @@ -0,0 +1,84 @@ +BlendImportContextLibrary(bpy_struct) +===================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BlendImportContextLibrary(bpy_struct) + + Library (blendfile) reference in a BlendImportContext data. Currently only exposed as read-only data for the pre/post blendimport handlers + + .. data:: filepath + + (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendImportContextItem.source_libraries` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendTexture.rst new file mode 100644 index 0000000..bcf2c07 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlendTexture.rst @@ -0,0 +1,181 @@ +BlendTexture(Texture) +===================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Texture` + +.. class:: BlendTexture(Texture) + + Procedural color blending texture + + .. attribute:: progression + + Style of the color blending (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Create a linear progression. + - ``QUADRATIC`` + Quadratic -- Create a quadratic progression. + - ``EASING`` + Easing -- Create a progression easing from one step to the next. + - ``DIAGONAL`` + Diagonal -- Create a diagonal progression. + - ``SPHERICAL`` + Spherical -- Create a spherical progression. + - ``QUADRATIC_SPHERE`` + Quadratic Sphere -- Create a quadratic progression in the shape of a sphere. + - ``RADIAL`` + Radial -- Create a radial progression. + + :type: Literal['LINEAR', 'QUADRATIC', 'EASING', 'DIAGONAL', 'SPHERICAL', 'QUADRATIC_SPHERE', 'RADIAL'] + + .. attribute:: use_flip_axis + + Flip the texture's X and Y axis (default ``'HORIZONTAL'``) + + - ``HORIZONTAL`` + Horizontal -- No flipping. + - ``VERTICAL`` + Vertical -- Flip the texture's X and Y axis. + + :type: Literal['HORIZONTAL', 'VERTICAL'] + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Texture.type` + - :class:`Texture.use_clamp` + - :class:`Texture.use_color_ramp` + - :class:`Texture.color_ramp` + - :class:`Texture.intensity` + - :class:`Texture.contrast` + - :class:`Texture.saturation` + - :class:`Texture.factor_red` + - :class:`Texture.factor_green` + - :class:`Texture.factor_blue` + - :class:`Texture.use_preview_alpha` + - :class:`Texture.use_nodes` + - :class:`Texture.node_tree` + - :class:`Texture.animation_data` + - :class:`Texture.users_material` + - :class:`Texture.users_object_modifier` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Texture.evaluate` + - :class:`Texture.bl_rna_get_subclass` + - :class:`Texture.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlenderRNA.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlenderRNA.rst new file mode 100644 index 0000000..17ecebd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BlenderRNA.rst @@ -0,0 +1,76 @@ +BlenderRNA(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BlenderRNA(bpy_struct) + + Blender RNA structure definitions + + .. data:: structs + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Struct`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRule.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRule.rst new file mode 100644 index 0000000..999fb5c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRule.rst @@ -0,0 +1,106 @@ +BoidRule(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`BoidRuleAverageSpeed`, :class:`BoidRuleAvoid`, :class:`BoidRuleAvoidCollision`, :class:`BoidRuleFight`, :class:`BoidRuleFollowLeader`, :class:`BoidRuleGoal` + +.. class:: BoidRule(bpy_struct) + + + .. attribute:: name + + Boid rule name (default "", never None) + + :type: str + + .. data:: type + + (default ``'GOAL'``, readonly) + + :type: Literal[:ref:`rna_enum_boidrule_type_items`] + + .. attribute:: use_in_air + + Use rule when boid is flying (default False) + + :type: bool + + .. attribute:: use_on_land + + Use rule when boid is on land (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BoidSettings.active_boid_state` + - :class:`BoidState.active_boid_rule` + - :class:`BoidState.rules` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleAverageSpeed.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleAverageSpeed.rst new file mode 100644 index 0000000..39bb453 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleAverageSpeed.rst @@ -0,0 +1,93 @@ +BoidRuleAverageSpeed(BoidRule) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`BoidRule` + +.. class:: BoidRuleAverageSpeed(BoidRule) + + + .. attribute:: level + + How much velocity's z-component is kept constant (in [0, 1], default 0.0) + + :type: float + + .. attribute:: speed + + Percentage of maximum speed (in [0, 1], default 0.0) + + :type: float + + .. attribute:: wander + + How fast velocity's direction is randomized (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`BoidRule.name` + - :class:`BoidRule.type` + - :class:`BoidRule.use_in_air` + - :class:`BoidRule.use_on_land` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`BoidRule.bl_rna_get_subclass` + - :class:`BoidRule.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleAvoid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleAvoid.rst new file mode 100644 index 0000000..71d7fc8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleAvoid.rst @@ -0,0 +1,93 @@ +BoidRuleAvoid(BoidRule) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`BoidRule` + +.. class:: BoidRuleAvoid(BoidRule) + + + .. attribute:: fear_factor + + Avoid object if danger from it is above this threshold (in [0, 100], default 0.0) + + :type: float + + .. attribute:: object + + Object to avoid + + :type: :class:`Object` | None + + .. attribute:: use_predict + + Predict target movement (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`BoidRule.name` + - :class:`BoidRule.type` + - :class:`BoidRule.use_in_air` + - :class:`BoidRule.use_on_land` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`BoidRule.bl_rna_get_subclass` + - :class:`BoidRule.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleAvoidCollision.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleAvoidCollision.rst new file mode 100644 index 0000000..b544768 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleAvoidCollision.rst @@ -0,0 +1,93 @@ +BoidRuleAvoidCollision(BoidRule) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`BoidRule` + +.. class:: BoidRuleAvoidCollision(BoidRule) + + + .. attribute:: look_ahead + + Time to look ahead in seconds (in [0, 100], default 0.0) + + :type: float + + .. attribute:: use_avoid + + Avoid collision with other boids (default False) + + :type: bool + + .. attribute:: use_avoid_collision + + Avoid collision with deflector objects (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`BoidRule.name` + - :class:`BoidRule.type` + - :class:`BoidRule.use_in_air` + - :class:`BoidRule.use_on_land` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`BoidRule.bl_rna_get_subclass` + - :class:`BoidRule.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleFight.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleFight.rst new file mode 100644 index 0000000..89562dd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleFight.rst @@ -0,0 +1,87 @@ +BoidRuleFight(BoidRule) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`BoidRule` + +.. class:: BoidRuleFight(BoidRule) + + + .. attribute:: distance + + Attack boids at max this distance (in [0, 100], default 0.0) + + :type: float + + .. attribute:: flee_distance + + Flee to this distance (in [0, 100], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`BoidRule.name` + - :class:`BoidRule.type` + - :class:`BoidRule.use_in_air` + - :class:`BoidRule.use_on_land` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`BoidRule.bl_rna_get_subclass` + - :class:`BoidRule.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleFollowLeader.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleFollowLeader.rst new file mode 100644 index 0000000..7c1a570 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleFollowLeader.rst @@ -0,0 +1,99 @@ +BoidRuleFollowLeader(BoidRule) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`BoidRule` + +.. class:: BoidRuleFollowLeader(BoidRule) + + + .. attribute:: distance + + Distance behind leader to follow (in [0, 100], default 0.0) + + :type: float + + .. attribute:: object + + Follow this object instead of a boid + + :type: :class:`Object` | None + + .. attribute:: queue_count + + How many boids in a line (in [0, 100], default 0) + + :type: int + + .. attribute:: use_line + + Follow leader in a line (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`BoidRule.name` + - :class:`BoidRule.type` + - :class:`BoidRule.use_in_air` + - :class:`BoidRule.use_on_land` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`BoidRule.bl_rna_get_subclass` + - :class:`BoidRule.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleGoal.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleGoal.rst new file mode 100644 index 0000000..cb63ba5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidRuleGoal.rst @@ -0,0 +1,87 @@ +BoidRuleGoal(BoidRule) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`BoidRule` + +.. class:: BoidRuleGoal(BoidRule) + + + .. attribute:: object + + Goal object + + :type: :class:`Object` | None + + .. attribute:: use_predict + + Predict target movement (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`BoidRule.name` + - :class:`BoidRule.type` + - :class:`BoidRule.use_in_air` + - :class:`BoidRule.use_on_land` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`BoidRule.bl_rna_get_subclass` + - :class:`BoidRule.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidSettings.rst new file mode 100644 index 0000000..ec26a8a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidSettings.rst @@ -0,0 +1,234 @@ +BoidSettings(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BoidSettings(bpy_struct) + + Settings for boid physics + + .. attribute:: accuracy + + Accuracy of attack (in [0, 1], default 0.0) + + :type: float + + .. data:: active_boid_state + + (readonly) + + :type: :class:`BoidRule` | None + + .. attribute:: active_boid_state_index + + (in [0, inf], default 0) + + :type: int + + .. attribute:: aggression + + Boid will fight this times stronger enemy (in [0, 100], default 0.0) + + :type: float + + .. attribute:: air_acc_max + + Maximum acceleration in air (relative to maximum speed) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: air_ave_max + + Maximum angular velocity in air (relative to 180 degrees) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: air_personal_space + + Radius of boids personal space in air (% of particle size) (in [0, 10], default 0.0) + + :type: float + + .. attribute:: air_speed_max + + Maximum speed in air (in [0, 100], default 0.0) + + :type: float + + .. attribute:: air_speed_min + + Minimum speed in air (relative to maximum speed) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: bank + + Amount of rotation around velocity vector on turns (in [0, 2], default 0.0) + + :type: float + + .. attribute:: health + + Initial boid health when born (in [0, 100], default 0.0) + + :type: float + + .. attribute:: height + + Boid height relative to particle size (in [0, 2], default 0.0) + + :type: float + + .. attribute:: land_acc_max + + Maximum acceleration on land (relative to maximum speed) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: land_ave_max + + Maximum angular velocity on land (relative to 180 degrees) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: land_jump_speed + + Maximum speed for jumping (in [0, 100], default 0.0) + + :type: float + + .. attribute:: land_personal_space + + Radius of boids personal space on land (% of particle size) (in [0, 10], default 0.0) + + :type: float + + .. attribute:: land_smooth + + How smoothly the boids land (in [0, 10], default 0.0) + + :type: float + + .. attribute:: land_speed_max + + Maximum speed on land (in [0, 100], default 0.0) + + :type: float + + .. attribute:: land_stick_force + + How strong a force must be to start effecting a boid on land (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: pitch + + Amount of rotation around side vector (in [0, 2], default 0.0) + + :type: float + + .. attribute:: range + + Maximum distance from which a boid can attack (in [0, 100], default 0.0) + + :type: float + + .. data:: states + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`BoidState`] + + .. attribute:: strength + + Maximum caused damage on attack per second (in [0, 100], default 0.0) + + :type: float + + .. attribute:: use_climb + + Allow boids to climb goal objects (default False) + + :type: bool + + .. attribute:: use_flight + + Allow boids to move in air (default False) + + :type: bool + + .. attribute:: use_land + + Allow boids to move on land (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ParticleSettings.boids` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidState.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidState.rst new file mode 100644 index 0000000..ea62f36 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoidState.rst @@ -0,0 +1,133 @@ +BoidState(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BoidState(bpy_struct) + + Boid state for boid physics + + .. data:: active_boid_rule + + (readonly) + + :type: :class:`BoidRule` | None + + .. attribute:: active_boid_rule_index + + (in [0, inf], default 0) + + :type: int + + .. attribute:: falloff + + (in [0, 10], default 0.0) + + :type: float + + .. attribute:: name + + Boid state name (default "", never None) + + :type: str + + .. attribute:: rule_fuzzy + + (in [0, 1], default 0.0) + + :type: float + + .. data:: rules + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`BoidRule`] + + .. attribute:: ruleset_type + + How the rules in the list are evaluated (default ``'FUZZY'``) + + - ``FUZZY`` + Fuzzy -- Rules are gone through top to bottom (only the first rule which effect is above fuzziness threshold is evaluated). + - ``RANDOM`` + Random -- A random rule is selected for each boid. + - ``AVERAGE`` + Average -- All rules are averaged. + + :type: Literal['FUZZY', 'RANDOM', 'AVERAGE'] + + .. attribute:: volume + + (in [0, 100], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BoidSettings.states` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Bone.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Bone.rst new file mode 100644 index 0000000..e06dc50 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Bone.rst @@ -0,0 +1,588 @@ +Bone(bpy_struct) +================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Bone(bpy_struct) + + Bone in an Armature data-block + + .. attribute:: bbone_curveinx + + X-axis handle offset for start of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_curveinz + + Z-axis handle offset for start of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_curveoutx + + X-axis handle offset for end of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_curveoutz + + Z-axis handle offset for end of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_custom_handle_end + + Bone that serves as the end handle for the B-Bone curve + + :type: :class:`Bone` | None + + .. attribute:: bbone_custom_handle_start + + Bone that serves as the start handle for the B-Bone curve + + :type: :class:`Bone` | None + + .. attribute:: bbone_easein + + Length of first Bézier Handle (for B-Bones only) (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: bbone_easeout + + Length of second Bézier Handle (for B-Bones only) (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: bbone_handle_type_end + + Selects how the end handle of the B-Bone is computed (default ``'AUTO'``) + + - ``AUTO`` + Automatic -- Use connected parent and children to compute the handle. + - ``ABSOLUTE`` + Absolute -- Use the position of the specified bone to compute the handle. + - ``RELATIVE`` + Relative -- Use the offset of the specified bone from rest pose to compute the handle. + - ``TANGENT`` + Tangent -- Use the orientation of the specified bone to compute the handle, ignoring the location. + + :type: Literal['AUTO', 'ABSOLUTE', 'RELATIVE', 'TANGENT'] + + .. attribute:: bbone_handle_type_start + + Selects how the start handle of the B-Bone is computed (default ``'AUTO'``) + + - ``AUTO`` + Automatic -- Use connected parent and children to compute the handle. + - ``ABSOLUTE`` + Absolute -- Use the position of the specified bone to compute the handle. + - ``RELATIVE`` + Relative -- Use the offset of the specified bone from rest pose to compute the handle. + - ``TANGENT`` + Tangent -- Use the orientation of the specified bone to compute the handle, ignoring the location. + + :type: Literal['AUTO', 'ABSOLUTE', 'RELATIVE', 'TANGENT'] + + .. attribute:: bbone_handle_use_ease_end + + Multiply the B-Bone Ease Out channel by the local Y scale value of the end handle. This is done after the Scale Easing option and isn't affected by it. (default False) + + :type: bool + + .. attribute:: bbone_handle_use_ease_start + + Multiply the B-Bone Ease In channel by the local Y scale value of the start handle. This is done after the Scale Easing option and isn't affected by it. (default False) + + :type: bool + + .. attribute:: bbone_handle_use_scale_end + + Multiply B-Bone Scale Out channels by the local scale values of the end handle. This is done after the Scale Easing option and isn't affected by it. (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: bbone_handle_use_scale_start + + Multiply B-Bone Scale In channels by the local scale values of the start handle. This is done after the Scale Easing option and isn't affected by it. (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: bbone_mapping_mode + + Selects how the vertices are mapped to B-Bone segments based on their position (default ``'STRAIGHT'``) + + - ``STRAIGHT`` + Straight -- Fast mapping that is good for most situations, but ignores the rest pose curvature of the B-Bone. + - ``CURVED`` + Curved -- Slower mapping that gives better deformation for B-Bones that are sharply curved in rest pose. + + :type: Literal['STRAIGHT', 'CURVED'] + + .. attribute:: bbone_rollin + + Roll offset for the start of the B-Bone, adjusts twist (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_rollout + + Roll offset for the end of the B-Bone, adjusts twist (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_scalein + + Scale factors for the start of the B-Bone, adjusts thickness (for tapering effects) (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: bbone_scaleout + + Scale factors for the end of the B-Bone, adjusts thickness (for tapering effects) (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: bbone_segments + + Number of subdivisions of bone (for B-Bones only) (in [1, 32], default 0) + + :type: int + + .. attribute:: bbone_x + + B-Bone X size (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_z + + B-Bone Z size (in [-inf, inf], default 0.0) + + :type: float + + .. data:: children + + Bones which are children of this bone (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Bone`] + + .. data:: collections + + Bone Collections that contain this bone (default None, readonly) + + :type: :class:`BoneCollectionMemberships`\ [:class:`BoneCollection`] + + .. data:: color + + (readonly) + + :type: :class:`BoneColor` | None + + .. attribute:: display_type + + (default ``'OCTAHEDRAL'``) + + - ``ARMATURE_DEFINED`` + Armature Defined -- Use display mode from armature (default). + - ``OCTAHEDRAL`` + Octahedral -- Display bones as octahedral shape. + - ``STICK`` + Stick -- Display bones as simple 2D lines with dots. + - ``BBONE`` + B-Bone -- Display bones as boxes, showing subdivision and B-Splines. + - ``ENVELOPE`` + Envelope -- Display bones as extruded spheres, showing deformation influence volume. + - ``WIRE`` + Wire -- Display bones as thin wires, showing subdivision and B-Splines. + + :type: Literal['ARMATURE_DEFINED', 'OCTAHEDRAL', 'STICK', 'BBONE', 'ENVELOPE', 'WIRE'] + + .. attribute:: envelope_distance + + Bone deformation distance (for Envelope deform only) (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: envelope_weight + + Bone deformation weight (for Envelope deform only) (in [0, 1000], default 0.0) + + :type: float + + .. data:: head + + Location of head end of the bone relative to its parent (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. data:: head_local + + Location of head end of the bone relative to armature (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: head_radius + + Radius of head of bone (for Envelope deform only) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: hide + + Bone is not visible when it is in Edit Mode (default False) + + :type: bool + + .. attribute:: hide_select + + Bone is able to be selected (default False) + + :type: bool + + .. attribute:: inherit_scale + + Specifies how the bone inherits scaling from the parent bone (default ``'FULL'``) + + - ``FULL`` + Full -- Inherit all effects of parent scaling. + - ``FIX_SHEAR`` + Fix Shear -- Inherit scaling, but remove shearing of the child in the rest orientation. + - ``ALIGNED`` + Aligned -- Rotate non-uniform parent scaling to align with the child, applying parent X scale to child X axis, and so forth. + - ``AVERAGE`` + Average -- Inherit uniform scaling representing the overall change in the volume of the parent. + - ``NONE`` + None -- Completely ignore parent scaling. + - ``NONE_LEGACY`` + None (Legacy) -- Ignore parent scaling without compensating for parent shear. Replicates the effect of disabling the original Inherit Scale checkbox.. + + :type: Literal['FULL', 'FIX_SHEAR', 'ALIGNED', 'AVERAGE', 'NONE', 'NONE_LEGACY'] + + .. data:: length + + Length of the bone (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: matrix + + 3×3 bone matrix (multi-dimensional array of 3 * 3 items, in [-inf, inf], default ((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), readonly) + + :type: :class:`mathutils.Matrix` + + .. data:: matrix_local + + 4×4 bone matrix relative to armature (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), readonly) + + :type: :class:`mathutils.Matrix` + + .. attribute:: name + + (default "", never None) + + :type: str + + .. data:: parent + + Parent bone (in same Armature) (readonly) + + :type: :class:`Bone` | None + + .. attribute:: show_wire + + Bone is always displayed in wireframe regardless of viewport shading mode (useful for non-obstructive custom bone shapes) (default False) + + :type: bool + + .. data:: tail + + Location of tail end of the bone relative to its parent (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. data:: tail_local + + Location of tail end of the bone relative to armature (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: tail_radius + + Radius of tail of bone (for Envelope deform only) (in [-inf, inf], default 0.0) + + :type: float + + .. data:: use_connect + + When bone has a parent, bone's head is stuck to the parent's tail (default False, readonly) + + :type: bool + + .. attribute:: use_cyclic_offset + + When bone does not have a parent, it receives cyclic offset effects (Deprecated) (default True) + + :type: bool + + .. attribute:: use_deform + + Enable Bone to deform geometry (default True) + + :type: bool + + .. attribute:: use_endroll_as_inroll + + Add Roll Out of the Start Handle bone to the Roll In value (default False) + + :type: bool + + .. attribute:: use_envelope_multiply + + When deforming bone, multiply effects of Vertex Group weights with Envelope influence (default False) + + :type: bool + + .. attribute:: use_inherit_rotation + + Bone inherits rotation or scale from parent bone (default True) + + :type: bool + + .. attribute:: use_local_location + + Bone location is set in local space (default True) + + :type: bool + + .. attribute:: use_relative_parent + + Object children will use relative transform, like deform (default False) + + :type: bool + + .. attribute:: use_scale_easing + + Multiply the final easing values by the Scale In/Out Y factors (default False) + + :type: bool + + .. data:: basename + + The name of this bone before any ``.`` character. + + (readonly) + + .. data:: center + + The midpoint between the head and the tail. + + (readonly) + + .. data:: children_recursive + + A list of all children from this bone. + + .. note:: Takes ``O(len(bones)**2)`` time. + + (readonly) + + .. data:: children_recursive_basename + + Returns a chain of children with the same base name as this bone. + Only direct chains are supported, forks caused by multiple children + with matching base names will terminate the function + and not be returned. + + .. note:: Takes ``O(len(bones)**2)`` time. + + (readonly) + + .. data:: parent_recursive + + A list of parents, starting with the immediate parent. + + (readonly) + + .. data:: vector + + The direction this bone is pointing. + Utility function for (tail - head) + + (readonly) + + .. data:: x_axis + + Vector pointing down the x-axis of the bone. + + (readonly) + + .. data:: y_axis + + Vector pointing down the y-axis of the bone. + + (readonly) + + .. data:: z_axis + + Vector pointing down the z-axis of the bone. + + (readonly) + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. method:: evaluate_envelope(point) + + Calculate bone envelope at given point + + :param point: Point, Position in 3d space to evaluate (array of 3 items, in [-inf, inf]) + :type point: :class:`mathutils.Vector` | Sequence[float] + :return: Factor, Envelope factor (in [-inf, inf]) + :rtype: float + + .. method:: convert_local_to_pose(matrix, matrix_local, *, parent_matrix=((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), parent_matrix_local=((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), invert=False) + + Transform a matrix from Local to Pose space (or back), taking into account options like Inherit Scale and Local Location. Unlike Object.convert_space, this uses custom rest and pose matrices provided by the caller. If the parent matrices are omitted, the bone is assumed to have no parent. + + :param matrix: The matrix to transform (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param matrix_local: The custom rest matrix of this bone (Bone.matrix_local) (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :type matrix_local: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param parent_matrix: The custom pose matrix of the parent bone (PoseBone.matrix) (multi-dimensional array of 4 * 4 items, in [-inf, inf], optional) + :type parent_matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param parent_matrix_local: The custom rest matrix of the parent bone (Bone.matrix_local) (multi-dimensional array of 4 * 4 items, in [-inf, inf], optional) + :type parent_matrix_local: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param invert: Convert from Pose to Local space (optional) + :type invert: bool + :return: The transformed matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :rtype: :class:`mathutils.Matrix` + + This method enables conversions between Local and Pose space for bones in + the middle of updating the armature without having to update dependencies + after each change, by manually carrying updated matrices in a recursive walk. + + .. literalinclude:: ./examples/bpy.types.Bone.convert_local_to_pose.0.py + :lines: 8- + + + .. classmethod:: MatrixFromAxisRoll(axis, roll) + + Convert the axis + roll representation to a matrix + + :param axis: The main axis of the bone (tail - head) (array of 3 items, in [-inf, inf], never None) + :type axis: :class:`mathutils.Vector` | Sequence[float] + :param roll: The roll of the bone (in [-inf, inf]) + :type roll: float + :return: The resulting orientation matrix (multi-dimensional array of 3 * 3 items, in [-inf, inf]) + :rtype: :class:`mathutils.Matrix` + + .. classmethod:: AxisRollFromMatrix(matrix, *, axis=(0.0, 0.0, 0.0)) + + Convert a rotational matrix to the axis + roll representation. Note that the resulting value of the roll may not be as expected if the matrix has shear or negative determinant. + + :param matrix: The orientation matrix of the bone (multi-dimensional array of 3 * 3 items, in [-inf, inf], never None) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param axis: The optional override for the axis (finds closest approximation for the matrix) (array of 3 items, in [-inf, inf], optional) + :type axis: Sequence[float] + :return: + ``result_axis``, The main axis of the bone, :class:`mathutils.Vector` + + ``result_roll``, The roll of the bone, float + + :rtype: tuple[:class:`mathutils.Vector`, float] + + .. method:: parent_index(parent_test) + + The same as 'bone in other_bone.parent_recursive' + but saved generating a list. + + .. method:: translate(vec) + + Utility function to add *vec* to the head and tail of this bone. + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_bone` + - :mod:`bpy.context.bone` + - :class:`Armature.bones` + - :class:`ArmatureBones.active` + - :class:`Bone.bbone_custom_handle_end` + - :class:`Bone.bbone_custom_handle_start` + - :class:`Bone.children` + - :class:`Bone.parent` + - :class:`BoneCollection.bones` + - :class:`PoseBone.bone` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneCollection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneCollection.rst new file mode 100644 index 0000000..f9f905b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneCollection.rst @@ -0,0 +1,198 @@ +BoneCollection(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BoneCollection(bpy_struct) + + Bone collection in an Armature data-block + + .. data:: bones + + Bones assigned to this bone collection. In armature edit mode this will always return an empty list of bones, as the bone collection memberships are only synchronized when exiting edit mode. (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Bone`] + + .. attribute:: child_number + + Index of this collection into its parent's list of children. Note that finding this index requires a scan of all the bone collections, so do access this with care. (in [-inf, inf], default 0) + + :type: int + + .. data:: children + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`BoneCollection`] + + .. data:: index + + Index of this bone collection in the armature.collections_all array. Note that finding this index requires a scan of all the bone collections, so do access this with care. (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: is_editable + + This collection is owned by a local Armature, or was added via a library override in the current blend file (default False, readonly) + + :type: bool + + .. attribute:: is_expanded + + This bone collection is expanded in the bone collections tree view (default False) + + :type: bool + + .. data:: is_local_override + + This collection was added via a library override in the current blend file (default False, readonly) + + :type: bool + + .. attribute:: is_solo + + Show only this bone collection, and others also marked as 'solo' (default False) + + :type: bool + + .. attribute:: is_visible + + Bones in this collection will be visible in pose/object mode (default False) + + :type: bool + + .. data:: is_visible_ancestors + + True when all of the ancestors of this bone collection are marked as visible; always True for root bone collections (default False, readonly) + + :type: bool + + .. data:: is_visible_effectively + + Whether this bone collection is effectively visible in the viewport. This is True when this bone collection and all of its ancestors are visible, or when it is marked as 'solo'. (default False, readonly) + + :type: bool + + .. attribute:: name + + Unique within the Armature (default "", never None) + + :type: str + + .. attribute:: parent + + Parent bone collection. Note that accessing this requires a scan of all the bone collections to find the parent. + + :type: :class:`BoneCollection` | None + + .. data:: bones_recursive + + A set of all bones assigned to this bone collection and its child collections. + + (readonly) + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. method:: assign(bone) + + Assign the given bone to this collection + + :param bone: Bone, PoseBone, or EditBone to assign to this collection + :type bone: :class:`AnyType` | None + :return: Assigned, Whether the bone was actually assigned; will be false if the bone was already member of the collection + :rtype: bool + + .. method:: unassign(bone) + + Remove the given bone from this collection + + :param bone: Bone, PoseBone, or EditBone to remove from this collection + :type bone: :class:`AnyType` | None + :return: Unassigned, Whether the bone was actually removed; will be false if the bone was not a member of the collection to begin with + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Armature.collections` + - :class:`Armature.collections_all` + - :class:`Bone.collections` + - :class:`BoneCollection.children` + - :class:`BoneCollection.parent` + - :class:`BoneCollections.active` + - :class:`BoneCollections.new` + - :class:`BoneCollections.new` + - :class:`BoneCollections.remove` + - :class:`EditBone.collections` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneCollectionMemberships.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneCollectionMemberships.rst new file mode 100644 index 0000000..57f41cd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneCollectionMemberships.rst @@ -0,0 +1,83 @@ +BoneCollectionMemberships(bpy_prop_collection) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BoneCollectionMemberships(bpy_prop_collection) + + The Bone Collections that contain this Bone + + .. method:: clear() + + Remove this bone from all bone collections + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Bone.collections` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneCollections.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneCollections.rst new file mode 100644 index 0000000..d52e3af --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneCollections.rst @@ -0,0 +1,129 @@ +BoneCollections(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: BoneCollections(bpy_prop_collection) + + The Bone Collections of this Armature + + .. attribute:: active + + Armature's active bone collection + + :type: :class:`BoneCollection` | None + + .. attribute:: active_index + + The index of the Armature's active bone collection; -1 when there is no active collection. Note that this is indexing the underlying array of bone collections, which may not be in the order you expect. Root collections are listed first, and siblings are always sequential. Apart from that, bone collections can be in any order, and thus incrementing or decrementing this index can make the active bone collection jump around in unexpected ways. For a more predictable interface, use ``active`` or ``active_name``. (in [-inf, inf], default 0) + + :type: int + + .. attribute:: active_name + + The name of the Armature's active bone collection; empty when there is no active collection (default "", never None) + + :type: str + + .. data:: is_solo_active + + Read-only flag that indicates there is at least one bone collection marked as 'solo' (default False, readonly) + + :type: bool + + .. method:: new(name, *, parent=None) + + Add a new empty bone collection to the armature + + :param name: Name, Name of the new collection. Blender will ensure it is unique within the collections of the Armature. (never None) + :type name: str + :param parent: Parent Collection, If not None, the new bone collection becomes a child of this collection (optional) + :type parent: :class:`BoneCollection` | None + :return: Newly created bone collection + :rtype: :class:`BoneCollection` + + .. method:: remove(bone_collection) + + Remove the bone collection from the armature. If this bone collection has any children, they will be reassigned to their grandparent; in other words, the children will take the place of the removed bone collection. + + :param bone_collection: Bone Collection, The bone collection to remove + :type bone_collection: :class:`BoneCollection` | None + + .. method:: move(from_index, to_index) + + Move a bone collection to a different position in the collection list. This can only be used to reorder siblings, and not to change parent-child relationships. + + :param from_index: From Index, Index to move (in [-inf, inf]) + :type from_index: int + :param to_index: To Index, Target index (in [-inf, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Armature.collections` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneColor.rst new file mode 100644 index 0000000..fe65dac --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoneColor.rst @@ -0,0 +1,98 @@ +BoneColor(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BoneColor(bpy_struct) + + Theme color or custom color of a bone + + .. data:: custom + + The custom bone colors, used when palette is 'CUSTOM' (readonly, never None) + + :type: :class:`ThemeBoneColorSet` + + .. data:: is_custom + + A color palette is user-defined, instead of using a theme-defined one (default False, readonly) + + :type: bool + + .. attribute:: palette + + Color palette to use (default ``'DEFAULT'``) + + :type: Literal['DEFAULT', 'THEME01', 'THEME02', 'THEME03', 'THEME04', 'THEME05', 'THEME06', 'THEME07', 'THEME08', 'THEME09', 'THEME10', 'THEME11', 'THEME12', 'THEME13', 'THEME14', 'THEME15', 'THEME16', 'THEME17', 'THEME18', 'THEME19', 'THEME20', 'CUSTOM'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Bone.color` + - :class:`EditBone.color` + - :class:`PoseBone.color` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoolAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoolAttribute.rst new file mode 100644 index 0000000..3102b07 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoolAttribute.rst @@ -0,0 +1,92 @@ +BoolAttribute(Attribute) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: BoolAttribute(Attribute) + + Geometry attribute that stores booleans + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`BoolAttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MeshUVLoopLayer.pin_ensure` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoolAttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoolAttributeValue.rst new file mode 100644 index 0000000..bf715c1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoolAttributeValue.rst @@ -0,0 +1,85 @@ +BoolAttributeValue(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BoolAttributeValue(bpy_struct) + + Bool value in geometry attribute + + .. attribute:: value + + (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BoolAttribute.data` + - :class:`MeshUVLoopLayer.pin` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoolProperty.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoolProperty.rst new file mode 100644 index 0000000..39cd720 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BoolProperty.rst @@ -0,0 +1,134 @@ +BoolProperty(Property) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Property` + +.. class:: BoolProperty(Property) + + RNA boolean property definition + + .. data:: array_dimensions + + Length of each dimension of the array (array of 3 items, in [0, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: array_length + + Maximum length of the array, 0 means unlimited (in [0, inf], default 0, readonly) + + :type: int + + .. data:: default + + Default value for this number (default False, readonly) + + :type: bool + + .. data:: default_array + + Default value for this array (array of 3 items, default (False, False, False), readonly) + + :type: :class:`bpy_prop_array`\ [bool] + + .. data:: is_array + + (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Property.name` + - :class:`Property.identifier` + - :class:`Property.description` + - :class:`Property.translation_context` + - :class:`Property.type` + - :class:`Property.subtype` + - :class:`Property.srna` + - :class:`Property.unit` + - :class:`Property.icon` + - :class:`Property.is_readonly` + - :class:`Property.is_animatable` + - :class:`Property.is_overridable` + - :class:`Property.is_required` + - :class:`Property.is_argument_optional` + - :class:`Property.is_never_none` + - :class:`Property.is_hidden` + - :class:`Property.is_skip_save` + - :class:`Property.is_skip_preset` + - :class:`Property.is_output` + - :class:`Property.is_registered` + - :class:`Property.is_registered_optional` + - :class:`Property.is_runtime` + - :class:`Property.is_enum_flag` + - :class:`Property.is_library_editable` + - :class:`Property.is_path_output` + - :class:`Property.is_path_supports_blend_relative` + - :class:`Property.is_path_supports_templates` + - :class:`Property.is_deprecated` + - :class:`Property.deprecated_note` + - :class:`Property.deprecated_version` + - :class:`Property.deprecated_removal_version` + - :class:`Property.tags` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Property.bl_rna_get_subclass` + - :class:`Property.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BooleanModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BooleanModifier.rst new file mode 100644 index 0000000..a1d275a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BooleanModifier.rst @@ -0,0 +1,169 @@ +BooleanModifier(Modifier) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: BooleanModifier(Modifier) + + Boolean operations modifier + + .. attribute:: collection + + Use mesh objects in this collection for Boolean operation + + :type: :class:`Collection` | None + + .. attribute:: debug_options + + Debugging options, only when started with '-d' (default set()) + + :type: set[Literal['SEPARATE', 'NO_DISSOLVE', 'NO_CONNECT_REGIONS']] + + .. attribute:: double_threshold + + Threshold for checking overlapping geometry (in [0, 1], default 1e-06) + + :type: float + + .. attribute:: material_mode + + Method for setting materials on the new faces (default ``'INDEX'``) + + - ``INDEX`` + Index Based -- Set the material on new faces based on the order of the material slot lists. If a material does not exist on the modifier object, the face will use the same material slot or the first if the object does not have enough slots.. + - ``TRANSFER`` + Transfer -- Transfer materials from non-empty slots to the result mesh, adding new materials as necessary. For empty slots, fall back to using the same material index as the operand mesh.. + + :type: Literal['INDEX', 'TRANSFER'] + + .. attribute:: object + + Mesh object to use for Boolean operation + + :type: :class:`Object` | None + + .. attribute:: operand_type + + (default ``'OBJECT'``) + + - ``OBJECT`` + Object -- Use a mesh object as the operand for the Boolean operation. + - ``COLLECTION`` + Collection -- Use a collection of mesh objects as the operand for the Boolean operation. + + :type: Literal['OBJECT', 'COLLECTION'] + + .. attribute:: operation + + (default ``'DIFFERENCE'``) + + - ``INTERSECT`` + Intersect -- Keep the part of the mesh that is common between all operands. + - ``UNION`` + Union -- Combine meshes in an additive way. + - ``DIFFERENCE`` + Difference -- Combine meshes in a subtractive way. + + :type: Literal['INTERSECT', 'UNION', 'DIFFERENCE'] + + .. attribute:: solver + + Method for calculating booleans (default ``'EXACT'``) + + - ``FLOAT`` + Float -- Simple solver with good performance, without support for overlapping geometry. + - ``EXACT`` + Exact -- Slower solver with the best results for coplanar faces. + - ``MANIFOLD`` + Manifold -- Fastest solver that works only on manifold meshes but gives better results. + + :type: Literal['FLOAT', 'EXACT', 'MANIFOLD'] + + .. attribute:: use_hole_tolerant + + Better results when there are holes (slower) (default False) + + :type: bool + + .. attribute:: use_self + + Allow self-intersection in operands (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrightContrastModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrightContrastModifier.rst new file mode 100644 index 0000000..6473355 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrightContrastModifier.rst @@ -0,0 +1,100 @@ +BrightContrastModifier(StripModifier) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripModifier` + +.. class:: BrightContrastModifier(StripModifier) + + Bright/contrast modifier data for sequence strip + + .. attribute:: bright + + Adjust the luminosity of the colors (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: contrast + + Adjust the difference in luminosity between pixels (in [-100, 100], default 0.0) + + :type: float + + .. attribute:: open_mask_input_panel + + (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripModifier.name` + - :class:`StripModifier.type` + - :class:`StripModifier.mute` + - :class:`StripModifier.enable` + - :class:`StripModifier.show_expanded` + - :class:`StripModifier.input_mask_type` + - :class:`StripModifier.mask_time` + - :class:`StripModifier.input_mask_strip` + - :class:`StripModifier.input_mask_id` + - :class:`StripModifier.is_active` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripModifier.bl_rna_get_subclass` + - :class:`StripModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Brush.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Brush.rst new file mode 100644 index 0000000..8a11569 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Brush.rst @@ -0,0 +1,1517 @@ +Brush(ID) +========= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Brush(ID) + + Brush data-block for storing brush settings for painting and sculpting + + .. attribute:: area_radius_factor + + Ratio between the brush radius and the radius that is going to be used to sample the area center (in [0, 2], default 0.5) + + :type: float + + .. attribute:: auto_smooth_factor + + Amount of smoothing to automatically apply to each stroke (in [0, 1], default 0.0) + + :type: float + + .. attribute:: automasking_boundary_edges_propagation_steps + + Distance where boundary edge automasking is going to protect vertices from the fully masked edge (in [1, 20], default 1) + + :type: int + + .. attribute:: automasking_cavity_blur_steps + + The number of times the cavity mask is blurred (in [0, 25], default 0) + + :type: int + + .. data:: automasking_cavity_curve + + Curve used for the sensitivity (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: automasking_cavity_factor + + The contrast of the cavity mask (in [0, 5], default 1.0) + + :type: float + + .. attribute:: automasking_start_normal_falloff + + Extend the angular range with a falloff gradient (in [0.0001, 1], default 0.25) + + :type: float + + .. attribute:: automasking_start_normal_limit + + The range of angles that will be affected (in [0.0001, 3.14159], default 0.349066) + + :type: float + + .. attribute:: automasking_view_normal_falloff + + Extend the angular range with a falloff gradient (in [0.0001, 1], default 0.25) + + :type: float + + .. attribute:: automasking_view_normal_limit + + The range of angles that will be affected (in [0.0001, 3.14159], default 1.5708) + + :type: float + + .. attribute:: blend + + Brush blending mode (default ``'MIX'``) + + - ``MIX`` + Mix -- Use Mix blending mode while painting. + - ``DARKEN`` + Darken -- Use Darken blending mode while painting. + - ``MUL`` + Multiply -- Use Multiply blending mode while painting. + - ``COLORBURN`` + Color Burn -- Use Color Burn blending mode while painting. + - ``LINEARBURN`` + Linear Burn -- Use Linear Burn blending mode while painting. + - ``LIGHTEN`` + Lighten -- Use Lighten blending mode while painting. + - ``SCREEN`` + Screen -- Use Screen blending mode while painting. + - ``COLORDODGE`` + Color Dodge -- Use Color Dodge blending mode while painting. + - ``ADD`` + Add -- Use Add blending mode while painting. + - ``OVERLAY`` + Overlay -- Use Overlay blending mode while painting. + - ``SOFTLIGHT`` + Soft Light -- Use Soft Light blending mode while painting. + - ``HARDLIGHT`` + Hard Light -- Use Hard Light blending mode while painting. + - ``VIVIDLIGHT`` + Vivid Light -- Use Vivid Light blending mode while painting. + - ``LINEARLIGHT`` + Linear Light -- Use Linear Light blending mode while painting. + - ``PINLIGHT`` + Pin Light -- Use Pin Light blending mode while painting. + - ``DIFFERENCE`` + Difference -- Use Difference blending mode while painting. + - ``EXCLUSION`` + Exclusion -- Use Exclusion blending mode while painting. + - ``SUB`` + Subtract -- Use Subtract blending mode while painting. + - ``HUE`` + Hue -- Use Hue blending mode while painting. + - ``SATURATION`` + Saturation -- Use Saturation blending mode while painting. + - ``COLOR`` + Color -- Use Color blending mode while painting. + - ``LUMINOSITY`` + Value -- Use Value blending mode while painting. + - ``ERASE_ALPHA`` + Erase Alpha -- Erase alpha while painting. + - ``ADD_ALPHA`` + Add Alpha -- Add alpha while painting. + + :type: Literal['MIX', 'DARKEN', 'MUL', 'COLORBURN', 'LINEARBURN', 'LIGHTEN', 'SCREEN', 'COLORDODGE', 'ADD', 'OVERLAY', 'SOFTLIGHT', 'HARDLIGHT', 'VIVIDLIGHT', 'LINEARLIGHT', 'PINLIGHT', 'DIFFERENCE', 'EXCLUSION', 'SUB', 'HUE', 'SATURATION', 'COLOR', 'LUMINOSITY', 'ERASE_ALPHA', 'ADD_ALPHA'] + + .. attribute:: blur_kernel_radius + + Radius of kernel used for soften and sharpen in pixels (in [1, 10000], default 2) + + :type: int + + .. attribute:: blur_mode + + (default ``'GAUSSIAN'``) + + :type: Literal['BOX', 'GAUSSIAN'] + + .. attribute:: boundary_deform_type + + Deformation type that is used in the brush (default ``'BEND'``) + + :type: Literal['BEND', 'EXPAND', 'INFLATE', 'GRAB', 'TWIST', 'SMOOTH'] + + .. attribute:: boundary_falloff_type + + How the brush falloff is applied across the boundary (default ``'CONSTANT'``) + + - ``CONSTANT`` + Constant -- Applies the same deformation in the entire boundary. + - ``RADIUS`` + Brush Radius -- Applies the deformation in a localized area limited by the brush radius. + - ``LOOP`` + Loop -- Applies the brush falloff in a loop pattern. + - ``LOOP_INVERT`` + Loop and Invert -- Applies the falloff radius in a loop pattern, inverting the displacement direction in each pattern repetition. + + :type: Literal['CONSTANT', 'RADIUS', 'LOOP', 'LOOP_INVERT'] + + .. attribute:: boundary_offset + + Offset of the boundary origin in relation to the brush radius (in [0, 30], default 0.0) + + :type: float + + .. data:: brush_capabilities + + Brush's capabilities (readonly, never None) + + :type: :class:`BrushCapabilities` + + .. attribute:: cloth_constraint_softbody_strength + + How much the cloth preserves the original shape, acting as a soft body (in [0, 1], default 0.0) + + :type: float + + .. attribute:: cloth_damping + + How much the applied forces are propagated through the cloth (in [0.01, 1], default 0.01) + + :type: float + + .. attribute:: cloth_deform_type + + Deformation type that is used in the brush (default ``'DRAG'``) + + :type: Literal['DRAG', 'PUSH', 'PINCH_POINT', 'PINCH_PERPENDICULAR', 'INFLATE', 'GRAB', 'EXPAND', 'SNAKE_HOOK'] + + .. attribute:: cloth_force_falloff_type + + Shape used in the brush to apply force to the cloth (default ``'RADIAL'``) + + :type: Literal['RADIAL', 'PLANE'] + + .. attribute:: cloth_mass + + Mass of each simulation particle (in [0.01, 2], default 1.0) + + :type: float + + .. attribute:: cloth_sim_falloff + + Area to apply deformation falloff to the effects of the simulation (in [0, 1], default 0.75) + + :type: float + + .. attribute:: cloth_sim_limit + + Factor added relative to the size of the radius to limit the cloth simulation effects (in [0.1, 10], default 2.5) + + :type: float + + .. attribute:: cloth_simulation_area_type + + Part of the mesh that is going to be simulated when the stroke is active (default ``'LOCAL'``) + + - ``LOCAL`` + Local -- Simulates only a specific area around the brush limited by a fixed radius. + - ``GLOBAL`` + Global -- Simulates the entire mesh. + - ``DYNAMIC`` + Dynamic -- The active simulation area moves with the brush. + + :type: Literal['LOCAL', 'GLOBAL', 'DYNAMIC'] + + .. attribute:: color + + (array of 3 items, in [0, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: color_type + + Use single color or gradient when painting (default ``'COLOR'``) + + - ``COLOR`` + Color -- Paint with a single color. + - ``GRADIENT`` + Gradient -- Paint with a gradient. + + :type: Literal['COLOR', 'GRADIENT'] + + .. attribute:: crease_pinch_factor + + How much the crease brush pinches (in [0, 1], default 0.5) + + :type: float + + .. attribute:: cursor_color_add + + Color of cursor when adding (array of 4 items, in [0, inf], default (1.0, 0.39, 0.39, 0.9)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: cursor_color_subtract + + Color of cursor when subtracting (array of 4 items, in [0, inf], default (0.39, 0.39, 1.0, 0.9)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: cursor_overlay_alpha + + (in [0, 100], default 33) + + :type: int + + .. data:: curve_distance_falloff + + Editable falloff curve (readonly, never None) + + :type: :class:`CurveMapping` + + .. attribute:: curve_distance_falloff_preset + + (default ``'CUSTOM'``) + + :type: Literal[:ref:`rna_enum_brush_curve_preset_items`] + + .. data:: curve_jitter + + Curve used to map pressure to brush jitter (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_random_hue + + Curve used for modulating effect (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_random_saturation + + Curve used for modulating effect (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_random_value + + Curve used for modulating effect (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_size + + Curve used to map pressure to brush size (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_strength + + Curve used to map pressure to brush strength (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: curves_sculpt_brush_type + + (default ``'COMB'``) + + :type: Literal[:ref:`rna_enum_brush_curves_sculpt_brush_type_items`] + + .. data:: curves_sculpt_settings + + (readonly) + + :type: :class:`BrushCurvesSculptSettings` | None + + .. attribute:: dash_ratio + + Ratio of samples in a cycle that the brush is enabled (in [0, 1], default 1.0) + + :type: float + + .. attribute:: dash_samples + + Length of a dash cycle measured in stroke samples (in [1, 10000], default 20) + + :type: int + + .. attribute:: deform_target + + How the deformation of the brush will affect the object (default ``'GEOMETRY'``) + + - ``GEOMETRY`` + Geometry -- Brush deformation displaces the vertices of the mesh. + - ``CLOTH_SIM`` + Cloth Simulation -- Brush deforms the mesh by deforming the constraints of a cloth simulation. + + :type: Literal['GEOMETRY', 'CLOTH_SIM'] + + .. attribute:: density + + Amount of random elements that are going to be affected by the brush (in [0, 1], default 0.0) + + :type: float + + .. attribute:: direction + + (default ``'ADD'``) + + - ``ADD`` + Add -- Add effect of brush. + - ``SUBTRACT`` + Subtract -- Subtract effect of brush. + + :type: Literal['ADD', 'SUBTRACT'] + + .. attribute:: disconnected_distance_max + + Maximum distance to search for disconnected loose parts in the mesh (in [0, 10], default 0.1) + + :type: float + + .. attribute:: elastic_deform_type + + Deformation type that is used in the brush (default ``'GRAB'``) + + :type: Literal['GRAB', 'GRAB_BISCALE', 'GRAB_TRISCALE', 'SCALE', 'TWIST'] + + .. attribute:: elastic_deform_volume_preservation + + Poisson ratio for elastic deformation. Higher values preserve volume more, but also lead to more bulging. (in [0, 0.9], default 0.0) + + :type: float + + .. attribute:: falloff_angle + + Paint most on faces pointing towards the view according to this angle (in [0, 1.5708], default 0.0) + + :type: float + + .. attribute:: falloff_shape + + Use projected or spherical falloff (default ``'SPHERE'``) + + - ``SPHERE`` + Sphere -- Apply brush influence in a Sphere, outwards from the center. + - ``PROJECTED`` + Projected -- Apply brush influence in a 2D circle, projected from the view. + + :type: Literal['SPHERE', 'PROJECTED'] + + .. attribute:: fill_threshold + + Threshold above which filling is not propagated (in [0, 100], default 0.2) + + :type: float + + .. attribute:: flow + + Amount of paint that is applied per stroke sample (in [0, 1], default 0.0) + + :type: float + + .. attribute:: gpencil_brush_type + + (default ``'DRAW'``) + + :type: Literal[:ref:`rna_enum_brush_gpencil_types_items`] + + .. attribute:: gpencil_sculpt_brush_type + + (default ``'SMOOTH'``) + + :type: Literal[:ref:`rna_enum_brush_gpencil_sculpt_types_items`] + + .. data:: gpencil_settings + + (readonly) + + :type: :class:`BrushGpencilSettings` | None + + .. attribute:: gpencil_vertex_brush_type + + (default ``'DRAW'``) + + :type: Literal[:ref:`rna_enum_brush_gpencil_vertex_types_items`] + + .. attribute:: gpencil_weight_brush_type + + (default ``'WEIGHT'``) + + :type: Literal[:ref:`rna_enum_brush_gpencil_weight_types_items`] + + .. attribute:: grad_spacing + + Spacing before brush gradient goes full circle (in [1, 10000], default 0) + + :type: int + + .. data:: gradient + + (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: gradient_fill_mode + + (default ``'LINEAR'``) + + :type: Literal['LINEAR', 'RADIAL'] + + .. attribute:: gradient_stroke_mode + + (default ``'PRESSURE'``) + + :type: Literal['PRESSURE', 'SPACING_REPEAT', 'SPACING_CLAMP'] + + .. attribute:: hardness + + How close the brush falloff starts from the edge of the brush (in [0, 1], default 0.0) + + :type: float + + .. data:: has_unsaved_changes + + Indicates that there are any user visible changes since the brush has been imported or read from the file (default False, readonly) + + :type: bool + + .. attribute:: height + + Affectable height of brush (i.e. the layer height for the layer tool) (in [0, 1], default 0.5) + + :type: float + + .. attribute:: hue_jitter + + Color jitter effect on hue (in [0, 1], default 0.0) + + :type: float + + .. attribute:: image_brush_type + + (default ``'DRAW'``) + + :type: Literal[:ref:`rna_enum_brush_image_brush_type_items`] + + .. data:: image_paint_capabilities + + (readonly, never None) + + :type: :class:`BrushCapabilitiesImagePaint` + + .. attribute:: input_samples + + Number of input samples to average together to smooth the brush stroke (in [1, 64], default 1) + + :type: int + + .. attribute:: invert_density_pressure + + Invert the modulation of pressure in density (default False) + + :type: bool + + .. attribute:: invert_flow_pressure + + Invert the modulation of pressure in flow (default False) + + :type: bool + + .. attribute:: invert_hardness_pressure + + Invert the modulation of pressure in hardness (default False) + + :type: bool + + .. attribute:: invert_to_scrape_fill + + Use Scrape or Fill brush when inverting this brush instead of inverting its displacement direction (default False) + + :type: bool + + .. attribute:: invert_wet_mix_pressure + + Invert the modulation of pressure in wet mix (default False) + + :type: bool + + .. attribute:: invert_wet_persistence_pressure + + Invert the modulation of pressure in wet persistence (default False) + + :type: bool + + .. attribute:: jitter + + Jitter the position of the brush while painting (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: jitter_absolute + + Jitter the position of the brush in pixels while painting (in [0, 1000000], default 0) + + :type: int + + .. attribute:: jitter_unit + + Jitter in screen space or relative to brush size (default ``'VIEW'``) + + - ``VIEW`` + View -- Jittering happens in screen space, in pixels. + - ``BRUSH`` + Brush -- Jittering happens relative to the brush size. + + :type: Literal['VIEW', 'BRUSH'] + + .. attribute:: mask_overlay_alpha + + (in [0, 100], default 33) + + :type: int + + .. attribute:: mask_stencil_dimension + + Dimensions of mask stencil in viewport (array of 2 items, in [-inf, inf], default (256.0, 256.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: mask_stencil_pos + + Position of mask stencil in viewport (array of 2 items, in [-inf, inf], default (256.0, 256.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: mask_texture + + :type: :class:`Texture` | None + + .. data:: mask_texture_slot + + (readonly) + + :type: :class:`BrushTextureSlot` | None + + .. attribute:: mask_tool + + (default ``'DRAW'``) + + :type: Literal['DRAW', 'SMOOTH'] + + .. attribute:: multiplane_scrape_angle + + Angle between the planes of the crease (in [0, 160], default 0.0) + + :type: float + + .. attribute:: normal_radius_factor + + Ratio between the brush radius and the radius that is going to be used to sample the normal (in [0, 2], default 0.5) + + :type: float + + .. attribute:: normal_weight + + How much grab will pull vertices out of surface during a grab (in [0, 1], default 0.0) + + :type: float + + .. attribute:: paint_curve + + Active paint curve + + :type: :class:`PaintCurve` | None + + .. attribute:: plane_depth + + The maximum distance below the plane for affected vertices. Increasing the depth affects vertices farther below the plane. (in [0, 1], default 0.0) + + :type: float + + .. attribute:: plane_height + + The maximum distance above the plane for affected vertices. Increasing the height affects vertices farther above the plane. (in [0, 1], default 1.0) + + :type: float + + .. attribute:: plane_inversion_mode + + Inversion Mode (default ``'INVERT_DISPLACEMENT'``) + + - ``INVERT_DISPLACEMENT`` + Invert Displacement -- Displace the vertices away from the plane.. + - ``SWAP_DEPTH_AND_HEIGHT`` + Swap Height and Depth -- Swap the roles of Height and Depth.. + + :type: Literal['INVERT_DISPLACEMENT', 'SWAP_DEPTH_AND_HEIGHT'] + + .. attribute:: plane_offset + + Adjust plane on which the brush acts towards or away from the object surface (in [-2, 2], default 0.0) + + :type: float + + .. attribute:: plane_trim + + If a vertex is further away from offset plane than this, then it is not affected (in [0, 1], default 0.5) + + :type: float + + .. attribute:: pose_deform_type + + Deformation type that is used in the brush (default ``'ROTATE_TWIST'``) + + :type: Literal['ROTATE_TWIST', 'SCALE_TRANSLATE', 'SQUASH_STRETCH'] + + .. attribute:: pose_ik_segments + + Number of segments of the inverse kinematics chain that will deform the mesh (in [1, 20], default 1) + + :type: int + + .. attribute:: pose_offset + + Offset of the pose origin in relation to the brush radius (in [0, 2], default 0.0) + + :type: float + + .. attribute:: pose_origin_type + + Method to set the rotation origins for the segments of the brush (default ``'TOPOLOGY'``) + + - ``TOPOLOGY`` + Topology -- Sets the rotation origin automatically using the topology and shape of the mesh as a guide. + - ``FACE_SETS`` + Face Sets -- Creates a pose segment per face set, starting from the active face set. + - ``FACE_SETS_FK`` + Face Sets FK -- Simulates an FK deformation using the face set under the cursor as control. + + :type: Literal['TOPOLOGY', 'FACE_SETS', 'FACE_SETS_FK'] + + .. attribute:: pose_smooth_iterations + + Smooth iterations applied after calculating the pose factor of each vertex (in [0, 100], default 4) + + :type: int + + .. attribute:: rake_factor + + How much grab will follow cursor rotation (in [0, 10], default 0.0) + + :type: float + + .. attribute:: rate + + Interval between paints for Airbrush (in [0.0001, 10000], default 0.1) + + :type: float + + .. attribute:: saturation_jitter + + Color jitter effect on saturation (in [0, 1], default 0.0) + + :type: float + + .. attribute:: sculpt_brush_type + + (default ``'DRAW'``) + + :type: Literal[:ref:`rna_enum_brush_sculpt_brush_type_items`] + + .. data:: sculpt_capabilities + + (readonly, never None) + + :type: :class:`BrushCapabilitiesSculpt` + + .. attribute:: sculpt_plane + + (default ``'AREA'``) + + :type: Literal['AREA', 'VIEW', 'X', 'Y', 'Z'] + + .. attribute:: secondary_color + + (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: sharp_threshold + + Threshold below which, no sharpening is done (in [0, 100], default 0.0) + + :type: float + + .. attribute:: show_multiplane_scrape_planes_preview + + Preview the scrape planes in the cursor during the stroke (default False) + + :type: bool + + .. attribute:: size + + Diameter of the brush in pixels (in [1, 10000], default 70) + + :type: int + + .. attribute:: slide_deform_type + + Deformation type that is used in the brush (default ``'DRAG'``) + + :type: Literal['DRAG', 'PINCH', 'EXPAND'] + + .. attribute:: smear_deform_type + + Deformation type that is used in the brush (default ``'DRAG'``) + + :type: Literal['DRAG', 'PINCH', 'EXPAND'] + + .. attribute:: smooth_deform_type + + Deformation type that is used in the brush (default ``'LAPLACIAN'``) + + - ``LAPLACIAN`` + Laplacian -- Smooths the surface and the volume. + - ``SURFACE`` + Surface -- Smooths the surface of the mesh, preserving the volume. + + :type: Literal['LAPLACIAN', 'SURFACE'] + + .. attribute:: smooth_stroke_factor + + Higher values give a smoother stroke (in [0.5, 0.99], default 0.9) + + :type: float + + .. attribute:: smooth_stroke_radius + + Minimum distance from last point before stroke continues (in [10, 200], default 75) + + :type: int + + .. attribute:: snake_hook_deform_type + + Deformation type that is used in the brush (default ``'FALLOFF'``) + + - ``FALLOFF`` + Radius Falloff -- Applies the brush falloff in the tip of the brush. + - ``ELASTIC`` + Elastic -- Modifies the entire mesh using elastic deform. + + :type: Literal['FALLOFF', 'ELASTIC'] + + .. attribute:: spacing + + Spacing between brush daubs as a percentage of brush diameter (in [1, 1000], default 10) + + :type: int + + .. attribute:: stabilize_normal + + How stable the plane normal is over the course of the stroke. A value of 0 corresponds to using the current normal, and a value of 1 corresponds to using the initial normal. (in [0, 1], default 0.0) + + :type: float + + .. attribute:: stabilize_plane + + How stable the plane center is over the course of the stroke. A value of 0 corresponds to using the current center, and a value of 1 corresponds to using the initial center. (in [0, 1], default 0.0) + + :type: float + + .. attribute:: stencil_dimension + + Dimensions of stencil in viewport (array of 2 items, in [-inf, inf], default (256.0, 256.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: stencil_pos + + Position of stencil in viewport (array of 2 items, in [-inf, inf], default (256.0, 256.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: strength + + How powerful the effect of the brush is when applied (in [0, 10], default 1.0) + + :type: float + + .. attribute:: stroke_method + + (default ``'DOTS'``) + + - ``DOTS`` + Dots -- Apply paint on each mouse move step. + - ``DRAG_DOT`` + Drag Dot -- Allows a single dot to be carefully positioned. + - ``SPACE`` + Space -- Limit brush application to the distance specified by spacing. + - ``AIRBRUSH`` + Airbrush -- Keep applying paint effect while holding mouse (spray). + - ``ANCHORED`` + Anchored -- Keep the brush anchored to the initial location. + - ``LINE`` + Line -- Draw a line with dabs separated according to spacing. + - ``CURVE`` + Curve -- Define the stroke curve with a Bézier curve (dabs are separated according to spacing). + + :type: Literal['DOTS', 'DRAG_DOT', 'SPACE', 'AIRBRUSH', 'ANCHORED', 'LINE', 'CURVE'] + + .. attribute:: surface_smooth_current_vertex + + How much the position of each individual vertex influences the final result (in [0, 1], default 0.0) + + :type: float + + .. attribute:: surface_smooth_iterations + + Number of smoothing iterations per brush step (in [1, 10], default 0) + + :type: int + + .. attribute:: surface_smooth_shape_preservation + + How much of the original shape is preserved when smoothing (in [0, 1], default 0.0) + + :type: float + + .. attribute:: texture + + :type: :class:`Texture` | None + + .. attribute:: texture_overlay_alpha + + (in [0, 100], default 33) + + :type: int + + .. attribute:: texture_sample_bias + + Value added to texture samples (in [-1, 1], default 0.0) + + :type: float + + .. data:: texture_slot + + (readonly) + + :type: :class:`BrushTextureSlot` | None + + .. attribute:: tilt_strength_factor + + How much the tilt of the pen will affect the brush. Negative values indicate inverting the tilt directions. (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: tip_roundness + + Roundness of the brush tip (in [0, 1], default 1.0) + + :type: float + + .. attribute:: tip_scale_x + + Scale of the brush tip in the X axis (in [0.0001, 1], default 1.0) + + :type: float + + .. attribute:: topology_rake_factor + + Automatically align edges to the brush direction to generate cleaner topology and define sharp features. Best used on low-poly meshes as it has a performance impact. (in [0, 1], default 0.0) + + :type: float + + .. attribute:: unprojected_size + + Diameter of brush in Blender units (in [0.001, inf], default 0.1) + + :type: float + + .. attribute:: use_accumulate + + Accumulate stroke daubs on top of each other (default False) + + :type: bool + + .. attribute:: use_adaptive_space + + Space daubs according to surface orientation instead of screen space (default False) + + :type: bool + + .. attribute:: use_alpha + + When this is disabled, lock alpha while painting (default True) + + :type: bool + + .. attribute:: use_automasking_boundary_edges + + Do not affect non manifold boundary edges (default False) + + :type: bool + + .. attribute:: use_automasking_boundary_face_sets + + Do not affect vertices that belong to a face set boundary (default False) + + :type: bool + + .. attribute:: use_automasking_cavity + + Do not affect vertices on peaks, based on the surface curvature (default False) + + :type: bool + + .. attribute:: use_automasking_cavity_inverted + + Do not affect vertices within crevices, based on the surface curvature (default False) + + :type: bool + + .. attribute:: use_automasking_custom_cavity_curve + + Use custom curve (default False) + + :type: bool + + .. attribute:: use_automasking_face_sets + + Affect only vertices that share face sets with the active vertex (default False) + + :type: bool + + .. attribute:: use_automasking_start_normal + + Affect only vertices with a similar normal to where the stroke starts (default False) + + :type: bool + + .. attribute:: use_automasking_topology + + Affect only vertices connected to the active vertex under the brush (default False) + + :type: bool + + .. attribute:: use_automasking_view_normal + + Affect only vertices with a normal that faces the viewer (default False) + + :type: bool + + .. attribute:: use_automasking_view_occlusion + + Only affect vertices that are not occluded by other faces (slower performance) (default False) + + :type: bool + + .. attribute:: use_cloth_collision + + Collide with objects during the simulation (default False) + + :type: bool + + .. attribute:: use_cloth_pin_simulation_boundary + + Lock the position of the vertices in the simulation falloff area to avoid artifacts and create a softer transition with unaffected areas (default False) + + :type: bool + + .. attribute:: use_color_as_displacement + + Handle each pixel color as individual vector for displacement (area plane mapping only) (default False) + + :type: bool + + .. attribute:: use_color_jitter + + Jitter brush color (default False) + + :type: bool + + .. attribute:: use_connected_only + + Affect only topologically connected elements (default False) + + :type: bool + + .. attribute:: use_cursor_overlay + + Show cursor in viewport (default False) + + :type: bool + + .. attribute:: use_cursor_overlay_override + + Don't show overlay during a stroke (default False) + + :type: bool + + .. attribute:: use_density_pressure + + Use pressure to modulate density (default False) + + :type: bool + + .. attribute:: use_edge_to_edge + + Drag anchor brush from edge-to-edge (default False) + + :type: bool + + .. attribute:: use_flow_pressure + + Use pressure to modulate flow (default False) + + :type: bool + + .. attribute:: use_frontface + + Brush only affects vertices that face the viewer (default False) + + :type: bool + + .. attribute:: use_frontface_falloff + + Blend brush influence by how much they face the front (default False) + + :type: bool + + .. attribute:: use_grab_active_vertex + + Apply the maximum grab strength to the active vertex instead of the cursor location (default False) + + :type: bool + + .. attribute:: use_grab_silhouette + + Grabs trying to automask the silhouette of the object (default False) + + :type: bool + + .. attribute:: use_hardness_pressure + + Use pressure to modulate hardness (default False) + + :type: bool + + .. attribute:: use_inverse_smooth_pressure + + Lighter pressure causes more smoothing to be applied (default False) + + :type: bool + + .. attribute:: use_locked_size + + Measure brush size relative to the view or the scene (default ``'VIEW'``) + + - ``VIEW`` + View -- Measure brush size relative to the view. + - ``SCENE`` + Scene -- Measure brush size relative to the scene. + + :type: Literal['VIEW', 'SCENE'] + + .. attribute:: use_multiplane_scrape_dynamic + + The angle between the planes changes during the stroke to fit the surface under the cursor (default False) + + :type: bool + + .. attribute:: use_offset_pressure + + Enable tablet pressure sensitivity for offset (default False) + + :type: bool + + .. attribute:: use_original_normal + + When locked keep using normal of surface where stroke was initiated (default False) + + :type: bool + + .. attribute:: use_original_plane + + When locked keep using the plane origin of surface where stroke was initiated (default False) + + :type: bool + + .. attribute:: use_paint_antialiasing + + Smooths the edges of the strokes (default True) + + :type: bool + + .. attribute:: use_paint_grease_pencil + + Use this brush in Grease Pencil drawing mode (default False) + + :type: bool + + .. attribute:: use_paint_image + + Use this brush in texture paint mode (default True) + + :type: bool + + .. attribute:: use_paint_sculpt + + Use this brush in sculpt mode (default True) + + :type: bool + + .. attribute:: use_paint_sculpt_curves + + Use this brush in sculpt curves mode (default False) + + :type: bool + + .. attribute:: use_paint_uv_sculpt + + Use this brush in UV sculpt mode (default False) + + :type: bool + + .. attribute:: use_paint_vertex + + Use this brush in vertex paint mode (default True) + + :type: bool + + .. attribute:: use_paint_weight + + Use this brush in weight paint mode (default True) + + :type: bool + + .. attribute:: use_persistent + + Sculpt on a persistent layer of the mesh (default False) + + :type: bool + + .. attribute:: use_plane_trim + + Limit the distance from the offset plane that a vertex can be affected (default False) + + :type: bool + + .. attribute:: use_pose_ik_anchored + + Keep the position of the last segment in the IK chain fixed (default False) + + :type: bool + + .. attribute:: use_pose_lock_rotation + + Do not rotate the segment when using the scale deform mode (default False) + + :type: bool + + .. attribute:: use_pressure_area_radius + + Enable tablet pressure sensitivity for area radius (default False) + + :type: bool + + .. attribute:: use_pressure_jitter + + Enable tablet pressure sensitivity for jitter (default False) + + :type: bool + + .. attribute:: use_pressure_masking + + Pen pressure makes texture influence smaller (default ``'NONE'``) + + :type: Literal['NONE', 'RAMP', 'CUTOFF'] + + .. attribute:: use_pressure_size + + Enable tablet pressure sensitivity for size (default False) + + :type: bool + + .. attribute:: use_pressure_spacing + + Enable tablet pressure sensitivity for spacing (default False) + + :type: bool + + .. attribute:: use_pressure_strength + + Enable tablet pressure sensitivity for strength (default True) + + :type: bool + + .. attribute:: use_primary_overlay + + Show texture in viewport (default False) + + :type: bool + + .. attribute:: use_primary_overlay_override + + Don't show overlay during a stroke (default False) + + :type: bool + + .. attribute:: use_random_press_hue + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_random_press_sat + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_random_press_val + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_scene_spacing + + Calculate the brush spacing using view or scene distance (default ``'VIEW'``) + + - ``VIEW`` + View -- Calculate brush spacing relative to the view. + - ``SCENE`` + Scene -- Calculate brush spacing relative to the scene using the stroke location. + + :type: Literal['VIEW', 'SCENE'] + + .. attribute:: use_secondary_overlay + + Show texture in viewport (default False) + + :type: bool + + .. attribute:: use_secondary_overlay_override + + Don't show overlay during a stroke (default False) + + :type: bool + + .. attribute:: use_smooth_stroke + + Brush lags behind mouse and follows a smoother path (default False) + + :type: bool + + .. attribute:: use_space_attenuation + + Automatically adjust strength to give consistent results for different spacings (default True) + + :type: bool + + .. attribute:: use_stroke_random_hue + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_stroke_random_sat + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_stroke_random_val + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_vertex_grease_pencil + + Use this brush in Grease Pencil vertex color mode (default False) + + :type: bool + + .. attribute:: use_wet_mix_pressure + + Use pressure to modulate wet mix (default False) + + :type: bool + + .. attribute:: use_wet_persistence_pressure + + Use pressure to modulate wet persistence (default False) + + :type: bool + + .. attribute:: value_jitter + + Color jitter effect on value (in [0, 1], default 0.0) + + :type: float + + .. attribute:: vertex_brush_type + + (default ``'DRAW'``) + + :type: Literal[:ref:`rna_enum_brush_vertex_brush_type_items`] + + .. data:: vertex_paint_capabilities + + (readonly, never None) + + :type: :class:`BrushCapabilitiesVertexPaint` + + .. attribute:: weight + + Vertex weight when brush is applied (in [0, 1], default 1.0) + + :type: float + + .. attribute:: weight_brush_type + + (default ``'DRAW'``) + + :type: Literal[:ref:`rna_enum_brush_weight_brush_type_items`] + + .. data:: weight_paint_capabilities + + (readonly, never None) + + :type: :class:`BrushCapabilitiesWeightPaint` + + .. attribute:: wet_mix + + Amount of paint that is picked from the surface into the brush color (in [0, 1], default 0.0) + + :type: float + + .. attribute:: wet_paint_radius_factor + + Ratio between the brush radius and the radius that is going to be used to sample the color to blend in wet paint (in [0, 2], default 0.5) + + :type: float + + .. attribute:: wet_persistence + + Amount of wet paint that stays in the brush after applying paint to the surface (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.brush` + - :class:`BlendData.brushes` + - :class:`BlendDataBrushes.create_gpencil_data` + - :class:`BlendDataBrushes.new` + - :class:`BlendDataBrushes.remove` + - :class:`Paint.brush` + - :class:`Paint.eraser_brush` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilities.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilities.rst new file mode 100644 index 0000000..bc450bb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilities.rst @@ -0,0 +1,102 @@ +BrushCapabilities(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BrushCapabilities(bpy_struct) + + Read-only indications of supported operations + + .. data:: has_overlay + + (default False, readonly) + + :type: bool + + .. data:: has_random_texture_angle + + (default False, readonly) + + :type: bool + + .. data:: has_smooth_stroke + + (default False, readonly) + + :type: bool + + .. data:: has_spacing + + (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Brush.brush_capabilities` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesImagePaint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesImagePaint.rst new file mode 100644 index 0000000..a290b3f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesImagePaint.rst @@ -0,0 +1,102 @@ +BrushCapabilitiesImagePaint(bpy_struct) +======================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BrushCapabilitiesImagePaint(bpy_struct) + + Read-only indications of supported operations + + .. data:: has_accumulate + + (default False, readonly) + + :type: bool + + .. data:: has_color + + (default False, readonly) + + :type: bool + + .. data:: has_radius + + (default False, readonly) + + :type: bool + + .. data:: has_space_attenuation + + (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Brush.image_paint_capabilities` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesSculpt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesSculpt.rst new file mode 100644 index 0000000..6a7ca64 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesSculpt.rst @@ -0,0 +1,246 @@ +BrushCapabilitiesSculpt(bpy_struct) +=================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BrushCapabilitiesSculpt(bpy_struct) + + Read-only indications of which brush operations are supported by the current sculpt tool + + .. data:: has_accumulate + + (default False, readonly) + + :type: bool + + .. data:: has_auto_smooth + + (default False, readonly) + + :type: bool + + .. data:: has_auto_smooth_pressure + + (default False, readonly) + + :type: bool + + .. data:: has_color + + (default False, readonly) + + :type: bool + + .. data:: has_direction + + (default False, readonly) + + :type: bool + + .. data:: has_dyntopo + + (default False, readonly) + + :type: bool + + .. data:: has_gravity + + (default False, readonly) + + :type: bool + + .. data:: has_hardness + + (default False, readonly) + + :type: bool + + .. data:: has_hardness_pressure + + (default False, readonly) + + :type: bool + + .. data:: has_height + + (default False, readonly) + + :type: bool + + .. data:: has_jitter + + (default False, readonly) + + :type: bool + + .. data:: has_normal_radius + + (default False, readonly) + + :type: bool + + .. data:: has_normal_weight + + (default False, readonly) + + :type: bool + + .. data:: has_persistence + + (default False, readonly) + + :type: bool + + .. data:: has_pinch_factor + + (default False, readonly) + + :type: bool + + .. data:: has_plane_depth + + (default False, readonly) + + :type: bool + + .. data:: has_plane_height + + (default False, readonly) + + :type: bool + + .. data:: has_plane_offset + + (default False, readonly) + + :type: bool + + .. data:: has_rake_factor + + (default False, readonly) + + :type: bool + + .. data:: has_random_texture_angle + + (default False, readonly) + + :type: bool + + .. data:: has_sculpt_plane + + (default False, readonly) + + :type: bool + + .. data:: has_secondary_color + + (default False, readonly) + + :type: bool + + .. data:: has_size_pressure + + (default False, readonly) + + :type: bool + + .. data:: has_smooth_stroke + + (default False, readonly) + + :type: bool + + .. data:: has_space_attenuation + + (default False, readonly) + + :type: bool + + .. data:: has_strength_pressure + + (default False, readonly) + + :type: bool + + .. data:: has_tilt + + (default False, readonly) + + :type: bool + + .. data:: has_topology_rake + + (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Brush.sculpt_capabilities` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesVertexPaint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesVertexPaint.rst new file mode 100644 index 0000000..07ef8f9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesVertexPaint.rst @@ -0,0 +1,84 @@ +BrushCapabilitiesVertexPaint(bpy_struct) +======================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BrushCapabilitiesVertexPaint(bpy_struct) + + Read-only indications of supported operations + + .. data:: has_color + + (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Brush.vertex_paint_capabilities` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesWeightPaint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesWeightPaint.rst new file mode 100644 index 0000000..acd8e23 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCapabilitiesWeightPaint.rst @@ -0,0 +1,84 @@ +BrushCapabilitiesWeightPaint(bpy_struct) +======================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BrushCapabilitiesWeightPaint(bpy_struct) + + Read-only indications of supported operations + + .. data:: has_weight + + (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Brush.weight_paint_capabilities` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCurvesSculptSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCurvesSculptSettings.rst new file mode 100644 index 0000000..688497f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushCurvesSculptSettings.rst @@ -0,0 +1,168 @@ +BrushCurvesSculptSettings(bpy_struct) +===================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BrushCurvesSculptSettings(bpy_struct) + + + .. attribute:: add_amount + + Number of curves added by the Add brush (in [1, inf], default 0) + + :type: int + + .. attribute:: curve_length + + Length of newly added curves when it is not interpolated from other curves (in [0, inf], default 0.0) + + :type: float + + .. data:: curve_parameter_falloff + + Falloff that is applied from the tip to the root of each curve (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: curve_radius + + Radius of newly added curves when it is not interpolated from other curves (in [0, inf], default 0.01) + + :type: float + + .. attribute:: density_add_attempts + + How many times the Density brush tries to add a new curve (in [0, inf], default 0) + + :type: int + + .. attribute:: density_mode + + Determines whether the brush adds or removes curves (default ``'AUTO'``) + + - ``AUTO`` + Auto -- Either add or remove curves depending on the minimum distance of the curves under the cursor. + - ``ADD`` + Add -- Add new curves between existing curves, taking the minimum distance into account. + - ``REMOVE`` + Remove -- Remove curves whose root points are too close. + + :type: Literal['AUTO', 'ADD', 'REMOVE'] + + .. attribute:: minimum_distance + + Goal distance between curve roots for the Density brush (in [0, inf], default 0.0) + + :type: float + + .. attribute:: minimum_length + + Avoid shrinking curves shorter than this length (in [0, inf], default 0.0) + + :type: float + + .. attribute:: points_per_curve + + Number of control points in a newly added curve (in [2, inf], default 0) + + :type: int + + .. attribute:: use_length_interpolate + + Use length of the curves in close proximity (default False) + + :type: bool + + .. attribute:: use_point_count_interpolate + + Use the number of points from the curves in close proximity (default False) + + :type: bool + + .. attribute:: use_radius_interpolate + + Use radius of the curves in close proximity (default True) + + :type: bool + + .. attribute:: use_shape_interpolate + + Use shape of the curves in close proximity (default False) + + :type: bool + + .. attribute:: use_uniform_scale + + Grow or shrink curves by changing their size uniformly instead of using trimming or extrapolation (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Brush.curves_sculpt_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushGpencilSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushGpencilSettings.rst new file mode 100644 index 0000000..f2988a1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushGpencilSettings.rst @@ -0,0 +1,633 @@ +BrushGpencilSettings(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: BrushGpencilSettings(bpy_struct) + + Settings for Grease Pencil brush + + .. attribute:: active_smooth_factor + + Amount of smoothing while drawing (in [0, 1], default 0.0) + + :type: float + + .. attribute:: angle + + Direction of the stroke at which brush gives maximal thickness (0° for horizontal) (in [-1.5708, 1.5708], default 0.0) + + :type: float + + .. attribute:: angle_factor + + Reduce brush thickness by this factor when stroke is perpendicular to 'Angle' direction (in [0, 1], default 0.0) + + :type: float + + .. attribute:: aspect + + (array of 2 items, in [0.01, 1], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: brush_draw_mode + + Preselected mode when using this brush (default ``'ACTIVE'``) + + - ``ACTIVE`` + Active -- Use current mode. + - ``MATERIAL`` + Material -- Use always material mode. + - ``VERTEXCOLOR`` + Vertex Color -- Use always Vertex Color mode. + + :type: Literal['ACTIVE', 'MATERIAL', 'VERTEXCOLOR'] + + .. attribute:: caps_type + + The shape of the start and end of the stroke (default ``'ROUND'``) + + :type: Literal['ROUND', 'FLAT'] + + .. data:: curve_jitter + + Curve used for the jitter effect (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_random_hue + + Curve used for modulating effect (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_random_pressure + + Curve used for modulating effect (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_random_saturation + + Curve used for modulating effect (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_random_strength + + Curve used for modulating effect (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_random_uv + + Curve used for modulating effect (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_random_value + + Curve used for modulating effect (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_sensitivity + + Curve used for the sensitivity (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: curve_strength + + Curve used for the strength (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: dilate + + Number of pixels to expand or contract fill area (in [-40, 40], default 1) + + :type: int + + .. attribute:: eraser_mode + + Eraser Mode (default ``'SOFT'``) + + - ``SOFT`` + Dissolve -- Erase strokes, fading their points strength and thickness. + - ``HARD`` + Point -- Erase stroke points. + - ``STROKE`` + Stroke -- Erase entire strokes. + + :type: Literal['SOFT', 'HARD', 'STROKE'] + + .. attribute:: eraser_strength_factor + + Amount of erasing for strength (in [0, 100], default 0.0) + + :type: float + + .. attribute:: eraser_thickness_factor + + Amount of erasing for thickness (in [0, 100], default 0.0) + + :type: float + + .. attribute:: extend_stroke_factor + + Strokes end extension for closing gaps, use zero to disable (in [0, 10], default 0.0) + + :type: float + + .. attribute:: fill_direction + + Direction of the fill (default ``'NORMAL'``) + + - ``NORMAL`` + Normal -- Fill internal area. + - ``INVERT`` + Inverted -- Fill inverted area. + + :type: Literal['NORMAL', 'INVERT'] + + .. attribute:: fill_draw_mode + + Mode to draw boundary limits (default ``'BOTH'``) + + - ``BOTH`` + All -- Use both visible strokes and edit lines as fill boundary limits. + - ``STROKE`` + Strokes -- Use visible strokes as fill boundary limits. + - ``CONTROL`` + Edit Lines -- Use edit lines as fill boundary limits. + + :type: Literal['BOTH', 'STROKE', 'CONTROL'] + + .. attribute:: fill_extend_mode + + Types of stroke extensions used for closing gaps (default ``'EXTEND'``) + + - ``EXTEND`` + Extend -- Extend strokes in straight lines. + - ``RADIUS`` + Radius -- Connect endpoints that are close together. + + :type: Literal['EXTEND', 'RADIUS'] + + .. attribute:: fill_factor + + Factor for fill boundary accuracy, higher values are more accurate but slower (in [0.05, 8], default 0.0) + + :type: float + + .. attribute:: fill_layer_mode + + Layers used as boundaries (default ``'VISIBLE'``) + + - ``VISIBLE`` + Visible -- Visible layers. + - ``ACTIVE`` + Active -- Only active layer. + - ``ABOVE`` + Layer Above -- Layer above active. + - ``BELOW`` + Layer Below -- Layer below active. + - ``ALL_ABOVE`` + All Above -- All layers above active. + - ``ALL_BELOW`` + All Below -- All layers below active. + + :type: Literal['VISIBLE', 'ACTIVE', 'ABOVE', 'BELOW', 'ALL_ABOVE', 'ALL_BELOW'] + + .. attribute:: fill_simplify_level + + Number of simplify steps (large values reduce fill accuracy) (in [0, 10], default 0) + + :type: int + + .. attribute:: fill_threshold + + Threshold to consider color transparent for filling (in [0, 1], default 0.0) + + :type: float + + .. attribute:: hardness + + Gradient from the center of Dot and Box strokes (set to 1 for a solid stroke) (in [0.001, 1], default 1.0) + + :type: float + + .. attribute:: input_samples + + Generated intermediate points for very fast mouse movements (Set to 0 to disable) (in [0, 10], default 0) + + :type: int + + .. attribute:: material + + Material used for strokes drawn using this brush + + :type: :class:`Material` | None + + .. attribute:: material_alt + + Material used for secondary uses for this brush + + :type: :class:`Material` | None + + .. attribute:: outline_thickness_factor + + Thickness of the outline stroke relative to current brush thickness (in [0, 1], default 0.0) + + :type: float + + .. attribute:: pen_jitter + + Jitter factor of brush radius for new strokes (in [0, 100], default 0.0) + + :type: float + + .. attribute:: pen_smooth_factor + + Amount of smoothing to apply after finish newly created strokes, to reduce jitter/noise (in [0, 2], default 0.0) + + :type: float + + .. attribute:: pen_smooth_steps + + Number of times to smooth newly created strokes (in [0, 100], default 0) + + :type: int + + .. attribute:: pen_strength + + Color strength for new strokes (affect alpha factor of color) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: pen_subdivision_steps + + Number of times to subdivide newly created strokes, for less jagged strokes (in [0, 3], default 0) + + :type: int + + .. attribute:: pin_draw_mode + + Pin the mode to the brush (default False) + + :type: bool + + .. attribute:: random_hue_factor + + Random factor to modify original hue (in [0, 1], default 0.0) + + :type: float + + .. attribute:: random_pressure + + Randomness factor for pressure in new strokes (in [0, 1], default 0.0) + + :type: float + + .. attribute:: random_saturation_factor + + Random factor to modify original saturation (in [0, 1], default 0.0) + + :type: float + + .. attribute:: random_strength + + Randomness factor strength in new strokes (in [0, 1], default 0.0) + + :type: float + + .. attribute:: random_value_factor + + Random factor to modify original value (in [0, 1], default 0.0) + + :type: float + + .. attribute:: show_fill + + Show transparent lines to use as boundary for filling (default True) + + :type: bool + + .. attribute:: show_fill_boundary + + Show help lines for filling to see boundaries (default True) + + :type: bool + + .. attribute:: show_fill_extend + + Show help lines for stroke extension (default True) + + :type: bool + + .. attribute:: show_lasso + + Do not display fill color while drawing the stroke (default True) + + :type: bool + + .. attribute:: simplify_factor + + Factor of Simplify using adaptive algorithm (in [0, 100], default 0.0) + + :type: float + + .. attribute:: simplify_pixel_threshold + + Threshold in screen space used for the simplify algorithm. Points within this threshold are treated as if they were in a straight line. (in [0, 10], default 0.0) + + :type: float + + .. attribute:: stroke_type + + Mode to use when creating strokes (default ``'STROKE'``) + + :type: Literal['STROKE', 'FILL', 'BOTH'] + + .. attribute:: use_active_layer_only + + Only edit the active layer of the object (default False) + + :type: bool + + .. attribute:: use_auto_remove_fill_guides + + Automatically remove fill guide strokes after fill operation (default True) + + :type: bool + + .. attribute:: use_collide_strokes + + Check if extend lines collide with strokes (default False) + + :type: bool + + .. attribute:: use_edit_position + + The brush affects the position of the point (default False) + + :type: bool + + .. attribute:: use_edit_strength + + The brush affects the color strength of the point (default False) + + :type: bool + + .. attribute:: use_edit_thickness + + The brush affects the thickness of the point (default False) + + :type: bool + + .. attribute:: use_edit_uv + + The brush affects the UV rotation of the point (default False) + + :type: bool + + .. attribute:: use_fill_limit + + Fill only visible areas in viewport (default True) + + :type: bool + + .. attribute:: use_jitter_pressure + + Use tablet pressure for jitter (default False) + + :type: bool + + .. attribute:: use_keep_caps_eraser + + Keep the caps as they are and don't flatten them when erasing (default False) + + :type: bool + + .. attribute:: use_material_pin + + Keep material assigned to brush (default False) + + :type: bool + + .. attribute:: use_occlude_eraser + + Erase only strokes visible and not occluded (default False) + + :type: bool + + .. attribute:: use_pressure + + Use tablet pressure (default False) + + :type: bool + + .. attribute:: use_random_press_hue + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_random_press_radius + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_random_press_sat + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_random_press_strength + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_random_press_uv + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_random_press_val + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_settings_outline + + Convert stroke to outline (default False) + + :type: bool + + .. attribute:: use_settings_postprocess + + Additional post processing options for new strokes (default False) + + :type: bool + + .. attribute:: use_settings_random + + Random brush settings (default False) + + :type: bool + + .. attribute:: use_settings_stabilizer + + Draw lines with a delay to allow smooth strokes (press Shift key to override while drawing) (default True) + + :type: bool + + .. attribute:: use_strength_pressure + + Use tablet pressure for color strength (default False) + + :type: bool + + .. attribute:: use_stroke_random_hue + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_stroke_random_radius + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_stroke_random_sat + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_stroke_random_strength + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_stroke_random_uv + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_stroke_random_val + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_trim + + Trim intersecting stroke ends (default False) + + :type: bool + + .. attribute:: uv_random + + Random factor for auto-generated UV rotation (in [0, 1], default 0.0) + + :type: float + + .. attribute:: vertex_color_factor + + Factor used to mix vertex color to get final color (in [0, 1], default 0.0) + + :type: float + + .. attribute:: vertex_mode + + Defines how vertex color affect to the strokes (default ``'STROKE'``) + + - ``STROKE`` + Stroke -- Vertex Color affects to Stroke only. + - ``FILL`` + Fill -- Vertex Color affects to Fill only. + - ``BOTH`` + Stroke & Fill -- Vertex Color affects to Stroke and Fill. + + :type: Literal['STROKE', 'FILL', 'BOTH'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Brush.gpencil_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushTextureSlot.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushTextureSlot.rst new file mode 100644 index 0000000..2deb6ab --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BrushTextureSlot.rst @@ -0,0 +1,143 @@ +BrushTextureSlot(TextureSlot) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`TextureSlot` + +.. class:: BrushTextureSlot(TextureSlot) + + Texture slot for textures in a Brush data-block + + .. attribute:: angle + + Brush texture rotation (in [0, 6.28319], default 0.0) + + :type: float + + .. data:: has_random_texture_angle + + (default False, readonly) + + :type: bool + + .. data:: has_texture_angle + + (default False, readonly) + + :type: bool + + .. data:: has_texture_angle_source + + (default False, readonly) + + :type: bool + + .. attribute:: map_mode + + (default ``'VIEW_PLANE'``) + + :type: Literal['VIEW_PLANE', 'AREA_PLANE', 'TILED', '3D', 'RANDOM', 'STENCIL'] + + .. attribute:: mask_map_mode + + (default ``'VIEW_PLANE'``) + + :type: Literal['VIEW_PLANE', 'TILED', 'RANDOM', 'STENCIL'] + + .. attribute:: random_angle + + Brush texture random angle (in [0, 6.28319], default 6.28319) + + :type: float + + .. attribute:: use_rake + + (default False) + + :type: bool + + .. attribute:: use_random + + (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`TextureSlot.texture` + - :class:`TextureSlot.name` + - :class:`TextureSlot.offset` + - :class:`TextureSlot.scale` + - :class:`TextureSlot.color` + - :class:`TextureSlot.blend_type` + - :class:`TextureSlot.default_value` + - :class:`TextureSlot.output_node` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`TextureSlot.bl_rna_get_subclass` + - :class:`TextureSlot.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Brush.mask_texture_slot` + - :class:`Brush.texture_slot` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BuildModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BuildModifier.rst new file mode 100644 index 0000000..fabdd9b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.BuildModifier.rst @@ -0,0 +1,115 @@ +BuildModifier(Modifier) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: BuildModifier(Modifier) + + Build effect modifier + + .. attribute:: frame_duration + + Total time the build effect requires (in [1, 1.04857e+06], default 100.0) + + :type: float + + .. attribute:: frame_start + + Start frame of the effect (in [-1.04857e+06, 1.04857e+06], default 1.0) + + :type: float + + .. attribute:: seed + + Seed for random if used (in [1, 1048574], default 0) + + :type: int + + .. attribute:: use_random_order + + Randomize the faces or edges during build (default False) + + :type: bool + + .. attribute:: use_reverse + + Deconstruct the mesh instead of building it (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteColorAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteColorAttribute.rst new file mode 100644 index 0000000..550fd6e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteColorAttribute.rst @@ -0,0 +1,84 @@ +ByteColorAttribute(Attribute) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: ByteColorAttribute(Attribute) + + Geometry attribute that stores RGBA colors as positive integer values using 8-bits per channel + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ByteColorAttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteColorAttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteColorAttributeValue.rst new file mode 100644 index 0000000..1451fdd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteColorAttributeValue.rst @@ -0,0 +1,90 @@ +ByteColorAttributeValue(bpy_struct) +=================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ByteColorAttributeValue(bpy_struct) + + Color value in geometry attribute + + .. attribute:: color + + RGBA color in scene linear color space (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: color_srgb + + RGBA color in sRGB color space (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ByteColorAttribute.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteIntAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteIntAttribute.rst new file mode 100644 index 0000000..7e68971 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteIntAttribute.rst @@ -0,0 +1,84 @@ +ByteIntAttribute(Attribute) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: ByteIntAttribute(Attribute) + + Geometry attribute that stores 8-bit integers + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ByteIntAttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteIntAttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteIntAttributeValue.rst new file mode 100644 index 0000000..a5d1cdf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ByteIntAttributeValue.rst @@ -0,0 +1,84 @@ +ByteIntAttributeValue(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ByteIntAttributeValue(bpy_struct) + + 8-bit value in geometry attribute + + .. attribute:: value + + (in [-128, 127], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ByteIntAttribute.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CLIP_UL_tracking_objects.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CLIP_UL_tracking_objects.rst new file mode 100644 index 0000000..7a45492 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CLIP_UL_tracking_objects.rst @@ -0,0 +1,92 @@ +CLIP_UL_tracking_objects(UIList) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: CLIP_UL_tracking_objects(UIList) + + + .. method:: draw_item(_context, layout, _data, item, _icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CURVES_UL_attributes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CURVES_UL_attributes.rst new file mode 100644 index 0000000..f2ba987 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CURVES_UL_attributes.rst @@ -0,0 +1,94 @@ +CURVES_UL_attributes(UIList) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: CURVES_UL_attributes(UIList) + + + .. method:: draw_item(_context, layout, _data, attribute, _icon, _active_data, _active_propname, _index) + + .. method:: filter_items(_context, data, property) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheFile.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheFile.rst new file mode 100644 index 0000000..cc09215 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheFile.rst @@ -0,0 +1,203 @@ +CacheFile(ID) +============= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: CacheFile(ID) + + + .. attribute:: active_index + + (in [0, inf], default 0) + + :type: int + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: filepath + + Path to external displacements file (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: forward_axis + + (default ``'POS_X'``) + + :type: Literal[:ref:`rna_enum_object_axis_items`] + + .. attribute:: frame + + The time to use for looking up the data in the cache file, or to determine which file to use in a file sequence (in [-1.04857e+06, 1.04857e+06], default 0.0) + + :type: float + + .. attribute:: frame_offset + + Subtracted from the current frame to use for looking up the data in the cache file, or to determine which file to use in a file sequence (in [-1.04857e+06, 1.04857e+06], default 0.0) + + :type: float + + .. attribute:: is_sequence + + Whether the cache is separated in a series of files (default False) + + :type: bool + + .. data:: layers + + Layers of the cache (default None, readonly) + + :type: :class:`CacheFileLayers`\ [:class:`CacheFileLayer`] + + .. data:: object_paths + + Paths of the objects inside the Alembic archive (default None, readonly) + + :type: :class:`CacheObjectPaths`\ [:class:`CacheObjectPath`] + + .. attribute:: override_frame + + Whether to use a custom frame for looking up data in the cache file, instead of using the current scene frame (default False) + + :type: bool + + .. attribute:: scale + + Value by which to enlarge or shrink the object with respect to the world's origin (only applicable through a Transform Cache constraint) (in [0.0001, 1000], default 1.0) + + :type: float + + .. attribute:: up_axis + + (default ``'POS_X'``) + + :type: Literal[:ref:`rna_enum_object_axis_items`] + + .. attribute:: velocity_name + + Name of the Alembic attribute used for generating motion blur data (default "", never None) + + :type: str + + .. attribute:: velocity_unit + + Define how the velocity vectors are interpreted with regard to time, 'frame' means the delta time is 1 frame, 'second' means the delta time is 1 / FPS (default ``'FRAME'``) + + :type: Literal[:ref:`rna_enum_velocity_unit_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.cache_files` + - :class:`MeshSequenceCacheModifier.cache_file` + - :class:`TransformCacheConstraint.cache_file` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheFileLayer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheFileLayer.rst new file mode 100644 index 0000000..cc1e4fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheFileLayer.rst @@ -0,0 +1,93 @@ +CacheFileLayer(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CacheFileLayer(bpy_struct) + + Layer of the cache, used to load or override data from the first the first layer + + .. attribute:: filepath + + Path to the archive (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: hide_layer + + Do not load data from this layer (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CacheFile.layers` + - :class:`CacheFileLayers.active` + - :class:`CacheFileLayers.new` + - :class:`CacheFileLayers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheFileLayers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheFileLayers.rst new file mode 100644 index 0000000..9ef6054 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheFileLayers.rst @@ -0,0 +1,100 @@ +CacheFileLayers(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: CacheFileLayers(bpy_prop_collection) + + Collection of cache layers + + .. attribute:: active + + Active layer of the CacheFile + + :type: :class:`CacheFileLayer` | None + + .. method:: new(filepath) + + Add a new layer + + :param filepath: File path to the archive used as a layer (never None) + :type filepath: str + :return: Newly created layer + :rtype: :class:`CacheFileLayer` + + .. method:: remove(layer) + + Remove an existing layer from the cache file + + :param layer: Layer to remove (never None) + :type layer: :class:`CacheFileLayer` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CacheFile.layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheObjectPath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheObjectPath.rst new file mode 100644 index 0000000..9554905 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheObjectPath.rst @@ -0,0 +1,84 @@ +CacheObjectPath(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CacheObjectPath(bpy_struct) + + Path of an object inside of an Alembic archive + + .. attribute:: path + + Object path (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CacheFile.object_paths` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheObjectPaths.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheObjectPaths.rst new file mode 100644 index 0000000..cd83f53 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CacheObjectPaths.rst @@ -0,0 +1,79 @@ +CacheObjectPaths(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: CacheObjectPaths(bpy_prop_collection) + + Collection of object paths + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CacheFile.active_index` + - :class:`CacheFile.object_paths` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Camera.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Camera.rst new file mode 100644 index 0000000..d1f64ba --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Camera.rst @@ -0,0 +1,525 @@ +Camera(ID) +========== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Camera(ID) + + Camera data-block for storing camera settings + + .. attribute:: angle + + Camera lens field of view (in [0.00640536, 3.01675], default 0.69115) + + :type: float + + .. attribute:: angle_x + + Camera lens horizontal field of view (in [0.00640536, 3.01675], default 0.0) + + :type: float + + .. attribute:: angle_y + + Camera lens vertical field of view (in [0.00640536, 3.01675], default 0.0) + + :type: float + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. data:: background_images + + List of background images (default None, readonly) + + :type: :class:`CameraBackgroundImages`\ [:class:`CameraBackgroundImage`] + + .. attribute:: central_cylindrical_radius + + Radius of the virtual cylinder (in [1e-05, inf], default 1.0) + + :type: float + + .. attribute:: central_cylindrical_range_u_max + + Maximum Longitude value for the central cylindrical lens (in [-inf, inf], default 3.14159) + + :type: float + + .. attribute:: central_cylindrical_range_u_min + + Minimum Longitude value for the central cylindrical lens (in [-inf, inf], default -3.14159) + + :type: float + + .. attribute:: central_cylindrical_range_v_max + + Maximum Height value for the central cylindrical lens (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: central_cylindrical_range_v_min + + Minimum Height value for the central cylindrical lens (in [-inf, inf], default -1.0) + + :type: float + + .. attribute:: clip_end + + Camera far clipping distance (in [1e-06, inf], default 1000.0) + + :type: float + + .. attribute:: clip_start + + Camera near clipping distance (in [1e-06, inf], default 0.1) + + :type: float + + .. attribute:: composition_guide_color + + Color and alpha for compositional guide overlays (array of 4 items, in [0, inf], default (0.5, 0.5, 0.5, 1.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: custom_bytecode + + Compiled bytecode of the custom shader (default "", never None) + + :type: str + + .. attribute:: custom_bytecode_hash + + Hash of the compiled bytecode of the custom shader, for quick equality checking (default "", never None) + + :type: str + + .. attribute:: custom_filepath + + Path to the shader defining the custom camera (default "", never None) + + :type: str + + .. attribute:: custom_mode + + (default ``'INTERNAL'``) + + - ``INTERNAL`` + Internal -- Use internal text data-block. + - ``EXTERNAL`` + External -- Use external file. + + :type: Literal['INTERNAL', 'EXTERNAL'] + + .. attribute:: custom_shader + + Shader defining the custom camera + + :type: :class:`Text` | None + + .. attribute:: display_size + + Apparent size of the Camera object in the 3D View (in [0.01, 1000], default 1.0) + + :type: float + + .. data:: dof + + (readonly) + + :type: :class:`CameraDOFSettings` | None + + .. attribute:: fisheye_fov + + Field of view for the fisheye lens (in [0.1745, 31.4159], default 3.14159) + + :type: float + + .. attribute:: fisheye_lens + + Lens focal length (mm) (in [0.01, 100], default 10.5) + + :type: float + + .. attribute:: fisheye_polynomial_k0 + + Coefficient K0 of the lens polynomial (in [-inf, inf], default -1.17351e-05) + + :type: float + + .. attribute:: fisheye_polynomial_k1 + + Coefficient K1 of the lens polynomial (in [-inf, inf], default -0.0199887) + + :type: float + + .. attribute:: fisheye_polynomial_k2 + + Coefficient K2 of the lens polynomial (in [-inf, inf], default -3.3525e-06) + + :type: float + + .. attribute:: fisheye_polynomial_k3 + + Coefficient K3 of the lens polynomial (in [-inf, inf], default 3.0993e-06) + + :type: float + + .. attribute:: fisheye_polynomial_k4 + + Coefficient K4 of the lens polynomial (in [-inf, inf], default -2.61e-08) + + :type: float + + .. attribute:: latitude_max + + Maximum latitude (vertical angle) for the equirectangular lens (in [-1.5708, 1.5708], default 1.5708) + + :type: float + + .. attribute:: latitude_min + + Minimum latitude (vertical angle) for the equirectangular lens (in [-1.5708, 1.5708], default -1.5708) + + :type: float + + .. attribute:: lens + + Perspective Camera focal length value in millimeters (in [1, inf], default 50.0) + + :type: float + + .. attribute:: lens_unit + + Unit to edit lens in for the user interface (default ``'MILLIMETERS'``) + + - ``MILLIMETERS`` + Millimeters -- Specify focal length of the lens in millimeters. + - ``FOV`` + Field of View -- Specify the lens as the field of view's angle. + + :type: Literal['MILLIMETERS', 'FOV'] + + .. attribute:: longitude_max + + Maximum longitude (horizontal angle) for the equirectangular lens (in [-inf, inf], default 3.14159) + + :type: float + + .. attribute:: longitude_min + + Minimum longitude (horizontal angle) for the equirectangular lens (in [-inf, inf], default -3.14159) + + :type: float + + .. attribute:: ortho_scale + + Orthographic Camera scale (similar to zoom) (in [0, inf], default 6.0) + + :type: float + + .. attribute:: panorama_type + + Distortion to use for the calculation (default ``'FISHEYE_EQUISOLID'``) + + - ``EQUIRECTANGULAR`` + Equirectangular -- Spherical camera for environment maps, also known as Lat Long panorama. + - ``EQUIANGULAR_CUBEMAP_FACE`` + Equiangular Cubemap Face -- Single face of an equiangular cubemap. + - ``MIRRORBALL`` + Mirror Ball -- Mirror ball mapping for environment maps. + - ``FISHEYE_EQUIDISTANT`` + Fisheye Equidistant -- Ideal for fulldomes, ignore the sensor dimensions. + - ``FISHEYE_EQUISOLID`` + Fisheye Equisolid -- Similar to most fisheye modern lens, takes sensor dimensions into consideration. + - ``FISHEYE_LENS_POLYNOMIAL`` + Fisheye Lens Polynomial -- Defines the lens projection as polynomial to allow real world camera lenses to be mimicked. + - ``CENTRAL_CYLINDRICAL`` + Central Cylindrical -- Projection onto a virtual cylinder from its center, similar as a rotating panoramic camera. + + :type: Literal['EQUIRECTANGULAR', 'EQUIANGULAR_CUBEMAP_FACE', 'MIRRORBALL', 'FISHEYE_EQUIDISTANT', 'FISHEYE_EQUISOLID', 'FISHEYE_LENS_POLYNOMIAL', 'CENTRAL_CYLINDRICAL'] + + .. attribute:: passepartout_alpha + + Opacity (alpha) of the darkened overlay in Camera view (in [0, 1], default 0.5) + + :type: float + + .. attribute:: sensor_fit + + Method to fit image and field of view angle inside the sensor (default ``'AUTO'``) + + - ``AUTO`` + Auto -- Fit to the sensor width or height depending on image resolution. + - ``HORIZONTAL`` + Horizontal -- Fit to the sensor width. + - ``VERTICAL`` + Vertical -- Fit to the sensor height. + + :type: Literal['AUTO', 'HORIZONTAL', 'VERTICAL'] + + .. attribute:: sensor_height + + Vertical size of the image sensor area in millimeters (in [1, inf], default 24.0) + + :type: float + + .. attribute:: sensor_width + + Horizontal size of the image sensor area in millimeters (in [1, inf], default 36.0) + + :type: float + + .. attribute:: shift_x + + Camera horizontal shift (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: shift_y + + Camera vertical shift (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: show_background_images + + Display reference images behind objects in the 3D View (default False) + + :type: bool + + .. attribute:: show_composition_center + + Display center composition guide inside the camera view (default False) + + :type: bool + + .. attribute:: show_composition_center_diagonal + + Display diagonal center composition guide inside the camera view (default False) + + :type: bool + + .. attribute:: show_composition_golden + + Display golden ratio composition guide inside the camera view (default False) + + :type: bool + + .. attribute:: show_composition_golden_tria_a + + Display golden triangle A composition guide inside the camera view (default False) + + :type: bool + + .. attribute:: show_composition_golden_tria_b + + Display golden triangle B composition guide inside the camera view (default False) + + :type: bool + + .. attribute:: show_composition_harmony_tri_a + + Display harmony A composition guide inside the camera view (default False) + + :type: bool + + .. attribute:: show_composition_harmony_tri_b + + Display harmony B composition guide inside the camera view (default False) + + :type: bool + + .. attribute:: show_composition_thirds + + Display rule of thirds composition guide inside the camera view (default False) + + :type: bool + + .. attribute:: show_limits + + Display the clipping range and focus point on the camera (default False) + + :type: bool + + .. attribute:: show_mist + + Display a line from the Camera to indicate the mist area (default False) + + :type: bool + + .. attribute:: show_name + + Show the active Camera's name in Camera view (default False) + + :type: bool + + .. attribute:: show_passepartout + + Show a darkened overlay outside the image area in Camera view (default True) + + :type: bool + + .. attribute:: show_safe_areas + + Show TV title safe and action safe areas in Camera view (default False) + + :type: bool + + .. attribute:: show_safe_center + + Show safe areas to fit content in a different aspect ratio (default False) + + :type: bool + + .. attribute:: show_sensor + + Show sensor size (film gate) in Camera view (default False) + + :type: bool + + .. data:: stereo + + (readonly, never None) + + :type: :class:`CameraStereoData` + + .. attribute:: type + + Camera types (default ``'PERSP'``) + + :type: Literal['PERSP', 'ORTHO', 'PANO', 'CUSTOM'] + + .. method:: view_frame(*, scene=None) + + Return 4 points for the cameras frame (before object transformation) + + :param scene: Scene to use for aspect calculation, when omitted 1:1 aspect is used (optional) + :type scene: :class:`Scene` | None + :return: + ``result_1``, Result, :class:`mathutils.Vector` + + ``result_2``, Result, :class:`mathutils.Vector` + + ``result_3``, Result, :class:`mathutils.Vector` + + ``result_4``, Result, :class:`mathutils.Vector` + + :rtype: tuple[:class:`mathutils.Vector`, :class:`mathutils.Vector`, :class:`mathutils.Vector`, :class:`mathutils.Vector`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.camera` + - :class:`BlendData.cameras` + - :class:`BlendDataCameras.new` + - :class:`BlendDataCameras.remove` + - :class:`RenderEngine.update_custom_camera` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraBackgroundImage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraBackgroundImage.rst new file mode 100644 index 0000000..b206720 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraBackgroundImage.rst @@ -0,0 +1,188 @@ +CameraBackgroundImage(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CameraBackgroundImage(bpy_struct) + + Image and settings for display in the 3D View background + + .. attribute:: alpha + + Image opacity to blend the image against the background color (in [0, 1], default 0.0) + + :type: float + + .. attribute:: clip + + Movie clip displayed and edited in this space + + :type: :class:`MovieClip` | None + + .. data:: clip_user + + Parameters defining which frame of the movie clip is displayed (readonly, never None) + + :type: :class:`MovieClipUser` + + .. attribute:: display_depth + + Display under or over everything (default ``'BACK'``) + + :type: Literal['BACK', 'FRONT'] + + .. attribute:: frame_method + + How the image fits in the camera frame (default ``'FIT'``) + + :type: Literal['STRETCH', 'FIT', 'CROP'] + + .. attribute:: image + + Image displayed and edited in this space + + :type: :class:`Image` | None + + .. data:: image_user + + Parameters defining which layer, pass and frame of the image is displayed (readonly, never None) + + :type: :class:`ImageUser` + + .. data:: is_override_data + + In a local override camera, whether this background image comes from the linked reference camera, or is local to the override (default True, readonly) + + :type: bool + + .. attribute:: offset + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: rotation + + Rotation for the background image (ortho view only) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: scale + + Scale the background image (in [0, inf], default 0.0) + + :type: float + + .. attribute:: show_background_image + + Show this image as background (default True) + + :type: bool + + .. attribute:: show_expanded + + Show the details in the user interface (default False) + + :type: bool + + .. attribute:: show_on_foreground + + Show this image in front of objects in viewport (default False) + + :type: bool + + .. attribute:: source + + Data source used for background (default ``'IMAGE'``) + + :type: Literal['IMAGE', 'MOVIE_CLIP'] + + .. attribute:: use_camera_clip + + Use movie clip from active scene camera (default False) + + :type: bool + + .. attribute:: use_flip_x + + Flip the background image horizontally (default False) + + :type: bool + + .. attribute:: use_flip_y + + Flip the background image vertically (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Camera.background_images` + - :class:`CameraBackgroundImages.new` + - :class:`CameraBackgroundImages.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraBackgroundImages.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraBackgroundImages.rst new file mode 100644 index 0000000..fb86746 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraBackgroundImages.rst @@ -0,0 +1,97 @@ +CameraBackgroundImages(bpy_prop_collection) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: CameraBackgroundImages(bpy_prop_collection) + + Collection of background images + + .. method:: new() + + Add new background image + + :return: Image displayed as viewport background + :rtype: :class:`CameraBackgroundImage` + + .. method:: remove(image) + + Remove background image + + :param image: Image displayed as viewport background (never None) + :type image: :class:`CameraBackgroundImage` | None + + .. method:: clear() + + Remove all background images + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Camera.background_images` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraDOFSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraDOFSettings.rst new file mode 100644 index 0000000..cfeaec6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraDOFSettings.rst @@ -0,0 +1,126 @@ +CameraDOFSettings(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CameraDOFSettings(bpy_struct) + + Depth of Field settings + + .. attribute:: aperture_blades + + Number of blades in aperture for polygonal bokeh (at least 3) (in [0, 16], default 0) + + :type: int + + .. attribute:: aperture_fstop + + F-Stop ratio (lower numbers give more defocus, higher numbers give a sharper image) (in [0, inf], default 2.8) + + :type: float + + .. attribute:: aperture_ratio + + Distortion to simulate anamorphic lens bokeh (in [0.01, inf], default 1.0) + + :type: float + + .. attribute:: aperture_rotation + + Rotation of blades in aperture (in [-3.14159, 3.14159], default 0.0) + + :type: float + + .. attribute:: focus_distance + + Distance to the focus point for depth of field (in [0, inf], default 10.0) + + :type: float + + .. attribute:: focus_object + + Use this object to define the depth of field focal point + + :type: :class:`Object` | None + + .. attribute:: focus_subtarget + + Use this armature bone to define the depth of field focal point (default "", never None) + + :type: str + + .. attribute:: use_dof + + Use Depth of Field (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Camera.dof` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraSolverConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraSolverConstraint.rst new file mode 100644 index 0000000..8ff14f7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraSolverConstraint.rst @@ -0,0 +1,99 @@ +CameraSolverConstraint(Constraint) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: CameraSolverConstraint(Constraint) + + Lock motion to the reconstructed camera movement + + .. attribute:: clip + + Movie Clip to get tracking data from + + :type: :class:`MovieClip` | None + + .. attribute:: use_active_clip + + Use active clip defined in scene (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraStereoData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraStereoData.rst new file mode 100644 index 0000000..a946f6c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CameraStereoData.rst @@ -0,0 +1,133 @@ +CameraStereoData(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CameraStereoData(bpy_struct) + + Stereoscopy settings for a Camera data-block + + .. attribute:: convergence_distance + + The converge point for the stereo cameras (often the distance between a projector and the projection screen) (in [1e-05, inf], default 1.95) + + :type: float + + .. attribute:: convergence_mode + + (default ``'OFFAXIS'``) + + - ``OFFAXIS`` + Off-Axis -- Off-axis frustums converging in a plane. + - ``PARALLEL`` + Parallel -- Parallel cameras with no convergence. + - ``TOE`` + Toe-in -- Rotated cameras, looking at the same point at the convergence distance. + + :type: Literal['OFFAXIS', 'PARALLEL', 'TOE'] + + .. attribute:: interocular_distance + + Set the distance between the eyes - the stereo plane distance / 30 should be fine (in [0, inf], default 0.065) + + :type: float + + .. attribute:: pivot + + (default ``'LEFT'``) + + :type: Literal['LEFT', 'RIGHT', 'CENTER'] + + .. attribute:: pole_merge_angle_from + + Angle at which interocular distance starts to fade to 0 (in [0, 1.5708], default 1.0472) + + :type: float + + .. attribute:: pole_merge_angle_to + + Angle at which interocular distance is 0 (in [0, 1.5708], default 1.309) + + :type: float + + .. attribute:: use_pole_merge + + Fade interocular distance to 0 after the given cutoff angle (default False) + + :type: bool + + .. attribute:: use_spherical_stereo + + Render every pixel rotating the camera around the middle of the interocular distance (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Camera.stereo` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CastModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CastModifier.rst new file mode 100644 index 0000000..997dd57 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CastModifier.rst @@ -0,0 +1,157 @@ +CastModifier(Modifier) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: CastModifier(Modifier) + + Modifier to cast to other shapes + + .. attribute:: cast_type + + Target object shape (default ``'SPHERE'``) + + :type: Literal['SPHERE', 'CYLINDER', 'CUBOID'] + + .. attribute:: factor + + (in [-inf, inf], default 0.5) + + :type: float + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: object + + Control object: if available, its location determines the center of the effect + + :type: :class:`Object` | None + + .. attribute:: radius + + Only deform vertices within this distance from the center of the effect (leave as 0 for infinite.) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: size + + Size of projection shape (leave as 0 for auto) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: use_radius_as_size + + Use radius as size of projection shape (0 = auto) (default True) + + :type: bool + + .. attribute:: use_transform + + Use object transform to control projection shape (default False) + + :type: bool + + .. attribute:: use_x + + (default True) + + :type: bool + + .. attribute:: use_y + + (default True) + + :type: bool + + .. attribute:: use_z + + (default True) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ChannelDriverVariables.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ChannelDriverVariables.rst new file mode 100644 index 0000000..997d03e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ChannelDriverVariables.rst @@ -0,0 +1,92 @@ +ChannelDriverVariables(bpy_prop_collection) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ChannelDriverVariables(bpy_prop_collection) + + Collection of channel driver Variables + + .. method:: new() + + Add a new variable for the driver + + :return: Newly created Driver Variable + :rtype: :class:`DriverVariable` + + .. method:: remove(variable) + + Remove an existing variable from the driver + + :param variable: Variable to remove from the driver (never None) + :type variable: :class:`DriverVariable` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Driver.variables` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ChildOfConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ChildOfConstraint.rst new file mode 100644 index 0000000..79cc73d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ChildOfConstraint.rst @@ -0,0 +1,165 @@ +ChildOfConstraint(Constraint) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: ChildOfConstraint(Constraint) + + Create constraint-based parent-child relationship + + .. attribute:: inverse_matrix + + Transformation matrix to apply before (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: set_inverse_pending + + Set to true to request recalculation of the inverse matrix (default False) + + :type: bool + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: use_location_x + + Use X Location of Parent (default False) + + :type: bool + + .. attribute:: use_location_y + + Use Y Location of Parent (default False) + + :type: bool + + .. attribute:: use_location_z + + Use Z Location of Parent (default False) + + :type: bool + + .. attribute:: use_rotation_x + + Use X Rotation of Parent (default False) + + :type: bool + + .. attribute:: use_rotation_y + + Use Y Rotation of Parent (default False) + + :type: bool + + .. attribute:: use_rotation_z + + Use Z Rotation of Parent (default False) + + :type: bool + + .. attribute:: use_scale_x + + Use X Scale of Parent (default False) + + :type: bool + + .. attribute:: use_scale_y + + Use Y Scale of Parent (default False) + + :type: bool + + .. attribute:: use_scale_z + + Use Z Scale of Parent (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ChildParticle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ChildParticle.rst new file mode 100644 index 0000000..d304627 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ChildParticle.rst @@ -0,0 +1,78 @@ +ChildParticle(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ChildParticle(bpy_struct) + + Child particle interpolated from simulated or edited particles + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ParticleSystem.child_particles` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClampToConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClampToConstraint.rst new file mode 100644 index 0000000..669f70b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClampToConstraint.rst @@ -0,0 +1,105 @@ +ClampToConstraint(Constraint) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: ClampToConstraint(Constraint) + + Constrain an object's location to the nearest point along the target path + + .. attribute:: main_axis + + Main axis of movement (default ``'CLAMPTO_AUTO'``) + + :type: Literal['CLAMPTO_AUTO', 'CLAMPTO_X', 'CLAMPTO_Y', 'CLAMPTO_Z'] + + .. attribute:: target + + Target Object (Curves only) + + :type: :class:`Object` | None + + .. attribute:: use_cyclic + + Treat curve as cyclic curve (no clamping to curve bounding box) (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothCollisionSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothCollisionSettings.rst new file mode 100644 index 0000000..f1696b7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothCollisionSettings.rst @@ -0,0 +1,156 @@ +ClothCollisionSettings(bpy_struct) +================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ClothCollisionSettings(bpy_struct) + + Cloth simulation settings for self collision and collision with other objects + + .. attribute:: collection + + Limit colliders to this Collection + + :type: :class:`Collection` | None + + .. attribute:: collision_quality + + How many collision iterations should be done (higher is better quality but slower) (in [1, 32767], default 2) + + :type: int + + .. attribute:: damping + + Amount of velocity lost on collision (in [0, 1], default 1.0) + + :type: float + + .. attribute:: distance_min + + Minimum distance between collision objects before collision response takes effect (in [0.001, 1], default 0.015) + + :type: float + + .. attribute:: friction + + Friction force if a collision happened (higher = less movement) (in [0, 80], default 5.0) + + :type: float + + .. attribute:: impulse_clamp + + Clamp collision impulses to avoid instability (0.0 to disable clamping) (in [0, 100], default 0.0) + + :type: float + + .. attribute:: self_distance_min + + Minimum distance between cloth faces before collision response takes effect (in [0.001, 0.1], default 0.015) + + :type: float + + .. attribute:: self_friction + + Friction with self contact (in [0, 80], default 5.0) + + :type: float + + .. attribute:: self_impulse_clamp + + Clamp collision impulses to avoid instability (0.0 to disable clamping) (in [0, 100], default 0.0) + + :type: float + + .. attribute:: use_collision + + Enable collisions with other objects (default True) + + :type: bool + + .. attribute:: use_self_collision + + Enable self collisions (default False) + + :type: bool + + .. attribute:: vertex_group_object_collisions + + Triangles with all vertices in this group are not used during object collisions (default "", never None) + + :type: str + + .. attribute:: vertex_group_self_collisions + + Triangles with all vertices in this group are not used during self collisions (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ClothModifier.collision_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothModifier.rst new file mode 100644 index 0000000..0f37e82 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothModifier.rst @@ -0,0 +1,136 @@ +ClothModifier(Modifier) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: ClothModifier(Modifier) + + Cloth simulation modifier + + .. data:: collision_settings + + (readonly, never None) + + :type: :class:`ClothCollisionSettings` + + .. data:: hair_grid_max + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: hair_grid_min + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: hair_grid_resolution + + (array of 3 items, in [-inf, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: point_cache + + (readonly, never None) + + :type: :class:`PointCache` + + .. data:: settings + + (readonly, never None) + + :type: :class:`ClothSettings` + + .. data:: solver_result + + (readonly) + + :type: :class:`ClothSolverResult` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.cloth` + - :class:`ParticleSystem.cloth` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothSettings.rst new file mode 100644 index 0000000..3eb0ff2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothSettings.rst @@ -0,0 +1,425 @@ +ClothSettings(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ClothSettings(bpy_struct) + + Cloth simulation settings for an object + + .. attribute:: air_damping + + Air has normally some thickness which slows falling things down (in [0, 10], default 1.0) + + :type: float + + .. attribute:: bending_damping + + Amount of damping in bending behavior (in [0, 1000], default 0.5) + + :type: float + + .. attribute:: bending_model + + Physical model for simulating bending forces (default ``'ANGULAR'``) + + - ``ANGULAR`` + Angular -- Cloth model with angular bending springs. + - ``LINEAR`` + Linear -- Cloth model with linear bending springs (legacy). + + :type: Literal['ANGULAR', 'LINEAR'] + + .. attribute:: bending_stiffness + + How much the material resists bending (in [0, 10000], default 0.5) + + :type: float + + .. attribute:: bending_stiffness_max + + Maximum bending stiffness value (in [0, 10000], default 0.5) + + :type: float + + .. attribute:: collider_friction + + (in [0, 1], default 0.0) + + :type: float + + .. attribute:: compression_damping + + Amount of damping in compression behavior (in [0, 50], default 5.0) + + :type: float + + .. attribute:: compression_stiffness + + How much the material resists compression (in [0, 10000], default 15.0) + + :type: float + + .. attribute:: compression_stiffness_max + + Maximum compression stiffness value (in [0, 10000], default 15.0) + + :type: float + + .. attribute:: density_strength + + Influence of target density on the simulation (in [0, 1], default 0.0) + + :type: float + + .. attribute:: density_target + + Maximum density of hair (in [0, 10000], default 0.0) + + :type: float + + .. data:: effector_weights + + (readonly) + + :type: :class:`EffectorWeights` | None + + .. attribute:: fluid_density + + Density (kg/l) of the fluid contained inside the object, used to create a hydrostatic pressure gradient simulating the weight of the internal fluid, or buoyancy from the surrounding fluid if negative (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: goal_default + + Default Goal (vertex target position) value, when no Vertex Group used (in [0, 1], default 0.0) + + :type: float + + .. attribute:: goal_friction + + Goal (vertex target position) friction (in [0, 50], default 0.0) + + :type: float + + .. attribute:: goal_max + + Goal maximum, vertex group weights are scaled to match this range (in [0, 1], default 1.0) + + :type: float + + .. attribute:: goal_min + + Goal minimum, vertex group weights are scaled to match this range (in [0, 1], default 0.0) + + :type: float + + .. attribute:: goal_spring + + Goal (vertex target position) spring stiffness (in [0, 0.999], default 1.0) + + :type: float + + .. attribute:: gravity + + Gravity or external force vector (array of 3 items, in [-100, 100], default (0.0, 0.0, -9.81)) + + :type: :class:`mathutils.Vector` + + .. attribute:: internal_compression_stiffness + + How much the material resists compression (in [0, 10000], default 15.0) + + :type: float + + .. attribute:: internal_compression_stiffness_max + + Maximum compression stiffness value (in [0, 10000], default 15.0) + + :type: float + + .. attribute:: internal_friction + + (in [0, 1], default 0.0) + + :type: float + + .. attribute:: internal_spring_max_diversion + + How much the rays used to connect the internal points can diverge from the vertex normal (in [0, 0.785398], default 0.785398) + + :type: float + + .. attribute:: internal_spring_max_length + + The maximum length an internal spring can have during creation. If the distance between internal points is greater than this, no internal spring will be created between these points. A length of zero means that there is no length limit. (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: internal_spring_normal_check + + Require the points the internal springs connect to have opposite normal directions (default True) + + :type: bool + + .. attribute:: internal_tension_stiffness + + How much the material resists stretching (in [0, 10000], default 15.0) + + :type: float + + .. attribute:: internal_tension_stiffness_max + + Maximum tension stiffness value (in [0, 10000], default 15.0) + + :type: float + + .. attribute:: mass + + The mass of each vertex on the cloth material (in [0, inf], default 0.3) + + :type: float + + .. attribute:: pin_stiffness + + Pin (vertex target position) spring stiffness (in [0, 50], default 1.0) + + :type: float + + .. attribute:: pressure_factor + + Ambient pressure (kPa) that balances out between the inside and outside of the object when it has the target volume (in [0, 10000], default 1.0) + + :type: float + + .. attribute:: quality + + Quality of the simulation in steps per frame (higher is better quality but slower) (in [1, inf], default 5) + + :type: int + + .. attribute:: rest_shape_key + + Shape key to use the rest spring lengths from + + :type: :class:`ShapeKey` | None + + .. attribute:: sewing_force_max + + Maximum sewing force (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: shear_damping + + Amount of damping in shearing behavior (in [0, 50], default 5.0) + + :type: float + + .. attribute:: shear_stiffness + + How much the material resists shearing (in [0, 10000], default 5.0) + + :type: float + + .. attribute:: shear_stiffness_max + + Maximum shear scaling value (in [0, 10000], default 5.0) + + :type: float + + .. attribute:: shrink_max + + Max amount to shrink cloth by (in [-inf, 1], default 0.0) + + :type: float + + .. attribute:: shrink_min + + Factor by which to shrink cloth (in [-inf, 1], default 0.0) + + :type: float + + .. attribute:: target_volume + + The mesh volume where the inner/outer pressure will be the same. If set to zero the change in volume will not affect pressure. (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: tension_damping + + Amount of damping in stretching behavior (in [0, 50], default 5.0) + + :type: float + + .. attribute:: tension_stiffness + + How much the material resists stretching (in [0, 10000], default 15.0) + + :type: float + + .. attribute:: tension_stiffness_max + + Maximum tension stiffness value (in [0, 10000], default 15.0) + + :type: float + + .. attribute:: time_scale + + Cloth speed is multiplied by this value (in [0, inf], default 1.0) + + :type: float + + .. attribute:: uniform_pressure_force + + The uniform pressure that is constantly applied to the mesh, in units of Pressure Scale. Can be negative. (in [-10000, 10000], default 0.0) + + :type: float + + .. attribute:: use_dynamic_mesh + + Make simulation respect deformations in the base mesh (default False) + + :type: bool + + .. attribute:: use_internal_springs + + Simulate an internal volume structure by creating springs connecting the opposite sides of the mesh (default False) + + :type: bool + + .. attribute:: use_pressure + + Simulate pressure inside a closed cloth mesh (default False) + + :type: bool + + .. attribute:: use_pressure_volume + + Use the Target Volume parameter as the initial volume, instead of calculating it from the mesh itself (default False) + + :type: bool + + .. attribute:: use_sewing_springs + + Pulls loose edges together (default False) + + :type: bool + + .. attribute:: vertex_group_bending + + Vertex group for fine control over bending stiffness (default "", never None) + + :type: str + + .. attribute:: vertex_group_intern + + Vertex group for fine control over the internal spring stiffness (default "", never None) + + :type: str + + .. attribute:: vertex_group_mass + + Vertex Group for pinning of vertices (default "", never None) + + :type: str + + .. attribute:: vertex_group_pressure + + Vertex Group for where to apply pressure. Zero weight means no pressure while a weight of one means full pressure. Faces with a vertex that has zero weight will be excluded from the volume calculation. (default "", never None) + + :type: str + + .. attribute:: vertex_group_shear_stiffness + + Vertex group for fine control over shear stiffness (default "", never None) + + :type: str + + .. attribute:: vertex_group_shrink + + Vertex Group for shrinking cloth (default "", never None) + + :type: str + + .. attribute:: vertex_group_structural_stiffness + + Vertex group for fine control over structural stiffness (default "", never None) + + :type: str + + .. attribute:: voxel_cell_size + + Size of the voxel grid cells for interaction effects (in [0.0001, 10000], default 0.1) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ClothModifier.settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothSolverResult.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothSolverResult.rst new file mode 100644 index 0000000..32c8acd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ClothSolverResult.rst @@ -0,0 +1,129 @@ +ClothSolverResult(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ClothSolverResult(bpy_struct) + + Result of cloth solver iteration + + .. data:: avg_error + + Average error during substeps (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: avg_iterations + + Average iterations during substeps (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: max_error + + Maximum error during substeps (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: max_iterations + + Maximum iterations during substeps (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: min_error + + Minimum error during substeps (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: min_iterations + + Minimum iterations during substeps (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: status + + Status of the solver iteration (default set(), readonly) + + - ``SUCCESS`` + Success -- Computation was successful. + - ``NUMERICAL_ISSUE`` + Numerical Issue -- The provided data did not satisfy the prerequisites. + - ``NO_CONVERGENCE`` + No Convergence -- Iterative procedure did not converge. + - ``INVALID_INPUT`` + Invalid Input -- The inputs are invalid, or the algorithm has been improperly called. + + :type: set[Literal['SUCCESS', 'NUMERICAL_ISSUE', 'NO_CONVERGENCE', 'INVALID_INPUT']] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ClothModifier.solver_result` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CloudsTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CloudsTexture.rst new file mode 100644 index 0000000..3639848 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CloudsTexture.rst @@ -0,0 +1,211 @@ +CloudsTexture(Texture) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Texture` + +.. class:: CloudsTexture(Texture) + + Procedural noise texture + + .. attribute:: cloud_type + + Determine whether Noise returns grayscale or RGB values (default ``'GRAYSCALE'``) + + :type: Literal['GRAYSCALE', 'COLOR'] + + .. attribute:: nabla + + Size of derivative offset used for calculating normal (in [0.001, 0.1], default 0.025) + + :type: float + + .. attribute:: noise_basis + + Noise basis used for turbulence (default ``'BLENDER_ORIGINAL'``) + + - ``BLENDER_ORIGINAL`` + Blender Original -- Noise algorithm - Blender original: Smooth interpolated noise. + - ``ORIGINAL_PERLIN`` + Original Perlin -- Noise algorithm - Original Perlin: Smooth interpolated noise. + - ``IMPROVED_PERLIN`` + Improved Perlin -- Noise algorithm - Improved Perlin: Smooth interpolated noise. + - ``VORONOI_F1`` + Voronoi F1 -- Noise algorithm - Voronoi F1: Returns distance to the closest feature point. + - ``VORONOI_F2`` + Voronoi F2 -- Noise algorithm - Voronoi F2: Returns distance to the 2nd closest feature point. + - ``VORONOI_F3`` + Voronoi F3 -- Noise algorithm - Voronoi F3: Returns distance to the 3rd closest feature point. + - ``VORONOI_F4`` + Voronoi F4 -- Noise algorithm - Voronoi F4: Returns distance to the 4th closest feature point. + - ``VORONOI_F2_F1`` + Voronoi F2-F1 -- Noise algorithm - Voronoi F1-F2. + - ``VORONOI_CRACKLE`` + Voronoi Crackle -- Noise algorithm - Voronoi Crackle: Voronoi tessellation with sharp edges. + - ``CELL_NOISE`` + Cell Noise -- Noise algorithm - Cell Noise: Square cell tessellation. + + :type: Literal['BLENDER_ORIGINAL', 'ORIGINAL_PERLIN', 'IMPROVED_PERLIN', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2_F1', 'VORONOI_CRACKLE', 'CELL_NOISE'] + + .. attribute:: noise_depth + + Depth of the cloud calculation (in [0, 30], default 2) + + :type: int + + .. attribute:: noise_scale + + Scaling for noise input (in [0.0001, inf], default 0.25) + + :type: float + + .. attribute:: noise_type + + (default ``'SOFT_NOISE'``) + + - ``SOFT_NOISE`` + Soft -- Generate soft noise (smooth transitions). + - ``HARD_NOISE`` + Hard -- Generate hard noise (sharp transitions). + + :type: Literal['SOFT_NOISE', 'HARD_NOISE'] + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Texture.type` + - :class:`Texture.use_clamp` + - :class:`Texture.use_color_ramp` + - :class:`Texture.color_ramp` + - :class:`Texture.intensity` + - :class:`Texture.contrast` + - :class:`Texture.saturation` + - :class:`Texture.factor_red` + - :class:`Texture.factor_green` + - :class:`Texture.factor_blue` + - :class:`Texture.use_preview_alpha` + - :class:`Texture.use_nodes` + - :class:`Texture.node_tree` + - :class:`Texture.animation_data` + - :class:`Texture.users_material` + - :class:`Texture.users_object_modifier` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Texture.evaluate` + - :class:`Texture.bl_rna_get_subclass` + - :class:`Texture.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Collection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Collection.rst new file mode 100644 index 0000000..f7d0e2f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Collection.rst @@ -0,0 +1,287 @@ +Collection(ID) +============== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Collection(ID) + + Collection of Object data-blocks + + .. attribute:: active_exporter_index + + Active index in the exporters list (in [0, inf], default 0) + + :type: int + + .. data:: all_objects + + Objects that are in this collection and its child collections (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Object`] + + .. data:: children + + Collections that are immediate children of this collection (default None, readonly) + + :type: :class:`CollectionChildren`\ [:class:`Collection`] + + .. data:: collection_children + + Children collections with their parent-collection-specific settings (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`CollectionChild`] + + .. data:: collection_objects + + Objects of the collection with their parent-collection-specific settings (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`CollectionObject`] + + .. attribute:: color_tag + + Color tag for a collection (default ``'COLOR_01'``) + + :type: Literal[:ref:`rna_enum_collection_color_items`] + + .. data:: exporters + + Export Handlers configured for the collection (default None, readonly) + + :type: :class:`CollectionExports`\ [:class:`CollectionExport`] + + .. attribute:: hide_render + + Globally disable in renders (default False) + + :type: bool + + .. attribute:: hide_select + + Disable selection in viewport (default False) + + :type: bool + + .. attribute:: hide_viewport + + Globally disable in viewports (default False) + + :type: bool + + .. attribute:: instance_offset + + Offset from the origin to use when instancing (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: lineart_intersection_mask + + Intersection generated by this collection will have this mask value (array of 8 items, default (False, False, False, False, False, False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: lineart_intersection_priority + + The intersection line will be included into the object with the higher intersection priority value (in [0, 255], default 0) + + :type: int + + .. attribute:: lineart_usage + + How to use this collection in Line Art calculation (default ``'INCLUDE'``) + + - ``INCLUDE`` + Include -- Generate feature lines for this collection. + - ``OCCLUSION_ONLY`` + Occlusion Only -- Only use the collection to produce occlusion. + - ``EXCLUDE`` + Exclude -- Don't use this collection in Line Art. + - ``INTERSECTION_ONLY`` + Intersection Only -- Only generate intersection lines for this collection. + - ``NO_INTERSECTION`` + No Intersection -- Include this collection but do not generate intersection lines. + - ``FORCE_INTERSECTION`` + Force Intersection -- Generate intersection lines even with objects that disabled intersection. + + :type: Literal['INCLUDE', 'OCCLUSION_ONLY', 'EXCLUDE', 'INTERSECTION_ONLY', 'NO_INTERSECTION', 'FORCE_INTERSECTION'] + + .. attribute:: lineart_use_intersection_mask + + Use custom intersection mask for faces in this collection (default False) + + :type: bool + + .. data:: objects + + Objects that are directly in this collection (default None, readonly) + + :type: :class:`CollectionObjects`\ [:class:`Object`] + + .. attribute:: use_lineart_intersection_priority + + Assign intersection priority value for this collection (default False) + + :type: bool + + .. data:: children_recursive + + A list of all children from this collection. + + :type: list[:class:`Collection`] + + .. note:: + + Takes ``O(n)`` time, where ``n`` is the total number of all + descendant collections. + + (readonly) + + .. data:: users_dupli_group + + The collection instance objects this collection is used in + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.collections` + - :class:`BlendDataCollections.new` + - :class:`BlendDataCollections.remove` + - :class:`BooleanModifier.collection` + - :class:`ClothCollisionSettings.collection` + - :class:`Collection.children` + - :class:`CollectionChildren.link` + - :class:`CollectionChildren.unlink` + - :class:`Context.collection` + - :class:`DopeSheet.filter_collection` + - :class:`DynamicPaintSurface.brush_collection` + - :class:`EffectorWeights.collection` + - :class:`FluidDomainSettings.effector_group` + - :class:`FluidDomainSettings.fluid_group` + - :class:`FluidDomainSettings.force_collection` + - :class:`FreestyleLineSet.collection` + - :class:`GeometryNodeInputCollection.collection` + - :class:`GreasePencilLineartModifier.source_collection` + - :class:`IDOverrideLibrary.resync` + - :class:`LayerCollection.collection` + - :class:`LightProbe.visibility_collection` + - :class:`NodeSocketCollection.default_value` + - :class:`NodeTreeInterfaceSocketCollection.default_value` + - :class:`ObjectLightLinking.blocker_collection` + - :class:`ObjectLightLinking.receiver_collection` + - :class:`Object.instance_collection` + - :class:`ParticleSettings.collision_collection` + - :class:`ParticleSettings.instance_collection` + - :class:`RigidBodyWorld.collection` + - :class:`RigidBodyWorld.constraints` + - :class:`Scene.collection` + - :class:`SoftBodySettings.collision_collection` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionChild.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionChild.rst new file mode 100644 index 0000000..f3ac319 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionChild.rst @@ -0,0 +1,84 @@ +CollectionChild(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CollectionChild(bpy_struct) + + Child collection with its collection related settings + + .. data:: light_linking + + Light linking settings of the collection object (readonly, never None) + + :type: :class:`CollectionLightLinking` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Collection.collection_children` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionChildren.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionChildren.rst new file mode 100644 index 0000000..222109f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionChildren.rst @@ -0,0 +1,92 @@ +CollectionChildren(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: CollectionChildren(bpy_prop_collection) + + Collection of child collections + + .. method:: link(child) + + Add this collection as child of this collection + + :param child: Collection to add (never None) + :type child: :class:`Collection` | None + + .. method:: unlink(child) + + Remove this child collection from a collection + + :param child: Collection to remove + :type child: :class:`Collection` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Collection.children` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionExport.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionExport.rst new file mode 100644 index 0000000..1e93f85 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionExport.rst @@ -0,0 +1,103 @@ +CollectionExport(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CollectionExport(bpy_struct) + + + .. data:: export_properties + + Properties associated with the configured exporter (readonly) + + :type: :class:`PropertyGroup` | None + + .. attribute:: filepath + + The file path used for exporting (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: is_open + + Whether the panel is expanded or closed (default False) + + :type: bool + + .. attribute:: name + + (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Collection.exporters` + - :class:`CollectionExports.new` + - :class:`CollectionExports.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionExports.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionExports.rst new file mode 100644 index 0000000..5b21579 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionExports.rst @@ -0,0 +1,105 @@ +CollectionExports(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: CollectionExports(bpy_prop_collection) + + Collection of export handlers + + .. method:: new(type, *, name="") + + Add an export handler to the collection + + :param type: Type, The type of export handler to add + :type type: Literal['IO_FH_gltf2'] + :param name: Name, Name of the new export handler (optional, never None) + :type name: str + :return: Newly created export handler + :rtype: :class:`CollectionExport` + + .. method:: remove(exporter) + + Remove an export handler from the collection + + :param exporter: Export Handler to remove + :type exporter: :class:`CollectionExport` | None + + .. method:: move(from_index, to_index) + + Move an export handler + + :param from_index: From Index, Index to move (in [-inf, inf]) + :type from_index: int + :param to_index: To Index, Target index (in [-inf, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Collection.exporters` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionLightLinking.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionLightLinking.rst new file mode 100644 index 0000000..1e2085d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionLightLinking.rst @@ -0,0 +1,85 @@ +CollectionLightLinking(bpy_struct) +================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CollectionLightLinking(bpy_struct) + + Light linking settings of objects and children collections of a collection + + .. attribute:: link_state + + Light or shadow receiving state of the object or collection (default ``'INCLUDE'``) + + :type: Literal['INCLUDE', 'EXCLUDE'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CollectionChild.light_linking` + - :class:`CollectionObject.light_linking` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionObject.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionObject.rst new file mode 100644 index 0000000..a87029d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionObject.rst @@ -0,0 +1,84 @@ +CollectionObject(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CollectionObject(bpy_struct) + + Object of a collection with its collection related settings + + .. data:: light_linking + + Light linking settings of the collection (readonly, never None) + + :type: :class:`CollectionLightLinking` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Collection.collection_objects` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionObjects.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionObjects.rst new file mode 100644 index 0000000..826237b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionObjects.rst @@ -0,0 +1,92 @@ +CollectionObjects(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: CollectionObjects(bpy_prop_collection) + + Collection of collection objects + + .. method:: link(object) + + Add this object to a collection + + :param object: Object to add (never None) + :type object: :class:`Object` | None + + .. method:: unlink(object) + + Remove this object from a collection + + :param object: Object to remove + :type object: :class:`Object` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Collection.objects` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionProperty.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionProperty.rst new file mode 100644 index 0000000..4bf30d8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollectionProperty.rst @@ -0,0 +1,110 @@ +CollectionProperty(Property) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Property` + +.. class:: CollectionProperty(Property) + + RNA collection property to define lists, arrays and mappings + + .. data:: fixed_type + + Fixed pointer type, empty if variable type (readonly) + + :type: :class:`Struct` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Property.name` + - :class:`Property.identifier` + - :class:`Property.description` + - :class:`Property.translation_context` + - :class:`Property.type` + - :class:`Property.subtype` + - :class:`Property.srna` + - :class:`Property.unit` + - :class:`Property.icon` + - :class:`Property.is_readonly` + - :class:`Property.is_animatable` + - :class:`Property.is_overridable` + - :class:`Property.is_required` + - :class:`Property.is_argument_optional` + - :class:`Property.is_never_none` + - :class:`Property.is_hidden` + - :class:`Property.is_skip_save` + - :class:`Property.is_skip_preset` + - :class:`Property.is_output` + - :class:`Property.is_registered` + - :class:`Property.is_registered_optional` + - :class:`Property.is_runtime` + - :class:`Property.is_enum_flag` + - :class:`Property.is_library_editable` + - :class:`Property.is_path_output` + - :class:`Property.is_path_supports_blend_relative` + - :class:`Property.is_path_supports_templates` + - :class:`Property.is_deprecated` + - :class:`Property.deprecated_note` + - :class:`Property.deprecated_version` + - :class:`Property.deprecated_removal_version` + - :class:`Property.tags` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Property.bl_rna_get_subclass` + - :class:`Property.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollisionModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollisionModifier.rst new file mode 100644 index 0000000..b7a5c0b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollisionModifier.rst @@ -0,0 +1,91 @@ +CollisionModifier(Modifier) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: CollisionModifier(Modifier) + + Collision modifier defining modifier stack position used for collision + + .. data:: settings + + (readonly, never None) + + :type: :class:`CollisionSettings` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollisionSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollisionSettings.rst new file mode 100644 index 0000000..b1b1c0b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CollisionSettings.rst @@ -0,0 +1,169 @@ +CollisionSettings(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CollisionSettings(bpy_struct) + + Collision settings for object in physics simulation + + .. attribute:: absorption + + How much of effector force gets lost during collision with this object (in percent) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: cloth_friction + + Friction for cloth collisions (in [0, 80], default 0.0) + + :type: float + + .. attribute:: damping + + Amount of damping during collision (in [0, 1], default 0.0) + + :type: float + + .. attribute:: damping_factor + + Amount of damping during particle collision (in [0, 1], default 0.0) + + :type: float + + .. attribute:: damping_random + + Random variation of damping (in [0, 1], default 0.0) + + :type: float + + .. attribute:: friction_factor + + Amount of friction during particle collision (in [0, 1], default 0.0) + + :type: float + + .. attribute:: friction_random + + Random variation of friction (in [0, 1], default 0.0) + + :type: float + + .. attribute:: permeability + + Chance that the particle will pass through the mesh (in [0, 1], default 0.0) + + :type: float + + .. attribute:: stickiness + + Amount of stickiness to surface collision (in [0, 10], default 0.0) + + :type: float + + .. attribute:: thickness_inner + + Inner face thickness (only used by softbodies) (in [0.001, 1], default 0.0) + + :type: float + + .. attribute:: thickness_outer + + Outer face thickness (in [0.001, 1], default 0.0) + + :type: float + + .. attribute:: use + + Enable this object as a collider for physics systems (default False) + + :type: bool + + .. attribute:: use_culling + + Cloth collision acts with respect to the collider normals (improves penetration recovery) (default False) + + :type: bool + + .. attribute:: use_normal + + Cloth collision impulses act in the direction of the collider normals (more reliable in some cases) (default False) + + :type: bool + + .. attribute:: use_particle_kill + + Kill collided particles (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CollisionModifier.settings` + - :class:`Object.collision` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorBalanceModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorBalanceModifier.rst new file mode 100644 index 0000000..4f23e8b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorBalanceModifier.rst @@ -0,0 +1,100 @@ +ColorBalanceModifier(StripModifier) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripModifier` + +.. class:: ColorBalanceModifier(StripModifier) + + Color balance modifier for sequence strip + + .. data:: color_balance + + (readonly) + + :type: :class:`StripColorBalanceData` | None + + .. attribute:: color_multiply + + Multiply the intensity of each pixel (in [0, 20], default 1.0) + + :type: float + + .. attribute:: open_mask_input_panel + + (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripModifier.name` + - :class:`StripModifier.type` + - :class:`StripModifier.mute` + - :class:`StripModifier.enable` + - :class:`StripModifier.show_expanded` + - :class:`StripModifier.input_mask_type` + - :class:`StripModifier.mask_time` + - :class:`StripModifier.input_mask_strip` + - :class:`StripModifier.input_mask_id` + - :class:`StripModifier.is_active` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripModifier.bl_rna_get_subclass` + - :class:`StripModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedDisplaySettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedDisplaySettings.rst new file mode 100644 index 0000000..fe8a3b9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedDisplaySettings.rst @@ -0,0 +1,97 @@ +ColorManagedDisplaySettings(bpy_struct) +======================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ColorManagedDisplaySettings(bpy_struct) + + Color management specific to display device + + .. attribute:: display_device + + Display name. For viewing, this is the display device that will be emulated by limiting the gamut and HDR colors. For image and video output, this is the display space used for writing. (default ``'NONE'``) + + :type: Literal['NONE'] + + .. attribute:: emulation + + Control how images in the chosen display are mapped to the physical display (default ``'AUTO'``) + + - ``OFF`` + Off -- Directly output image as produced by OpenColorIO. This is not correct in general, but may be used when the system configuration and actual display device is known to match the chosen display. + - ``AUTO`` + Automatic -- Display images consistent with most other applications, to preview images and video for export. A best effort is made to emulate the chosen display on the actual display device.. + + :type: Literal['OFF', 'AUTO'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CompositorNodeConvertToDisplay.display_settings` + - :class:`ImageFormatSettings.display_settings` + - :class:`Scene.display_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedInputColorspaceSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedInputColorspaceSettings.rst new file mode 100644 index 0000000..2cf3d6e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedInputColorspaceSettings.rst @@ -0,0 +1,94 @@ +ColorManagedInputColorspaceSettings(bpy_struct) +=============================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ColorManagedInputColorspaceSettings(bpy_struct) + + Input color space settings + + .. attribute:: is_data + + Treat image as non-color data without color management, like normal or displacement maps (default False) + + :type: bool + + .. attribute:: name + + Color space in the image file, to convert to and from when saving and loading the image (default ``'NONE'``) + + :type: Literal[:ref:`rna_enum_color_space_convert_default_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Image.colorspace_settings` + - :class:`ImageStrip.colorspace_settings` + - :class:`MovieClip.colorspace_settings` + - :class:`MovieStrip.colorspace_settings` + - :class:`ImageFormatSettings.linear_colorspace_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedSequencerColorspaceSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedSequencerColorspaceSettings.rst new file mode 100644 index 0000000..1969816 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedSequencerColorspaceSettings.rst @@ -0,0 +1,84 @@ +ColorManagedSequencerColorspaceSettings(bpy_struct) +=================================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ColorManagedSequencerColorspaceSettings(bpy_struct) + + Input color space settings + + .. attribute:: name + + Color space that the sequencer operates in (default ``'NONE'``) + + :type: Literal[:ref:`rna_enum_color_space_convert_default_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.sequencer_colorspace_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedViewSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedViewSettings.rst new file mode 100644 index 0000000..3801baa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorManagedViewSettings.rst @@ -0,0 +1,158 @@ +ColorManagedViewSettings(bpy_struct) +==================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ColorManagedViewSettings(bpy_struct) + + Color management settings used for displaying images on the display + + .. data:: curve_mapping + + Color curve mapping applied before display transform (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: exposure + + Exposure (stops) applied before display transform, multiplying by 2^exposure (in [-32, 32], default 0.0) + + :type: float + + .. attribute:: gamma + + Additional gamma encoding after display transform, for output with custom gamma (in [0, 5], default 1.0) + + :type: float + + .. data:: is_hdr + + The display and view transform supports high dynamic range colors (default False, readonly) + + :type: bool + + .. attribute:: look + + Additional transform applied before view transform for artistic needs (default ``'NONE'``) + + - ``NONE`` + None -- Do not modify image in an artistic manner. + + :type: Literal['NONE'] + + .. data:: support_emulation + + The display and view transform supports automatic emulation for another display device, using the display color spaces mechanism in OpenColorIO v2 configurations (default False, readonly) + + :type: bool + + .. attribute:: use_curve_mapping + + Use RGB curved for pre-display transformation (default False) + + :type: bool + + .. attribute:: use_white_balance + + Perform chromatic adaption from a different white point (default False) + + :type: bool + + .. attribute:: view_transform + + View used when converting image to a display space (default ``'NONE'``) + + - ``NONE`` + None -- Do not perform any color transform on display, use old non-color managed technique for display. + + :type: Literal['NONE'] + + .. attribute:: white_balance_temperature + + Color temperature of the scene's white point (in [1800, 100000], default 6500.0) + + :type: float + + .. attribute:: white_balance_tint + + Color tint of the scene's white point (the default of 10 matches daylight) (in [-500, 500], default 10.0) + + :type: float + + .. attribute:: white_balance_whitepoint + + The color which gets mapped to white (automatically converted to/from temperature and tint) (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CompositorNodeConvertToDisplay.view_settings` + - :class:`ImageFormatSettings.view_settings` + - :class:`Scene.view_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorMapping.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorMapping.rst new file mode 100644 index 0000000..56df6fd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorMapping.rst @@ -0,0 +1,136 @@ +ColorMapping(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ColorMapping(bpy_struct) + + Color mapping settings + + .. attribute:: blend_color + + Blend color to mix with texture output color (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: blend_factor + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: blend_type + + Mode used to mix with texture output color (default ``'MIX'``) + + :type: Literal['MIX', 'DARKEN', 'MULTIPLY', 'LIGHTEN', 'SCREEN', 'ADD', 'OVERLAY', 'SOFT_LIGHT', 'LINEAR_LIGHT', 'DIFFERENCE', 'SUBTRACT', 'DIVIDE', 'HUE', 'SATURATION', 'COLOR', 'VALUE'] + + .. attribute:: brightness + + Adjust the brightness of the texture (in [0, 2], default 0.0) + + :type: float + + .. data:: color_ramp + + (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: contrast + + Adjust the contrast of the texture (in [0, 5], default 0.0) + + :type: float + + .. attribute:: saturation + + Adjust the saturation of colors in the texture (in [0, 2], default 0.0) + + :type: float + + .. attribute:: use_color_ramp + + Toggle color ramp operations (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ShaderNodeTexBrick.color_mapping` + - :class:`ShaderNodeTexChecker.color_mapping` + - :class:`ShaderNodeTexEnvironment.color_mapping` + - :class:`ShaderNodeTexGabor.color_mapping` + - :class:`ShaderNodeTexGradient.color_mapping` + - :class:`ShaderNodeTexImage.color_mapping` + - :class:`ShaderNodeTexMagic.color_mapping` + - :class:`ShaderNodeTexNoise.color_mapping` + - :class:`ShaderNodeTexSky.color_mapping` + - :class:`ShaderNodeTexVoronoi.color_mapping` + - :class:`ShaderNodeTexWave.color_mapping` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorMixStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorMixStrip.rst new file mode 100644 index 0000000..2f34012 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorMixStrip.rst @@ -0,0 +1,156 @@ +ColorMixStrip(EffectStrip) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: ColorMixStrip(EffectStrip) + + Color Mix Strip + + .. attribute:: blend_effect + + Method for controlling how the strip combines with other strips (default ``'DARKEN'``) + + :type: Literal['DARKEN', 'MULTIPLY', 'BURN', 'LINEAR_BURN', 'LIGHTEN', 'SCREEN', 'DODGE', 'ADD', 'OVERLAY', 'SOFT_LIGHT', 'HARD_LIGHT', 'VIVID_LIGHT', 'LINEAR_LIGHT', 'PIN_LIGHT', 'DIFFERENCE', 'EXCLUSION', 'SUBTRACT', 'HUE', 'SATURATION', 'COLOR', 'VALUE'] + + .. attribute:: factor + + Percentage of how much the strip's colors affect other strips (in [0, 1], default 0.0) + + :type: float + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. attribute:: input_2 + + Second input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorRamp.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorRamp.rst new file mode 100644 index 0000000..6ccfa6e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorRamp.rst @@ -0,0 +1,128 @@ +ColorRamp(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ColorRamp(bpy_struct) + + Color ramp mapping a scalar value to a color + + .. attribute:: color_mode + + Set color mode to use for interpolation (default ``'RGB'``) + + :type: Literal['RGB', 'HSV', 'HSL'] + + .. data:: elements + + (default None, readonly) + + :type: :class:`ColorRampElements`\ [:class:`ColorRampElement`] + + .. attribute:: hue_interpolation + + Set color interpolation (default ``'NEAR'``) + + :type: Literal['NEAR', 'FAR', 'CW', 'CCW'] + + .. attribute:: interpolation + + Set interpolation between color stops (default ``'LINEAR'``) + + :type: Literal['EASE', 'CARDINAL', 'LINEAR', 'B_SPLINE', 'CONSTANT'] + + .. method:: evaluate(position) + + Evaluate Color Ramp + + :param position: Position, Evaluate Color Ramp at position (in [0, 1]) + :type position: float + :return: Color, Color at given position (array of 4 items, in [-inf, inf]) + :rtype: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Brush.gradient` + - :class:`ColorMapping.color_ramp` + - :class:`DynamicPaintBrushSettings.paint_ramp` + - :class:`DynamicPaintBrushSettings.velocity_ramp` + - :class:`FluidDomainSettings.color_ramp` + - :class:`GreasePencilTintModifier.color_ramp` + - :class:`LineStyleColorModifier_AlongStroke.color_ramp` + - :class:`LineStyleColorModifier_CreaseAngle.color_ramp` + - :class:`LineStyleColorModifier_Curvature_3D.color_ramp` + - :class:`LineStyleColorModifier_DistanceFromCamera.color_ramp` + - :class:`LineStyleColorModifier_DistanceFromObject.color_ramp` + - :class:`LineStyleColorModifier_Material.color_ramp` + - :class:`LineStyleColorModifier_Noise.color_ramp` + - :class:`LineStyleColorModifier_Tangent.color_ramp` + - :class:`PreferencesView.weight_color_range` + - :class:`ShaderNodeValToRGB.color_ramp` + - :class:`Texture.color_ramp` + - :class:`TextureNodeValToRGB.color_ramp` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorRampElement.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorRampElement.rst new file mode 100644 index 0000000..996dee3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorRampElement.rst @@ -0,0 +1,98 @@ +ColorRampElement(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ColorRampElement(bpy_struct) + + Element defining a color at a position in the color ramp + + .. attribute:: alpha + + Set alpha of selected color stop (in [0, inf], default 0.0) + + :type: float + + .. attribute:: color + + Set color of selected color stop (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: position + + Set position of selected color stop (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ColorRamp.elements` + - :class:`ColorRampElements.new` + - :class:`ColorRampElements.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorRampElements.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorRampElements.rst new file mode 100644 index 0000000..237bc1b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorRampElements.rst @@ -0,0 +1,94 @@ +ColorRampElements(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ColorRampElements(bpy_prop_collection) + + Collection of Color Ramp Elements + + .. method:: new(position) + + Add element to Color Ramp + + :param position: Position, Position to add element (in [0, 1]) + :type position: float + :return: New element + :rtype: :class:`ColorRampElement` + + .. method:: remove(element) + + Delete element from Color Ramp + + :param element: Element to remove (never None) + :type element: :class:`ColorRampElement` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ColorRamp.elements` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorStrip.rst new file mode 100644 index 0000000..5af7dab --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ColorStrip.rst @@ -0,0 +1,138 @@ +ColorStrip(EffectStrip) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: ColorStrip(EffectStrip) + + Sequence strip creating an image filled with a single color + + .. attribute:: color + + Effect Strip color (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNode.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNode.rst new file mode 100644 index 0000000..69cd861 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNode.rst @@ -0,0 +1,130 @@ +CompositorNode(NodeInternal) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +subclasses --- +:class:`CompositorNodeAlphaOver`, :class:`CompositorNodeAntiAliasing`, :class:`CompositorNodeBilateralblur`, :class:`CompositorNodeBlur`, :class:`CompositorNodeBokehBlur`, :class:`CompositorNodeBokehImage`, :class:`CompositorNodeBoxMask`, :class:`CompositorNodeBrightContrast`, :class:`CompositorNodeChannelMatte`, :class:`CompositorNodeChromaMatte`, :class:`CompositorNodeColorBalance`, :class:`CompositorNodeColorCorrection`, :class:`CompositorNodeColorMatte`, :class:`CompositorNodeColorSpill`, :class:`CompositorNodeCombineColor`, :class:`CompositorNodeConvertColorSpace`, :class:`CompositorNodeConvertToDisplay`, :class:`CompositorNodeConvolve`, :class:`CompositorNodeCornerPin`, :class:`CompositorNodeCrop`, :class:`CompositorNodeCryptomatte`, :class:`CompositorNodeCryptomatteV2`, :class:`CompositorNodeCurveRGB`, :class:`CompositorNodeCustomGroup`, :class:`CompositorNodeDBlur`, :class:`CompositorNodeDefocus`, :class:`CompositorNodeDenoise`, :class:`CompositorNodeDespeckle`, :class:`CompositorNodeDiffMatte`, :class:`CompositorNodeDilateErode`, :class:`CompositorNodeDisplace`, :class:`CompositorNodeDistanceMatte`, :class:`CompositorNodeDoubleEdgeMask`, :class:`CompositorNodeEllipseMask`, :class:`CompositorNodeExposure`, :class:`CompositorNodeFilter`, :class:`CompositorNodeFlip`, :class:`CompositorNodeGamma`, :class:`CompositorNodeGlare`, :class:`CompositorNodeGroup`, :class:`CompositorNodeHueCorrect`, :class:`CompositorNodeHueSat`, :class:`CompositorNodeIDMask`, :class:`CompositorNodeImage`, :class:`CompositorNodeImageCoordinates`, :class:`CompositorNodeImageInfo`, :class:`CompositorNodeInpaint`, :class:`CompositorNodeInvert`, :class:`CompositorNodeKeying`, :class:`CompositorNodeKeyingScreen`, :class:`CompositorNodeKuwahara`, :class:`CompositorNodeLensdist`, :class:`CompositorNodeLevels`, :class:`CompositorNodeLumaMatte`, :class:`CompositorNodeMapUV`, :class:`CompositorNodeMask`, :class:`CompositorNodeMaskToSDF`, :class:`CompositorNodeMovieClip`, :class:`CompositorNodeMovieDistortion`, :class:`CompositorNodeNormal`, :class:`CompositorNodeNormalize`, :class:`CompositorNodeOutputFile`, :class:`CompositorNodePixelate`, :class:`CompositorNodePlaneTrackDeform`, :class:`CompositorNodePosterize`, :class:`CompositorNodePremulKey`, :class:`CompositorNodeRGB`, :class:`CompositorNodeRGBToBW`, :class:`CompositorNodeRLayers`, :class:`CompositorNodeRelativeToPixel`, :class:`CompositorNodeRotate`, :class:`CompositorNodeScale`, :class:`CompositorNodeSceneTime`, :class:`CompositorNodeSeparateColor`, :class:`CompositorNodeSequencerStripInfo`, :class:`CompositorNodeSetAlpha`, :class:`CompositorNodeSplit`, :class:`CompositorNodeStabilize`, :class:`CompositorNodeSwitch`, :class:`CompositorNodeSwitchView`, :class:`CompositorNodeTime`, :class:`CompositorNodeTonemap`, :class:`CompositorNodeTrackPos`, :class:`CompositorNodeTransform`, :class:`CompositorNodeTranslate`, :class:`CompositorNodeVecBlur`, :class:`CompositorNodeViewer`, :class:`CompositorNodeZcombine` + +.. class:: CompositorNode(NodeInternal) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeAlphaOver.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeAlphaOver.rst new file mode 100644 index 0000000..f0c44dc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeAlphaOver.rst @@ -0,0 +1,156 @@ +CompositorNodeAlphaOver(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeAlphaOver(CompositorNode) + + Overlay a foreground image onto a background image + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeAntiAliasing.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeAntiAliasing.rst new file mode 100644 index 0000000..76c8cda --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeAntiAliasing.rst @@ -0,0 +1,156 @@ +CompositorNodeAntiAliasing(CompositorNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeAntiAliasing(CompositorNode) + + Smooth away jagged edges + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBilateralblur.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBilateralblur.rst new file mode 100644 index 0000000..60309c5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBilateralblur.rst @@ -0,0 +1,156 @@ +CompositorNodeBilateralblur(CompositorNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeBilateralblur(CompositorNode) + + Adaptively blur image, while retaining sharp edges + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBlur.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBlur.rst new file mode 100644 index 0000000..105b9e0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBlur.rst @@ -0,0 +1,156 @@ +CompositorNodeBlur(CompositorNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeBlur(CompositorNode) + + Blur an image, using several blur modes + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBokehBlur.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBokehBlur.rst new file mode 100644 index 0000000..982ce45 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBokehBlur.rst @@ -0,0 +1,156 @@ +CompositorNodeBokehBlur(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeBokehBlur(CompositorNode) + + Generate a bokeh type blur similar to Defocus. Unlike defocus an in-focus region is defined in the compositor + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBokehImage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBokehImage.rst new file mode 100644 index 0000000..33e136f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBokehImage.rst @@ -0,0 +1,156 @@ +CompositorNodeBokehImage(CompositorNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeBokehImage(CompositorNode) + + Generate image with bokeh shape for use with the Bokeh Blur filter node + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBoxMask.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBoxMask.rst new file mode 100644 index 0000000..3d438dd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBoxMask.rst @@ -0,0 +1,156 @@ +CompositorNodeBoxMask(CompositorNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeBoxMask(CompositorNode) + + Create rectangular mask suitable for use as a simple matte + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBrightContrast.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBrightContrast.rst new file mode 100644 index 0000000..1120b2f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeBrightContrast.rst @@ -0,0 +1,156 @@ +CompositorNodeBrightContrast(CompositorNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeBrightContrast(CompositorNode) + + Adjust brightness and contrast + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeChannelMatte.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeChannelMatte.rst new file mode 100644 index 0000000..7bad225 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeChannelMatte.rst @@ -0,0 +1,156 @@ +CompositorNodeChannelMatte(CompositorNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeChannelMatte(CompositorNode) + + Create matte based on differences in color channels + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeChromaMatte.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeChromaMatte.rst new file mode 100644 index 0000000..d90dd17 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeChromaMatte.rst @@ -0,0 +1,156 @@ +CompositorNodeChromaMatte(CompositorNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeChromaMatte(CompositorNode) + + Create matte based on chroma values + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorBalance.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorBalance.rst new file mode 100644 index 0000000..715f2be --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorBalance.rst @@ -0,0 +1,168 @@ +CompositorNodeColorBalance(CompositorNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeColorBalance(CompositorNode) + + Adjust color and values + + .. attribute:: input_whitepoint + + The color which gets mapped to white (automatically converted to/from temperature and tint) (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: output_whitepoint + + The color which gets white gets mapped to (automatically converted to/from temperature and tint) (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorCorrection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorCorrection.rst new file mode 100644 index 0000000..f53e238 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorCorrection.rst @@ -0,0 +1,156 @@ +CompositorNodeColorCorrection(CompositorNode) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeColorCorrection(CompositorNode) + + Adjust the color of an image, separately in several tonal ranges (highlights, midtones and shadows) + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorMatte.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorMatte.rst new file mode 100644 index 0000000..c01842c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorMatte.rst @@ -0,0 +1,156 @@ +CompositorNodeColorMatte(CompositorNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeColorMatte(CompositorNode) + + Create matte using a given color, for green or blue screen footage + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorSpill.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorSpill.rst new file mode 100644 index 0000000..e34e324 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeColorSpill.rst @@ -0,0 +1,156 @@ +CompositorNodeColorSpill(CompositorNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeColorSpill(CompositorNode) + + Remove colors from a blue or green screen, by reducing one RGB channel compared to the others + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCombineColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCombineColor.rst new file mode 100644 index 0000000..e63b83b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCombineColor.rst @@ -0,0 +1,179 @@ +CompositorNodeCombineColor(CompositorNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeCombineColor(CompositorNode) + + Combine an image from its composite color channels + + .. attribute:: mode + + Mode of color processing (default ``'RGB'``) + + - ``RGB`` + RGB -- Use RGB (Red, Green, Blue) color processing. + - ``HSV`` + HSV -- Use HSV (Hue, Saturation, Value) color processing. + - ``HSL`` + HSL -- Use HSL (Hue, Saturation, Lightness) color processing. + - ``YCC`` + YCbCr -- Use YCbCr (Y - luma, Cb - blue-difference chroma, Cr - red-difference chroma) color processing. + - ``YUV`` + YUV -- Use YUV (Y - luma, U V - chroma) color processing. + + :type: Literal['RGB', 'HSV', 'HSL', 'YCC', 'YUV'] + + .. attribute:: ycc_mode + + Color space used for YCbCrA processing (default ``'ITUBT601'``) + + :type: Literal['ITUBT601', 'ITUBT709', 'JFIF'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeConvertColorSpace.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeConvertColorSpace.rst new file mode 100644 index 0000000..8b74fea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeConvertColorSpace.rst @@ -0,0 +1,168 @@ +CompositorNodeConvertColorSpace(CompositorNode) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeConvertColorSpace(CompositorNode) + + Convert between color spaces + + .. attribute:: from_color_space + + Color space of the input image (default ``'NONE'``) + + :type: Literal[:ref:`rna_enum_color_space_convert_default_items`] + + .. attribute:: to_color_space + + Color space of the output image (default ``'NONE'``) + + :type: Literal[:ref:`rna_enum_color_space_convert_default_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeConvertToDisplay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeConvertToDisplay.rst new file mode 100644 index 0000000..8082cef --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeConvertToDisplay.rst @@ -0,0 +1,168 @@ +CompositorNodeConvertToDisplay(CompositorNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeConvertToDisplay(CompositorNode) + + Convert from scene linear to display color space, with a view transform and look for tone mapping + + .. data:: display_settings + + Color management display device settings (readonly) + + :type: :class:`ColorManagedDisplaySettings` | None + + .. data:: view_settings + + Color management view transform settings (readonly) + + :type: :class:`ColorManagedViewSettings` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeConvolve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeConvolve.rst new file mode 100644 index 0000000..42c0b98 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeConvolve.rst @@ -0,0 +1,156 @@ +CompositorNodeConvolve(CompositorNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeConvolve(CompositorNode) + + Convolves an image with a kernel + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCornerPin.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCornerPin.rst new file mode 100644 index 0000000..6f59422 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCornerPin.rst @@ -0,0 +1,156 @@ +CompositorNodeCornerPin(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeCornerPin(CompositorNode) + + Plane warp transformation using explicit corner values + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCrop.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCrop.rst new file mode 100644 index 0000000..68a6ee1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCrop.rst @@ -0,0 +1,156 @@ +CompositorNodeCrop(CompositorNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeCrop(CompositorNode) + + Crops image to a smaller region, either making the cropped area transparent or resizing the image + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCryptomatte.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCryptomatte.rst new file mode 100644 index 0000000..b319bcf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCryptomatte.rst @@ -0,0 +1,174 @@ +CompositorNodeCryptomatte(CompositorNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeCryptomatte(CompositorNode) + + Deprecated. Use Cryptomatte Node instead + + .. attribute:: add + + Add object or material to matte, by picking a color from the Pick output (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: matte_id + + List of object and material crypto IDs to include in matte (default "", never None) + + :type: str + + .. attribute:: remove + + Remove object or material from matte, by picking a color from the Pick output (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCryptomatteV2.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCryptomatteV2.rst new file mode 100644 index 0000000..eda04f7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCryptomatteV2.rst @@ -0,0 +1,266 @@ +CompositorNodeCryptomatteV2(CompositorNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeCryptomatteV2(CompositorNode) + + Generate matte for individual objects and materials using Cryptomatte render passes + + .. attribute:: add + + Add object or material to matte, by picking a color from the Pick output (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Color` + + .. data:: entries + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`CryptomatteEntry`] + + .. attribute:: frame_duration + + Number of images of a movie to use (in [0, 1048574], default 0) + + :type: int + + .. attribute:: frame_offset + + Offset the number of the frame to use in the animation (in [-1048574, 1048574], default 0) + + :type: int + + .. attribute:: frame_start + + Global starting frame of the movie/sequence, assuming first picture has a #1 (in [-1048574, 1048574], default 0) + + :type: int + + .. data:: has_layers + + True if this image has any named layer (default False, readonly) + + :type: bool + + .. data:: has_views + + True if this image has multiple views (default False, readonly) + + :type: bool + + .. attribute:: image + + :type: :class:`Image` | None + + .. attribute:: layer + + (default ``'PLACEHOLDER'``) + + :type: Literal['PLACEHOLDER'] + + .. attribute:: layer_name + + What Cryptomatte layer is used (default ``'CryptoObject'``) + + - ``CryptoObject`` + Object -- Use Object layer. + - ``CryptoMaterial`` + Material -- Use Material layer. + - ``CryptoAsset`` + Asset -- Use Asset layer. + + :type: Literal['CryptoObject', 'CryptoMaterial', 'CryptoAsset'] + + .. attribute:: matte_id + + List of object and material crypto IDs to include in matte (default "", never None) + + :type: str + + .. attribute:: remove + + Remove object or material from matte, by picking a color from the Pick output (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: scene + + :type: :class:`Scene` | None + + .. attribute:: source + + Where the Cryptomatte passes are loaded from (default ``'RENDER'``) + + - ``RENDER`` + Render -- Use Cryptomatte passes from a render. + - ``IMAGE`` + Image -- Use Cryptomatte passes from an image. + + :type: Literal['RENDER', 'IMAGE'] + + .. attribute:: use_auto_refresh + + Always refresh image on frame changes (default False) + + :type: bool + + .. attribute:: use_cyclic + + Cycle the images in the movie (default False) + + :type: bool + + .. attribute:: view + + (default ``'ALL'``) + + :type: Literal['ALL'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCurveRGB.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCurveRGB.rst new file mode 100644 index 0000000..4095ab0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCurveRGB.rst @@ -0,0 +1,162 @@ +CompositorNodeCurveRGB(CompositorNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeCurveRGB(CompositorNode) + + Perform level adjustments on each color channel of an image + + .. data:: mapping + + (readonly) + + :type: :class:`CurveMapping` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCustomGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCustomGroup.rst new file mode 100644 index 0000000..ed7b1be --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeCustomGroup.rst @@ -0,0 +1,135 @@ +CompositorNodeCustomGroup(CompositorNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeCustomGroup(CompositorNode) + + Custom Compositor Group Node for Python nodes + + .. attribute:: node_tree + + :type: :class:`NodeTree` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDBlur.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDBlur.rst new file mode 100644 index 0000000..a03ebd4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDBlur.rst @@ -0,0 +1,156 @@ +CompositorNodeDBlur(CompositorNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeDBlur(CompositorNode) + + Blur an image along a direction + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDefocus.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDefocus.rst new file mode 100644 index 0000000..28750cd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDefocus.rst @@ -0,0 +1,213 @@ +CompositorNodeDefocus(CompositorNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeDefocus(CompositorNode) + + Apply depth of field in 2D, using a Z depth map or mask + + .. attribute:: angle + + Bokeh shape rotation offset (in [0, 1.5708], default 0.0) + + :type: float + + .. attribute:: blur_max + + Blur limit, maximum CoC radius (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: bokeh + + (default ``'CIRCLE'``) + + - ``OCTAGON`` + Octagonal -- 8 sides. + - ``HEPTAGON`` + Heptagonal -- 7 sides. + - ``HEXAGON`` + Hexagonal -- 6 sides. + - ``PENTAGON`` + Pentagonal -- 5 sides. + - ``SQUARE`` + Square -- 4 sides. + - ``TRIANGLE`` + Triangular -- 3 sides. + - ``CIRCLE`` + Circular. + + :type: Literal['OCTAGON', 'HEPTAGON', 'HEXAGON', 'PENTAGON', 'SQUARE', 'TRIANGLE', 'CIRCLE'] + + .. attribute:: f_stop + + Amount of focal blur, 128 (infinity) is perfect focus, half the value doubles the blur radius (in [0, 128], default 0.0) + + :type: float + + .. attribute:: scene + + Scene from which to select the active camera (render scene if undefined) + + :type: :class:`Scene` | None + + .. attribute:: use_zbuffer + + Disable when using an image as input instead of actual z-buffer (auto enabled if node not image based, eg. time node) (default True) + + :type: bool + + .. attribute:: z_scale + + Scale the Z input when not using a z-buffer, controls maximum blur designated by the color white or input value 1 (in [0, 1000], default 0.0) + + :type: float + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDenoise.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDenoise.rst new file mode 100644 index 0000000..7f4a5ac --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDenoise.rst @@ -0,0 +1,156 @@ +CompositorNodeDenoise(CompositorNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeDenoise(CompositorNode) + + Denoise renders from Cycles and other ray tracing renderers + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDespeckle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDespeckle.rst new file mode 100644 index 0000000..8ee3a88 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDespeckle.rst @@ -0,0 +1,156 @@ +CompositorNodeDespeckle(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeDespeckle(CompositorNode) + + Smooth areas of an image in which noise is noticeable, while leaving complex areas untouched + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDiffMatte.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDiffMatte.rst new file mode 100644 index 0000000..e27be41 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDiffMatte.rst @@ -0,0 +1,156 @@ +CompositorNodeDiffMatte(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeDiffMatte(CompositorNode) + + Produce a matte that isolates foreground content by comparing it with a reference background image + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDilateErode.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDilateErode.rst new file mode 100644 index 0000000..1490345 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDilateErode.rst @@ -0,0 +1,156 @@ +CompositorNodeDilateErode(CompositorNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeDilateErode(CompositorNode) + + Expand and shrink masks + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDisplace.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDisplace.rst new file mode 100644 index 0000000..2b23d03 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDisplace.rst @@ -0,0 +1,156 @@ +CompositorNodeDisplace(CompositorNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeDisplace(CompositorNode) + + Displace pixel position using an offset vector + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDistanceMatte.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDistanceMatte.rst new file mode 100644 index 0000000..bf892ed --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDistanceMatte.rst @@ -0,0 +1,156 @@ +CompositorNodeDistanceMatte(CompositorNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeDistanceMatte(CompositorNode) + + Create matte based on 3D distance between colors + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDoubleEdgeMask.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDoubleEdgeMask.rst new file mode 100644 index 0000000..b494fd3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeDoubleEdgeMask.rst @@ -0,0 +1,156 @@ +CompositorNodeDoubleEdgeMask(CompositorNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeDoubleEdgeMask(CompositorNode) + + Create a gradient between two masks + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeEllipseMask.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeEllipseMask.rst new file mode 100644 index 0000000..999e61d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeEllipseMask.rst @@ -0,0 +1,156 @@ +CompositorNodeEllipseMask(CompositorNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeEllipseMask(CompositorNode) + + Create elliptical mask suitable for use as a simple matte or vignette mask + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeExposure.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeExposure.rst new file mode 100644 index 0000000..7789295 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeExposure.rst @@ -0,0 +1,156 @@ +CompositorNodeExposure(CompositorNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeExposure(CompositorNode) + + Adjust brightness using a camera exposure parameter + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeFilter.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeFilter.rst new file mode 100644 index 0000000..f759cf4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeFilter.rst @@ -0,0 +1,156 @@ +CompositorNodeFilter(CompositorNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeFilter(CompositorNode) + + Apply common image enhancement filters + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeFlip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeFlip.rst new file mode 100644 index 0000000..86cb22e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeFlip.rst @@ -0,0 +1,156 @@ +CompositorNodeFlip(CompositorNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeFlip(CompositorNode) + + Flip an image along a defined axis + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeGamma.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeGamma.rst new file mode 100644 index 0000000..3aa570a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeGamma.rst @@ -0,0 +1,155 @@ +CompositorNodeGamma(CompositorNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeGamma(CompositorNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeGlare.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeGlare.rst new file mode 100644 index 0000000..0977dbe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeGlare.rst @@ -0,0 +1,156 @@ +CompositorNodeGlare(CompositorNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeGlare(CompositorNode) + + Add lens flares, fog and glows around bright parts of the image + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeGroup.rst new file mode 100644 index 0000000..007ce00 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeGroup.rst @@ -0,0 +1,159 @@ +CompositorNodeGroup(CompositorNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeGroup(CompositorNode) + + + .. attribute:: node_tree + + :type: :class:`NodeTree` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeHueCorrect.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeHueCorrect.rst new file mode 100644 index 0000000..e45404b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeHueCorrect.rst @@ -0,0 +1,162 @@ +CompositorNodeHueCorrect(CompositorNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeHueCorrect(CompositorNode) + + Adjust hue, saturation, and value with a curve + + .. data:: mapping + + (readonly) + + :type: :class:`CurveMapping` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeHueSat.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeHueSat.rst new file mode 100644 index 0000000..c52cd99 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeHueSat.rst @@ -0,0 +1,156 @@ +CompositorNodeHueSat(CompositorNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeHueSat(CompositorNode) + + Apply a color transformation in the HSV color model + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeIDMask.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeIDMask.rst new file mode 100644 index 0000000..bc80cca --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeIDMask.rst @@ -0,0 +1,156 @@ +CompositorNodeIDMask(CompositorNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeIDMask(CompositorNode) + + Create a matte from an object or material index pass + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeImage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeImage.rst new file mode 100644 index 0000000..69acdf8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeImage.rst @@ -0,0 +1,214 @@ +CompositorNodeImage(CompositorNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeImage(CompositorNode) + + Input image or movie file + + .. attribute:: frame_duration + + Number of images of a movie to use (in [0, 1048574], default 0) + + :type: int + + .. attribute:: frame_offset + + Offset the number of the frame to use in the animation (in [-1048574, 1048574], default 0) + + :type: int + + .. attribute:: frame_start + + Global starting frame of the movie/sequence, assuming first picture has a #1 (in [-1048574, 1048574], default 0) + + :type: int + + .. data:: has_layers + + True if this image has any named layer (default False, readonly) + + :type: bool + + .. data:: has_views + + True if this image has multiple views (default False, readonly) + + :type: bool + + .. attribute:: image + + :type: :class:`Image` | None + + .. attribute:: layer + + (default ``'PLACEHOLDER'``) + + :type: Literal['PLACEHOLDER'] + + .. attribute:: use_auto_refresh + + Always refresh image on frame changes (default False) + + :type: bool + + .. attribute:: use_cyclic + + Cycle the images in the movie (default False) + + :type: bool + + .. attribute:: view + + (default ``'ALL'``) + + :type: Literal['ALL'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeImageCoordinates.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeImageCoordinates.rst new file mode 100644 index 0000000..676140a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeImageCoordinates.rst @@ -0,0 +1,156 @@ +CompositorNodeImageCoordinates(CompositorNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeImageCoordinates(CompositorNode) + + Returns the coordinates of the pixels of an image + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeImageInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeImageInfo.rst new file mode 100644 index 0000000..49a9e76 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeImageInfo.rst @@ -0,0 +1,156 @@ +CompositorNodeImageInfo(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeImageInfo(CompositorNode) + + Returns information about an image + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeInpaint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeInpaint.rst new file mode 100644 index 0000000..ed4ce6f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeInpaint.rst @@ -0,0 +1,156 @@ +CompositorNodeInpaint(CompositorNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeInpaint(CompositorNode) + + Extend borders of an image into transparent or masked regions + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeInvert.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeInvert.rst new file mode 100644 index 0000000..6497e8c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeInvert.rst @@ -0,0 +1,156 @@ +CompositorNodeInvert(CompositorNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeInvert(CompositorNode) + + Invert colors, producing a negative + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeKeying.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeKeying.rst new file mode 100644 index 0000000..e69db35 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeKeying.rst @@ -0,0 +1,156 @@ +CompositorNodeKeying(CompositorNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeKeying(CompositorNode) + + Perform both chroma keying (to remove the backdrop) and despill (to correct color cast from the backdrop) + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeKeyingScreen.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeKeyingScreen.rst new file mode 100644 index 0000000..58addf5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeKeyingScreen.rst @@ -0,0 +1,166 @@ +CompositorNodeKeyingScreen(CompositorNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeKeyingScreen(CompositorNode) + + Create plates for use as a color reference for keying nodes + + .. attribute:: clip + + :type: :class:`MovieClip` | None + + .. attribute:: tracking_object + + (default "", never None) + + :type: str + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeKuwahara.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeKuwahara.rst new file mode 100644 index 0000000..84e1811 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeKuwahara.rst @@ -0,0 +1,156 @@ +CompositorNodeKuwahara(CompositorNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeKuwahara(CompositorNode) + + Apply smoothing filter that preserves edges, for stylized and painterly effects + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeLensdist.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeLensdist.rst new file mode 100644 index 0000000..af8324c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeLensdist.rst @@ -0,0 +1,156 @@ +CompositorNodeLensdist(CompositorNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeLensdist(CompositorNode) + + Simulate distortion and dispersion from camera lenses + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeLevels.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeLevels.rst new file mode 100644 index 0000000..d0bb283 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeLevels.rst @@ -0,0 +1,156 @@ +CompositorNodeLevels(CompositorNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeLevels(CompositorNode) + + Compute average and standard deviation of pixel values + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeLumaMatte.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeLumaMatte.rst new file mode 100644 index 0000000..9cc16d7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeLumaMatte.rst @@ -0,0 +1,156 @@ +CompositorNodeLumaMatte(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeLumaMatte(CompositorNode) + + Create a matte based on luminance (brightness) difference + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMapUV.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMapUV.rst new file mode 100644 index 0000000..3173d95 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMapUV.rst @@ -0,0 +1,156 @@ +CompositorNodeMapUV(CompositorNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeMapUV(CompositorNode) + + Map a texture using UV coordinates, to apply a texture to objects in compositing + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMask.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMask.rst new file mode 100644 index 0000000..0a3642b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMask.rst @@ -0,0 +1,160 @@ +CompositorNodeMask(CompositorNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeMask(CompositorNode) + + Input mask from a mask data-block, created in the image editor + + .. attribute:: mask + + :type: :class:`Mask` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMaskToSDF.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMaskToSDF.rst new file mode 100644 index 0000000..a003c3d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMaskToSDF.rst @@ -0,0 +1,156 @@ +CompositorNodeMaskToSDF(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeMaskToSDF(CompositorNode) + + Computes a signed distance field from the given mask + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMovieClip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMovieClip.rst new file mode 100644 index 0000000..1696f30 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMovieClip.rst @@ -0,0 +1,160 @@ +CompositorNodeMovieClip(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeMovieClip(CompositorNode) + + Input image or movie from a movie clip data-block, typically used for motion tracking + + .. attribute:: clip + + :type: :class:`MovieClip` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMovieDistortion.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMovieDistortion.rst new file mode 100644 index 0000000..12371cd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeMovieDistortion.rst @@ -0,0 +1,160 @@ +CompositorNodeMovieDistortion(CompositorNode) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeMovieDistortion(CompositorNode) + + Remove lens distortion from footage, using motion tracking camera lens settings + + .. attribute:: clip + + :type: :class:`MovieClip` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeNormal.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeNormal.rst new file mode 100644 index 0000000..0cec21a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeNormal.rst @@ -0,0 +1,156 @@ +CompositorNodeNormal(CompositorNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeNormal(CompositorNode) + + Input normalized normal values to other nodes in the tree + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeNormalize.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeNormalize.rst new file mode 100644 index 0000000..c89c717 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeNormalize.rst @@ -0,0 +1,156 @@ +CompositorNodeNormalize(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeNormalize(CompositorNode) + + Map values to 0 to 1 range, based on the minimum and maximum pixel values + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeOutputFile.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeOutputFile.rst new file mode 100644 index 0000000..4471b68 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeOutputFile.rst @@ -0,0 +1,192 @@ +CompositorNodeOutputFile(CompositorNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeOutputFile(CompositorNode) + + Write image file to disk + + .. attribute:: active_item_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: directory + + The directory where the image will be written (default "", never None, blend relative ``//`` prefix supported, Supports `template expressions `_) + + :type: str + + .. attribute:: file_name + + The base name of the file. Other information might be included in the final file name depending on the node options (default "", never None, Supports `template expressions `_) + + :type: str + + .. data:: file_output_items + + (default None, readonly) + + :type: :class:`NodeCompositorFileOutputItems`\ [:class:`NodeCompositorFileOutputItem`] + + .. data:: format + + (readonly) + + :type: :class:`ImageFormatSettings` | None + + .. attribute:: save_as_render + + Apply render part of display transform when saving byte image (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePixelate.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePixelate.rst new file mode 100644 index 0000000..cbe6c73 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePixelate.rst @@ -0,0 +1,156 @@ +CompositorNodePixelate(CompositorNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodePixelate(CompositorNode) + + Reduce detail in an image by making individual pixels more prominent, for a blocky or mosaic-like appearance + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePlaneTrackDeform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePlaneTrackDeform.rst new file mode 100644 index 0000000..ee04e23 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePlaneTrackDeform.rst @@ -0,0 +1,172 @@ +CompositorNodePlaneTrackDeform(CompositorNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodePlaneTrackDeform(CompositorNode) + + Replace flat planes in footage by another image, detected by plane tracks from motion tracking + + .. attribute:: clip + + :type: :class:`MovieClip` | None + + .. attribute:: plane_track_name + + (default "", never None) + + :type: str + + .. attribute:: tracking_object + + (default "", never None) + + :type: str + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePosterize.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePosterize.rst new file mode 100644 index 0000000..cc0a997 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePosterize.rst @@ -0,0 +1,156 @@ +CompositorNodePosterize(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodePosterize(CompositorNode) + + Reduce number of colors in an image, converting smooth gradients into sharp transitions + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePremulKey.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePremulKey.rst new file mode 100644 index 0000000..b97afd3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodePremulKey.rst @@ -0,0 +1,156 @@ +CompositorNodePremulKey(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodePremulKey(CompositorNode) + + Convert to and from premultiplied (associated) alpha + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRGB.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRGB.rst new file mode 100644 index 0000000..1bbd049 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRGB.rst @@ -0,0 +1,156 @@ +CompositorNodeRGB(CompositorNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeRGB(CompositorNode) + + A color picker + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRGBToBW.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRGBToBW.rst new file mode 100644 index 0000000..1007ab4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRGBToBW.rst @@ -0,0 +1,156 @@ +CompositorNodeRGBToBW(CompositorNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeRGBToBW(CompositorNode) + + Convert RGB input into grayscale using luminance + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRLayers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRLayers.rst new file mode 100644 index 0000000..bec5b47 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRLayers.rst @@ -0,0 +1,166 @@ +CompositorNodeRLayers(CompositorNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeRLayers(CompositorNode) + + Input render passes from a scene render + + .. attribute:: layer + + (default ``'PLACEHOLDER'``) + + :type: Literal['PLACEHOLDER'] + + .. attribute:: scene + + :type: :class:`Scene` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRelativeToPixel.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRelativeToPixel.rst new file mode 100644 index 0000000..9699552 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRelativeToPixel.rst @@ -0,0 +1,186 @@ +CompositorNodeRelativeToPixel(CompositorNode) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeRelativeToPixel(CompositorNode) + + Converts values that are relative to the image size to be in terms of pixels + + .. attribute:: data_type + + The type of data (default ``'FLOAT'``) + + - ``FLOAT`` + Float -- Float value. + - ``VECTOR`` + Vector -- Vector value. + + :type: Literal['FLOAT', 'VECTOR'] + + .. attribute:: reference_dimension + + Defines the dimension of the image that the relative value is in reference to (default ``'X'``) + + - ``PER_DIMENSION`` + Per Dimension -- The value is relative to each of the dimensions of the image independently. + - ``X`` + X -- The value is relative to the X dimension of the image. + - ``Y`` + Y -- The value is relative to the Y dimension of the image. + - ``Greater`` + Greater -- The value is relative to the greater dimension of the image. + - ``Smaller`` + Smaller -- The value is relative to the smaller dimension of the image. + - ``Diagonal`` + Diagonal -- The value is relative to the diagonal of the image. + + :type: Literal['PER_DIMENSION', 'X', 'Y', 'Greater', 'Smaller', 'Diagonal'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRotate.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRotate.rst new file mode 100644 index 0000000..f071d4f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeRotate.rst @@ -0,0 +1,156 @@ +CompositorNodeRotate(CompositorNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeRotate(CompositorNode) + + Rotate image by specified angle + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeScale.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeScale.rst new file mode 100644 index 0000000..7b18891 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeScale.rst @@ -0,0 +1,156 @@ +CompositorNodeScale(CompositorNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeScale(CompositorNode) + + Change the size of the image + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSceneTime.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSceneTime.rst new file mode 100644 index 0000000..a759e59 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSceneTime.rst @@ -0,0 +1,156 @@ +CompositorNodeSceneTime(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeSceneTime(CompositorNode) + + Input the current scene time in seconds or frames + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSeparateColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSeparateColor.rst new file mode 100644 index 0000000..1c30fff --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSeparateColor.rst @@ -0,0 +1,179 @@ +CompositorNodeSeparateColor(CompositorNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeSeparateColor(CompositorNode) + + Split an image into its composite color channels + + .. attribute:: mode + + Mode of color processing (default ``'RGB'``) + + - ``RGB`` + RGB -- Use RGB (Red, Green, Blue) color processing. + - ``HSV`` + HSV -- Use HSV (Hue, Saturation, Value) color processing. + - ``HSL`` + HSL -- Use HSL (Hue, Saturation, Lightness) color processing. + - ``YCC`` + YCbCr -- Use YCbCr (Y - luma, Cb - blue-difference chroma, Cr - red-difference chroma) color processing. + - ``YUV`` + YUV -- Use YUV (Y - luma, U V - chroma) color processing. + + :type: Literal['RGB', 'HSV', 'HSL', 'YCC', 'YUV'] + + .. attribute:: ycc_mode + + Color space used for YCbCrA processing (default ``'ITUBT601'``) + + :type: Literal['ITUBT601', 'ITUBT709', 'JFIF'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSequencerStripInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSequencerStripInfo.rst new file mode 100644 index 0000000..1e6f067 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSequencerStripInfo.rst @@ -0,0 +1,156 @@ +CompositorNodeSequencerStripInfo(CompositorNode) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeSequencerStripInfo(CompositorNode) + + Returns information about the active strip of the modifier + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSetAlpha.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSetAlpha.rst new file mode 100644 index 0000000..dd4d324 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSetAlpha.rst @@ -0,0 +1,156 @@ +CompositorNodeSetAlpha(CompositorNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeSetAlpha(CompositorNode) + + Add an alpha channel to an image + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSplit.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSplit.rst new file mode 100644 index 0000000..5b0be0d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSplit.rst @@ -0,0 +1,156 @@ +CompositorNodeSplit(CompositorNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeSplit(CompositorNode) + + Combine two images for side-by-side display. Typically used in combination with a Viewer node + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeStabilize.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeStabilize.rst new file mode 100644 index 0000000..6b547a2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeStabilize.rst @@ -0,0 +1,160 @@ +CompositorNodeStabilize(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeStabilize(CompositorNode) + + Stabilize footage using 2D stabilization motion tracking settings + + .. attribute:: clip + + :type: :class:`MovieClip` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSwitch.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSwitch.rst new file mode 100644 index 0000000..1c292e7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSwitch.rst @@ -0,0 +1,156 @@ +CompositorNodeSwitch(CompositorNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeSwitch(CompositorNode) + + Switch between two images using a checkbox + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSwitchView.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSwitchView.rst new file mode 100644 index 0000000..5d72e48 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeSwitchView.rst @@ -0,0 +1,156 @@ +CompositorNodeSwitchView(CompositorNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeSwitchView(CompositorNode) + + Combine the views (left and right) into a single stereo 3D output + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTime.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTime.rst new file mode 100644 index 0000000..9226424 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTime.rst @@ -0,0 +1,162 @@ +CompositorNodeTime(CompositorNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeTime(CompositorNode) + + Generate a factor value (from 0.0 to 1.0) between scene start and end time, using a curve mapping + + .. data:: curve + + (readonly) + + :type: :class:`CurveMapping` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTonemap.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTonemap.rst new file mode 100644 index 0000000..da129de --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTonemap.rst @@ -0,0 +1,156 @@ +CompositorNodeTonemap(CompositorNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeTonemap(CompositorNode) + + Map one set of colors to another in order to approximate the appearance of high dynamic range + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTrackPos.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTrackPos.rst new file mode 100644 index 0000000..1115335 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTrackPos.rst @@ -0,0 +1,172 @@ +CompositorNodeTrackPos(CompositorNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeTrackPos(CompositorNode) + + Provide information about motion tracking points, such as x and y values + + .. attribute:: clip + + :type: :class:`MovieClip` | None + + .. attribute:: track_name + + (default "", never None) + + :type: str + + .. attribute:: tracking_object + + (default "", never None) + + :type: str + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTransform.rst new file mode 100644 index 0000000..f07e5e0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTransform.rst @@ -0,0 +1,156 @@ +CompositorNodeTransform(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeTransform(CompositorNode) + + Scale, translate and rotate an image + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTranslate.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTranslate.rst new file mode 100644 index 0000000..11845c7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTranslate.rst @@ -0,0 +1,156 @@ +CompositorNodeTranslate(CompositorNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeTranslate(CompositorNode) + + Offset an image + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTree.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTree.rst new file mode 100644 index 0000000..08524ee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeTree.rst @@ -0,0 +1,140 @@ +CompositorNodeTree(NodeTree) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`NodeTree` + +.. class:: CompositorNodeTree(NodeTree) + + Node tree consisting of linked nodes used for compositing + + .. attribute:: use_viewer_border + + Unused but kept for compatibility reasons. Use boundaries for viewer nodes and composite backdrop (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`NodeTree.color_tag` + - :class:`NodeTree.default_group_node_width` + - :class:`NodeTree.view_center` + - :class:`NodeTree.description` + - :class:`NodeTree.animation_data` + - :class:`NodeTree.nodes` + - :class:`NodeTree.links` + - :class:`NodeTree.annotation` + - :class:`NodeTree.type` + - :class:`NodeTree.interface` + - :class:`NodeTree.bl_idname` + - :class:`NodeTree.bl_label` + - :class:`NodeTree.bl_description` + - :class:`NodeTree.bl_icon` + - :class:`NodeTree.bl_use_group_interface` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`NodeTree.interface_update` + - :class:`NodeTree.contains_tree` + - :class:`NodeTree.poll` + - :class:`NodeTree.update` + - :class:`NodeTree.get_from_context` + - :class:`NodeTree.valid_socket_type` + - :class:`NodeTree.debug_lazy_function_graph` + - :class:`NodeTree.bl_rna_get_subclass` + - :class:`NodeTree.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeVecBlur.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeVecBlur.rst new file mode 100644 index 0000000..41d7268 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeVecBlur.rst @@ -0,0 +1,156 @@ +CompositorNodeVecBlur(CompositorNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeVecBlur(CompositorNode) + + Uses the vector speed render pass to blur the image pixels in 2D + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeViewer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeViewer.rst new file mode 100644 index 0000000..0ae005c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeViewer.rst @@ -0,0 +1,162 @@ +CompositorNodeViewer(CompositorNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeViewer(CompositorNode) + + Visualize data from inside a node graph, in the image editor or as a backdrop + + .. attribute:: ui_shortcut + + (in [-32768, 32767], default 0) + + :type: int + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeZcombine.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeZcombine.rst new file mode 100644 index 0000000..7227b07 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CompositorNodeZcombine.rst @@ -0,0 +1,156 @@ +CompositorNodeZcombine(CompositorNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`CompositorNode` + +.. class:: CompositorNodeZcombine(CompositorNode) + + Combine two images using depth maps + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`CompositorNode.poll` + - :class:`CompositorNode.bl_rna_get_subclass` + - :class:`CompositorNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ConsoleLine.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ConsoleLine.rst new file mode 100644 index 0000000..3c4ab0d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ConsoleLine.rst @@ -0,0 +1,97 @@ +ConsoleLine(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ConsoleLine(bpy_struct) + + Input line for the interactive console + + .. attribute:: body + + Text in the line (default "", never None) + + :type: str + + .. attribute:: current_character + + (in [-inf, inf], default 0) + + :type: int + + .. attribute:: type + + Console line type when used in scrollback (default ``'OUTPUT'``) + + :type: Literal['OUTPUT', 'INPUT', 'INFO', 'ERROR'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceConsole.history` + - :class:`SpaceConsole.scrollback` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Constraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Constraint.rst new file mode 100644 index 0000000..590153b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Constraint.rst @@ -0,0 +1,208 @@ +Constraint(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`ActionConstraint`, :class:`ArmatureConstraint`, :class:`CameraSolverConstraint`, :class:`ChildOfConstraint`, :class:`ClampToConstraint`, :class:`CopyLocationConstraint`, :class:`CopyRotationConstraint`, :class:`CopyScaleConstraint`, :class:`CopyTransformsConstraint`, :class:`DampedTrackConstraint`, :class:`FloorConstraint`, :class:`FollowPathConstraint`, :class:`FollowTrackConstraint`, :class:`GeometryAttributeConstraint`, :class:`KinematicConstraint`, :class:`LimitDistanceConstraint`, :class:`LimitLocationConstraint`, :class:`LimitRotationConstraint`, :class:`LimitScaleConstraint`, :class:`LockedTrackConstraint`, :class:`MaintainVolumeConstraint`, :class:`ObjectSolverConstraint`, :class:`PivotConstraint`, :class:`ShrinkwrapConstraint`, :class:`SplineIKConstraint`, :class:`StretchToConstraint`, :class:`TrackToConstraint`, :class:`TransformCacheConstraint`, :class:`TransformConstraint` + +.. class:: Constraint(bpy_struct) + + Constraint modifying the transformation of objects and bones + + .. attribute:: active + + Constraint is the one being edited (default False) + + :type: bool + + .. attribute:: enabled + + Use the results of this constraint (default True) + + :type: bool + + .. data:: error_location + + Amount of residual error in Blender space unit for constraints that work on position (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: error_rotation + + Amount of residual error in radians for constraints that work on orientation (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. attribute:: influence + + Amount of influence constraint will have on the final solution (in [0, 1], default 0.0) + + :type: float + + .. data:: is_override_data + + In a local override object, whether this constraint comes from the linked reference object, or is local to the override (default True, readonly) + + :type: bool + + .. data:: is_valid + + Constraint has valid settings and can be evaluated (default True, readonly) + + :type: bool + + .. attribute:: mute + + Enable/Disable Constraint (default False) + + :type: bool + + .. attribute:: name + + Constraint name (default "", never None) + + :type: str + + .. attribute:: owner_space + + Space that owner is evaluated in (default ``'WORLD'``) + + - ``WORLD`` + World Space -- The constraint is applied relative to the world coordinate system. + - ``CUSTOM`` + Custom Space -- The constraint is applied in local space of a custom object/bone/vertex group. + - ``POSE`` + Pose Space -- The constraint is applied in Pose Space, the object transformation is ignored. + - ``LOCAL_WITH_PARENT`` + Local With Parent -- The constraint is applied relative to the rest pose local coordinate system of the bone, thus including the parent-induced transformation. + - ``LOCAL`` + Local Space -- The constraint is applied relative to the local coordinate system of the object. + + :type: Literal['WORLD', 'CUSTOM', 'POSE', 'LOCAL_WITH_PARENT', 'LOCAL'] + + .. attribute:: show_expanded + + Constraint's panel is expanded in UI (default False) + + :type: bool + + .. attribute:: space_object + + Object for Custom Space + + :type: :class:`Object` | None + + .. attribute:: space_subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target_space + + Space that target is evaluated in (default ``'WORLD'``) + + - ``WORLD`` + World Space -- The transformation of the target is evaluated relative to the world coordinate system. + - ``CUSTOM`` + Custom Space -- The transformation of the target is evaluated relative to a custom object/bone/vertex group. + - ``POSE`` + Pose Space -- The transformation of the target is only evaluated in the Pose Space, the target armature object transformation is ignored. + - ``LOCAL_WITH_PARENT`` + Local With Parent -- The transformation of the target bone is evaluated relative to its rest pose local coordinate system, thus including the parent-induced transformation. + - ``LOCAL`` + Local Space -- The transformation of the target is evaluated relative to its local coordinate system. + - ``LOCAL_OWNER_ORIENT`` + Local Space (Owner Orientation) -- The transformation of the target bone is evaluated relative to its local coordinate system, followed by a correction for the difference in target and owner rest pose orientations. When applied as local transform to the owner produces the same global motion as the target if the parents are still in rest pose.. + + :type: Literal['WORLD', 'CUSTOM', 'POSE', 'LOCAL_WITH_PARENT', 'LOCAL', 'LOCAL_OWNER_ORIENT'] + + .. data:: type + + (default ``'CAMERA_SOLVER'``, readonly) + + :type: Literal[:ref:`rna_enum_constraint_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.constraints` + - :class:`ObjectConstraints.active` + - :class:`ObjectConstraints.copy` + - :class:`ObjectConstraints.copy` + - :class:`ObjectConstraints.new` + - :class:`ObjectConstraints.remove` + - :class:`Panel.custom_data` + - :class:`PoseBone.constraints` + - :class:`PoseBoneConstraints.active` + - :class:`PoseBoneConstraints.copy` + - :class:`PoseBoneConstraints.copy` + - :class:`PoseBoneConstraints.new` + - :class:`PoseBoneConstraints.remove` + - :class:`UILayout.template_constraint_header` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ConstraintTarget.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ConstraintTarget.rst new file mode 100644 index 0000000..b65c4d5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ConstraintTarget.rst @@ -0,0 +1,82 @@ +ConstraintTarget(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ConstraintTarget(bpy_struct) + + Target object for multi-target constraints + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ConstraintTargetBone.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ConstraintTargetBone.rst new file mode 100644 index 0000000..0d833e1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ConstraintTargetBone.rst @@ -0,0 +1,98 @@ +ConstraintTargetBone(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ConstraintTargetBone(bpy_struct) + + Target bone for multi-target constraints + + .. attribute:: subtarget + + Target armature bone (default "", never None) + + :type: str + + .. attribute:: target + + Target armature + + :type: :class:`Object` | None + + .. attribute:: weight + + Blending weight of this bone (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ArmatureConstraint.targets` + - :class:`ArmatureConstraintTargets.new` + - :class:`ArmatureConstraintTargets.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Context.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Context.rst new file mode 100644 index 0000000..95906e9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Context.rst @@ -0,0 +1,937 @@ +Context(bpy_struct) +=================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Context(bpy_struct) + + Current windowmanager and data context + + .. data:: area + + (readonly) + + :type: :class:`Area` | None + + .. data:: asset + + (readonly) + + :type: :class:`AssetRepresentation` | None + + .. data:: blend_data + + (readonly) + + :type: :class:`BlendData` | None + + .. data:: collection + + (readonly) + + :type: :class:`Collection` | None + + .. data:: engine + + (default "", readonly, never None) + + :type: str + + .. data:: gizmo_group + + (readonly) + + :type: :class:`GizmoGroup` | None + + .. data:: layer_collection + + (readonly) + + :type: :class:`LayerCollection` | None + + .. data:: mode + + (default ``'EDIT_MESH'``, readonly) + + :type: Literal[:ref:`rna_enum_context_mode_items`] + + .. data:: preferences + + (readonly) + + :type: :class:`Preferences` | None + + .. data:: region + + (readonly) + + :type: :class:`Region` | None + + .. data:: region_data + + (readonly) + + :type: :class:`RegionView3D` | None + + .. data:: region_popup + + The temporary region for pop-ups (including menus and pop-overs) (readonly) + + :type: :class:`Region` | None + + .. data:: scene + + (readonly) + + :type: :class:`Scene` | None + + .. data:: screen + + (readonly) + + :type: :class:`Screen` | None + + .. data:: space_data + + The current space, may be None in background-mode, when the cursor is outside the window or when using menu-search (readonly) + + :type: :class:`Space` | None + + .. data:: tool_settings + + (readonly) + + :type: :class:`ToolSettings` | None + + .. data:: view_layer + + (readonly) + + :type: :class:`ViewLayer` | None + + .. data:: window + + (readonly) + + :type: :class:`Window` | None + + .. data:: window_manager + + (readonly) + + :type: :class:`WindowManager` | None + + .. data:: workspace + + (readonly) + + :type: :class:`WorkSpace` | None + + + .. rubric:: Buttons Context + + .. data:: texture_slot + + :type: :class:`TextureSlot` + + .. data:: scene + :noindex: + + :type: :class:`Scene` + + .. data:: world + + :type: :class:`World` + + .. data:: object + + :type: :class:`Object` + + .. data:: mesh + + :type: :class:`Mesh` + + .. data:: armature + + :type: :class:`Armature` + + .. data:: lattice + + :type: :class:`Lattice` + + .. data:: curve + + :type: :class:`Curve` + + .. data:: meta_ball + + :type: :class:`MetaBall` + + .. data:: light + + :type: :class:`Light` + + .. data:: speaker + + :type: :class:`Speaker` + + .. data:: lightprobe + + :type: :class:`LightProbe` + + .. data:: camera + + :type: :class:`Camera` + + .. data:: material + + :type: :class:`Material` + + .. data:: material_slot + + :type: :class:`MaterialSlot` + + .. data:: texture + + :type: :class:`Texture` + + .. data:: texture_user + + :type: :class:`ID` + + .. data:: texture_user_property + + :type: :class:`Property` + + .. data:: texture_node + + :type: :class:`Node` + + .. data:: bone + + :type: :class:`Bone` + + .. data:: edit_bone + + :type: :class:`EditBone` + + .. data:: pose_bone + + :type: :class:`PoseBone` + + .. data:: particle_system + + :type: :class:`ParticleSystem` + + .. data:: particle_system_editable + + :type: :class:`ParticleSystem` + + .. data:: particle_settings + + :type: :class:`ParticleSettings` + + .. data:: cloth + + :type: :class:`ClothModifier` + + .. data:: soft_body + + :type: :class:`SoftBodyModifier` + + .. data:: fluid + + :type: :class:`FluidModifier` + + .. data:: collision + + :type: :class:`CollisionModifier` + + .. data:: brush + + :type: :class:`Brush` + + .. data:: dynamic_paint + + :type: :class:`DynamicPaintModifier` + + .. data:: line_style + + :type: :class:`FreestyleLineStyle` + + .. data:: collection + :noindex: + + :type: :class:`LayerCollection` + + .. data:: gpencil + + :type: :class:`GreasePencil` + + .. data:: grease_pencil + + :type: :class:`GreasePencil` + + .. data:: curves + + :type: :class:`Curves` + + .. data:: pointcloud + + :type: :class:`PointCloud` + + .. data:: volume + + :type: :class:`Volume` + + .. data:: strip + + :type: :class:`Strip` + + .. data:: strip_modifier + + :type: :class:`StripModifier` + + + .. rubric:: Clip Context + + .. data:: edit_movieclip + + :type: :class:`MovieClip` + + .. data:: edit_mask + + :type: :class:`Mask` + + + .. rubric:: File Context + + .. data:: active_file + + :type: :class:`FileSelectEntry` + + .. data:: selected_files + + :type: Sequence[:class:`FileSelectEntry`] + + .. data:: asset_library_reference + + :type: :class:`AssetLibraryReference` + + .. data:: asset + :noindex: + + :type: :class:`AssetRepresentation` + + .. data:: selected_assets + + :type: Sequence[:class:`AssetRepresentation`] + + .. data:: id + + :type: :class:`ID` + + .. data:: selected_ids + + :type: Sequence[:class:`ID`] + + + .. rubric:: Image Context + + .. data:: edit_image + + :type: :class:`Image` + + .. data:: edit_mask + :noindex: + + :type: :class:`Mask` + + + .. rubric:: Node Context + + .. data:: selected_nodes + + :type: Sequence[:class:`Node`] + + .. data:: active_node + + :type: :class:`Node` + + .. data:: light + :noindex: + + :type: :class:`Light` + + .. data:: material + :noindex: + + :type: :class:`Material` + + .. data:: world + :noindex: + + :type: :class:`World` + + + .. rubric:: Screen Context + + .. data:: scene + :noindex: + + :type: :class:`Scene` + + .. data:: view_layer + :noindex: + + :type: :class:`ViewLayer` + + .. data:: visible_objects + + :type: Sequence[:class:`Object`] + + .. data:: selectable_objects + + :type: Sequence[:class:`Object`] + + .. data:: selected_objects + + :type: Sequence[:class:`Object`] + + .. data:: editable_objects + + :type: Sequence[:class:`Object`] + + .. data:: selected_editable_objects + + :type: Sequence[:class:`Object`] + + .. data:: objects_in_mode + + :type: Sequence[:class:`Object`] + + .. data:: objects_in_mode_unique_data + + :type: Sequence[:class:`Object`] + + .. data:: visible_bones + + :type: Sequence[:class:`EditBone`] + + .. data:: editable_bones + + :type: Sequence[:class:`EditBone`] + + .. data:: selected_bones + + :type: Sequence[:class:`EditBone`] + + .. data:: selected_editable_bones + + :type: Sequence[:class:`EditBone`] + + .. data:: visible_pose_bones + + :type: Sequence[:class:`PoseBone`] + + .. data:: selected_pose_bones + + :type: Sequence[:class:`PoseBone`] + + .. data:: selected_pose_bones_from_active_object + + :type: Sequence[:class:`PoseBone`] + + .. data:: active_bone + + :type: :class:`EditBone` | :class:`Bone` + + .. data:: active_pose_bone + + :type: :class:`PoseBone` + + .. data:: active_object + + :type: :class:`Object` + + .. data:: object + :noindex: + + :type: :class:`Object` + + .. data:: edit_object + + :type: :class:`Object` + + .. data:: sculpt_object + + :type: :class:`Object` + + .. data:: vertex_paint_object + + :type: :class:`Object` + + .. data:: weight_paint_object + + :type: :class:`Object` + + .. data:: image_paint_object + + :type: :class:`Object` + + .. data:: particle_edit_object + + :type: :class:`Object` + + .. data:: pose_object + + :type: :class:`Object` + + .. data:: active_nla_track + + :type: :class:`NlaTrack` + + .. data:: active_nla_strip + + :type: :class:`NlaStrip` + + .. data:: selected_nla_strips + + :type: Sequence[:class:`NlaStrip`] + + .. data:: selected_movieclip_tracks + + :type: Sequence[:class:`MovieTrackingTrack`] + + .. data:: annotation_data + + :type: :class:`GreasePencil` + + .. data:: annotation_data_owner + + :type: :class:`ID` + + .. data:: active_annotation_layer + + :type: :class:`AnnotationLayer` + + .. data:: grease_pencil + :noindex: + + :type: :class:`GreasePencil` + + .. data:: active_operator + + :type: :class:`Operator` + + .. data:: active_action + + :type: :class:`Action` + + .. data:: selected_visible_actions + + :type: Sequence[:class:`Action`] + + .. data:: selected_editable_actions + + :type: Sequence[:class:`Action`] + + .. data:: visible_fcurves + + :type: Sequence[:class:`FCurve`] + + .. data:: editable_fcurves + + :type: Sequence[:class:`FCurve`] + + .. data:: selected_visible_fcurves + + :type: Sequence[:class:`FCurve`] + + .. data:: selected_editable_fcurves + + :type: Sequence[:class:`FCurve`] + + .. data:: active_editable_fcurve + + :type: :class:`FCurve` + + .. data:: selected_editable_keyframes + + :type: Sequence[:class:`Keyframe`] + + .. data:: ui_list + + :type: :class:`UIList` + + .. data:: property + + :type: :class:`AnyType` | :class:`str` | :class:`int` + + + Get the property associated with a hovered button. + Returns a tuple of the data-block, data path to the property, and array index. + + .. note:: + + When the property doesn't have an associated :class:`bpy.types.ID` non-ID data may be returned. + This may occur when accessing windowing data, for example, operator properties. + + .. literalinclude:: ./examples/bpy.context.property.0.py + :lines: 10- + + .. data:: asset_library_reference + :noindex: + + :type: :class:`AssetLibraryReference` + + .. data:: active_strip + + :type: :class:`Strip` + + .. data:: strips + + :type: Sequence[:class:`Strip`] + + .. data:: selected_strips + + :type: Sequence[:class:`Strip`] + + .. data:: selected_editable_strips + + :type: Sequence[:class:`Strip`] + + .. data:: sequencer_scene + + :type: :class:`Scene` + + + .. rubric:: Sequencer Context + + .. data:: edit_mask + :noindex: + + :type: :class:`Mask` + + .. data:: tool_settings + :noindex: + + :type: :class:`ToolSettings` + + + .. rubric:: Text Context + + .. data:: edit_text + + :type: :class:`Text` + + + .. rubric:: View3D Context + + .. data:: active_object + :noindex: + + :type: :class:`Object` + + .. data:: selected_ids + :noindex: + + :type: Sequence[:class:`ID`] + + + .. rubric:: Methods + + .. method:: evaluated_depsgraph_get() + + Get the dependency graph for the current scene and view layer, to access to data-blocks with animation and modifiers applied. If any data-blocks have been edited, the dependency graph will be updated. This invalidates all references to evaluated data-blocks from the dependency graph. + + :return: Evaluated dependency graph + :rtype: :class:`Depsgraph` + + .. method:: copy() + + Get context members as a dictionary. + + :rtype: dict[str, Any] + + .. method:: path_resolve(path, coerce=True) + + Returns the property from the path, raise an exception when not found. + + :param path: patch which this property resolves. + :type path: str + :param coerce: optional argument, when True, the property will be converted into its Python representation. + :type coerce: bool + :return: Property value or property object. + :rtype: Any | :class:`bpy.types.bpy_prop` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + + .. method:: temp_override(*, window=None, screen=None, area=None, region=None, **keywords) + + Context manager to temporarily override members in the context. + + :param window: Window override or None. + :type window: :class:`bpy.types.Window` | None + :param screen: Screen override or None. + + .. note:: Switching to or away from full-screen areas & temporary screens isn't supported. Passing in these screens will raise an exception, actions that leave the context such screens won't restore the prior screen. + + .. note:: Changing the screen has wider implications than other arguments as it will also change the works-space and potentially the scene (when pinned). + + :type screen: :class:`bpy.types.Screen` | None + :param area: Area override or None. + :type area: :class:`bpy.types.Area` | None + :param region: Region override or None. + :type region: :class:`bpy.types.Region` | None + :param keywords: Additional keywords override context members. + :return: The context manager. + :rtype: ContextTempOverride + + + Overriding the context can be used to temporarily activate another ``window`` / ``area`` & ``region``, + as well as other members such as the ``active_object`` or ``bone``. + + Notes: + + - When overriding window, area and regions: the arguments must be consistent, + so any region argument that's passed in must be contained by the current area or the area passed in. + The same goes for the area needing to be contained in the current window. + + - Temporary context overrides may be nested, when this is done, members will be added to the existing overrides. + + - Context members are restored outside the scope of the context-manager. + The only exception to this is when the data is no longer available. + + In the event windowing data was removed (for example), the state of the context is left as-is. + While this isn't likely to happen, explicit window operation such as closing windows or loading a new file + remove the windowing data that was set before the temporary context was created. + + + Overriding the context can be useful to set the context after loading files + (which would otherwise be None). For example: + + .. literalinclude:: ./examples/bpy.types.Context.temp_override.2.py + :lines: 6- + + + This example shows how it's possible to add an object to the scene in another window. + + .. literalinclude:: ./examples/bpy.types.Context.temp_override.3.py + :lines: 4- + + + **Logging Context Member Access** + + Context members can be logged by calling ``logging_set(True)`` on the "with" target of a temporary override. + This will log the members that are being accessed during the operation and may + assist in debugging when it is unclear which members need to be overridden. + + In the event an operator fails to execute because of a missing context member, logging may help + identify which member is required. + + This example shows how to log which context members are being accessed. + Log statements are printed to your system's console. + + .. important:: + + Not all operators rely on Context Members and therefore will not be affected by + :class:`bpy.types.Context.temp_override`, use logging to what members if any are accessed. + + .. literalinclude:: ./examples/bpy.types.Context.temp_override.4.py + :lines: 20- + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.poll` + - :class:`FileHandler.poll_drop` + - :class:`Gizmo.draw` + - :class:`Gizmo.draw_select` + - :class:`Gizmo.exit` + - :class:`Gizmo.invoke` + - :class:`Gizmo.modal` + - :class:`Gizmo.test_select` + - :class:`GizmoGroup.draw_prepare` + - :class:`GizmoGroup.invoke_prepare` + - :class:`GizmoGroup.poll` + - :class:`GizmoGroup.refresh` + - :class:`GizmoGroup.setup` + - :class:`Header.draw` + - :class:`KeyingSetInfo.generate` + - :class:`KeyingSetInfo.iterator` + - :class:`KeyingSetInfo.poll` + - :class:`Macro.draw` + - :class:`Macro.poll` + - :class:`Menu.draw` + - :class:`Menu.poll` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.init` + - :class:`Node.socket_value_update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeTree.get_from_context` + - :class:`NodeTree.interface_update` + - :class:`NodeTree.poll` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocketBool.draw` + - :class:`NodeTreeInterfaceSocketBundle.draw` + - :class:`NodeTreeInterfaceSocketClosure.draw` + - :class:`NodeTreeInterfaceSocketCollection.draw` + - :class:`NodeTreeInterfaceSocketColor.draw` + - :class:`NodeTreeInterfaceSocketFloat.draw` + - :class:`NodeTreeInterfaceSocketFloatAngle.draw` + - :class:`NodeTreeInterfaceSocketFloatColorTemperature.draw` + - :class:`NodeTreeInterfaceSocketFloatDistance.draw` + - :class:`NodeTreeInterfaceSocketFloatFactor.draw` + - :class:`NodeTreeInterfaceSocketFloatFrequency.draw` + - :class:`NodeTreeInterfaceSocketFloatMass.draw` + - :class:`NodeTreeInterfaceSocketFloatPercentage.draw` + - :class:`NodeTreeInterfaceSocketFloatTime.draw` + - :class:`NodeTreeInterfaceSocketFloatTimeAbsolute.draw` + - :class:`NodeTreeInterfaceSocketFloatUnsigned.draw` + - :class:`NodeTreeInterfaceSocketFloatWavelength.draw` + - :class:`NodeTreeInterfaceSocketGeometry.draw` + - :class:`NodeTreeInterfaceSocketImage.draw` + - :class:`NodeTreeInterfaceSocketInt.draw` + - :class:`NodeTreeInterfaceSocketIntFactor.draw` + - :class:`NodeTreeInterfaceSocketIntPercentage.draw` + - :class:`NodeTreeInterfaceSocketIntUnsigned.draw` + - :class:`NodeTreeInterfaceSocketMaterial.draw` + - :class:`NodeTreeInterfaceSocketMatrix.draw` + - :class:`NodeTreeInterfaceSocketMenu.draw` + - :class:`NodeTreeInterfaceSocketObject.draw` + - :class:`NodeTreeInterfaceSocketRotation.draw` + - :class:`NodeTreeInterfaceSocketShader.draw` + - :class:`NodeTreeInterfaceSocketString.draw` + - :class:`NodeTreeInterfaceSocketStringFilePath.draw` + - :class:`NodeTreeInterfaceSocketTexture.draw` + - :class:`NodeTreeInterfaceSocketVector.draw` + - :class:`NodeTreeInterfaceSocketVector2D.draw` + - :class:`NodeTreeInterfaceSocketVector4D.draw` + - :class:`NodeTreeInterfaceSocketVectorAcceleration.draw` + - :class:`NodeTreeInterfaceSocketVectorAcceleration2D.draw` + - :class:`NodeTreeInterfaceSocketVectorAcceleration4D.draw` + - :class:`NodeTreeInterfaceSocketVectorDirection.draw` + - :class:`NodeTreeInterfaceSocketVectorDirection2D.draw` + - :class:`NodeTreeInterfaceSocketVectorDirection4D.draw` + - :class:`NodeTreeInterfaceSocketVectorEuler.draw` + - :class:`NodeTreeInterfaceSocketVectorEuler2D.draw` + - :class:`NodeTreeInterfaceSocketVectorEuler4D.draw` + - :class:`NodeTreeInterfaceSocketVectorFactor.draw` + - :class:`NodeTreeInterfaceSocketVectorFactor2D.draw` + - :class:`NodeTreeInterfaceSocketVectorFactor4D.draw` + - :class:`NodeTreeInterfaceSocketVectorPercentage.draw` + - :class:`NodeTreeInterfaceSocketVectorPercentage2D.draw` + - :class:`NodeTreeInterfaceSocketVectorPercentage4D.draw` + - :class:`NodeTreeInterfaceSocketVectorTranslation.draw` + - :class:`NodeTreeInterfaceSocketVectorTranslation2D.draw` + - :class:`NodeTreeInterfaceSocketVectorTranslation4D.draw` + - :class:`NodeTreeInterfaceSocketVectorVelocity.draw` + - :class:`NodeTreeInterfaceSocketVectorVelocity2D.draw` + - :class:`NodeTreeInterfaceSocketVectorVelocity4D.draw` + - :class:`NodeTreeInterfaceSocketVectorXYZ.draw` + - :class:`NodeTreeInterfaceSocketVectorXYZ2D.draw` + - :class:`NodeTreeInterfaceSocketVectorXYZ4D.draw` + - :class:`Operator.cancel` + - :class:`Operator.check` + - :class:`Operator.description` + - :class:`Operator.draw` + - :class:`Operator.execute` + - :class:`Operator.invoke` + - :class:`Operator.modal` + - :class:`Operator.poll` + - :class:`Panel.draw` + - :class:`Panel.draw_header` + - :class:`Panel.draw_header_preset` + - :class:`Panel.poll` + - :class:`RenderEngine.draw` + - :class:`RenderEngine.view_draw` + - :class:`RenderEngine.view_update` + - :class:`UIList.draw_filter` + - :class:`UIList.draw_item` + - :class:`UIList.filter_items` + - :class:`XrSessionState.action_binding_create` + - :class:`XrSessionState.action_create` + - :class:`XrSessionState.action_set_create` + - :class:`XrSessionState.action_state_get` + - :class:`XrSessionState.active_action_set_set` + - :class:`XrSessionState.controller_aim_location_get` + - :class:`XrSessionState.controller_aim_rotation_get` + - :class:`XrSessionState.controller_grip_location_get` + - :class:`XrSessionState.controller_grip_rotation_get` + - :class:`XrSessionState.controller_pose_actions_set` + - :class:`XrSessionState.haptic_action_apply` + - :class:`XrSessionState.haptic_action_stop` + - :class:`XrSessionState.is_running` + - :class:`XrSessionState.reset_to_base_pose` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyLocationConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyLocationConstraint.rst new file mode 100644 index 0000000..72dbb6e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyLocationConstraint.rst @@ -0,0 +1,153 @@ +CopyLocationConstraint(Constraint) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: CopyLocationConstraint(Constraint) + + Copy the location of the target + + .. attribute:: head_tail + + Target along length of bone: Head is 0, Tail is 1 (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert_x + + Invert the X location (default False) + + :type: bool + + .. attribute:: invert_y + + Invert the Y location (default False) + + :type: bool + + .. attribute:: invert_z + + Invert the Z location (default False) + + :type: bool + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: use_bbone_shape + + Follow shape of B-Bone segments when calculating Head/Tail position (default False) + + :type: bool + + .. attribute:: use_offset + + Add original location into copied location (default False) + + :type: bool + + .. attribute:: use_x + + Copy the target's X location (default False) + + :type: bool + + .. attribute:: use_y + + Copy the target's Y location (default False) + + :type: bool + + .. attribute:: use_z + + Copy the target's Z location (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyRotationConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyRotationConstraint.rst new file mode 100644 index 0000000..c9d8b54 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyRotationConstraint.rst @@ -0,0 +1,179 @@ +CopyRotationConstraint(Constraint) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: CopyRotationConstraint(Constraint) + + Copy the rotation of the target + + .. attribute:: euler_order + + Explicitly specify the euler rotation order (default ``'AUTO'``) + + - ``AUTO`` + Default -- Euler using the default rotation order. + - ``XYZ`` + XYZ Euler -- Euler using the XYZ rotation order. + - ``XZY`` + XZY Euler -- Euler using the XZY rotation order. + - ``YXZ`` + YXZ Euler -- Euler using the YXZ rotation order. + - ``YZX`` + YZX Euler -- Euler using the YZX rotation order. + - ``ZXY`` + ZXY Euler -- Euler using the ZXY rotation order. + - ``ZYX`` + ZYX Euler -- Euler using the ZYX rotation order. + + :type: Literal['AUTO', 'XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'] + + .. attribute:: invert_x + + Invert the X rotation (default False) + + :type: bool + + .. attribute:: invert_y + + Invert the Y rotation (default False) + + :type: bool + + .. attribute:: invert_z + + Invert the Z rotation (default False) + + :type: bool + + .. attribute:: mix_mode + + Specify how the copied and existing rotations are combined (default ``'REPLACE'``) + + - ``REPLACE`` + Replace -- Replace the original rotation with copied. + - ``ADD`` + Add -- Add euler component values together. + - ``BEFORE`` + Before Original -- Apply copied rotation before original, as if the constraint target is a parent. + - ``AFTER`` + After Original -- Apply copied rotation after original, as if the constraint target is a child. + - ``OFFSET`` + Offset (Legacy) -- Combine rotations like the original Offset checkbox. Does not work well for multiple axis rotations.. + + :type: Literal['REPLACE', 'ADD', 'BEFORE', 'AFTER', 'OFFSET'] + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: use_offset + + DEPRECATED: Add original rotation into copied rotation (default False) + + :type: bool + + .. attribute:: use_x + + Copy the target's X rotation (default False) + + :type: bool + + .. attribute:: use_y + + Copy the target's Y rotation (default False) + + :type: bool + + .. attribute:: use_z + + Copy the target's Z rotation (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyScaleConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyScaleConstraint.rst new file mode 100644 index 0000000..0a49fd1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyScaleConstraint.rst @@ -0,0 +1,141 @@ +CopyScaleConstraint(Constraint) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: CopyScaleConstraint(Constraint) + + Copy the scale of the target + + .. attribute:: power + + Raise the target's scale to the specified power (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: use_add + + Use addition instead of multiplication to combine scale (2.7 compatibility) (default True) + + :type: bool + + .. attribute:: use_make_uniform + + Redistribute the copied change in volume equally between the three axes of the owner (default False) + + :type: bool + + .. attribute:: use_offset + + Combine original scale with copied scale (default False) + + :type: bool + + .. attribute:: use_x + + Copy the target's X scale (default False) + + :type: bool + + .. attribute:: use_y + + Copy the target's Y scale (default False) + + :type: bool + + .. attribute:: use_z + + Copy the target's Z scale (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyTransformsConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyTransformsConstraint.rst new file mode 100644 index 0000000..984a019 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CopyTransformsConstraint.rst @@ -0,0 +1,138 @@ +CopyTransformsConstraint(Constraint) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: CopyTransformsConstraint(Constraint) + + Copy all the transforms of the target + + .. attribute:: head_tail + + Target along length of bone: Head is 0, Tail is 1 (in [0, 1], default 0.0) + + :type: float + + .. attribute:: mix_mode + + Specify how the copied and existing transformations are combined (default ``'REPLACE'``) + + - ``REPLACE`` + Replace -- Replace the original transformation with copied. + - ``BEFORE_FULL`` + Before Original (Full) -- Apply copied transformation before original, using simple matrix multiplication as if the constraint target is a parent in Full Inherit Scale mode. Will create shear when combining rotation and non-uniform scale.. + - ``BEFORE`` + Before Original (Aligned) -- Apply copied transformation before original, as if the constraint target is a parent in Aligned Inherit Scale mode. This effectively uses Full for location and Split Channels for rotation and scale.. + - ``BEFORE_SPLIT`` + Before Original (Split Channels) -- Apply copied transformation before original, handling location, rotation and scale separately, similar to a sequence of three Copy constraints. + - ``AFTER_FULL`` + After Original (Full) -- Apply copied transformation after original, using simple matrix multiplication as if the constraint target is a child in Full Inherit Scale mode. Will create shear when combining rotation and non-uniform scale.. + - ``AFTER`` + After Original (Aligned) -- Apply copied transformation after original, as if the constraint target is a child in Aligned Inherit Scale mode. This effectively uses Full for location and Split Channels for rotation and scale.. + - ``AFTER_SPLIT`` + After Original (Split Channels) -- Apply copied transformation after original, handling location, rotation and scale separately, similar to a sequence of three Copy constraints. + + :type: Literal['REPLACE', 'BEFORE_FULL', 'BEFORE', 'BEFORE_SPLIT', 'AFTER_FULL', 'AFTER', 'AFTER_SPLIT'] + + .. attribute:: remove_target_shear + + Remove shear from the target transformation before combining (default False) + + :type: bool + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: use_bbone_shape + + Follow shape of B-Bone segments when calculating Head/Tail position (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CorrectiveSmoothModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CorrectiveSmoothModifier.rst new file mode 100644 index 0000000..5ecec5f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CorrectiveSmoothModifier.rst @@ -0,0 +1,155 @@ +CorrectiveSmoothModifier(Modifier) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: CorrectiveSmoothModifier(Modifier) + + Correct distortion caused by deformation + + .. attribute:: factor + + Smooth effect factor (in [-inf, inf], default 0.5) + + :type: float + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. data:: is_bind + + (default False, readonly) + + :type: bool + + .. attribute:: iterations + + (in [0, 32767], default 5) + + :type: int + + .. attribute:: rest_source + + Select the source of rest positions (default ``'ORCO'``) + + - ``ORCO`` + Original Coords -- Use base mesh vertex coordinates as the rest position. + - ``BIND`` + Bind Coords -- Use bind vertex coordinates for rest position. + + :type: Literal['ORCO', 'BIND'] + + .. attribute:: scale + + Compensate for scale applied by other modifiers (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: smooth_type + + Method used for smoothing (default ``'SIMPLE'``) + + - ``SIMPLE`` + Simple -- Use the average of adjacent edge-vertices. + - ``LENGTH_WEIGHTED`` + Length Weight -- Use the average of adjacent edge-vertices weighted by their length. + + :type: Literal['SIMPLE', 'LENGTH_WEIGHTED'] + + .. attribute:: use_only_smooth + + Apply smoothing without reconstructing the surface (default False) + + :type: bool + + .. attribute:: use_pin_boundary + + Excludes boundary vertices from being smoothed (default False) + + :type: bool + + .. attribute:: vertex_group + + Name of Vertex Group which determines influence of modifier per point (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CrossStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CrossStrip.rst new file mode 100644 index 0000000..765522d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CrossStrip.rst @@ -0,0 +1,144 @@ +CrossStrip(EffectStrip) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: CrossStrip(EffectStrip) + + Crossfade Strip + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. attribute:: input_2 + + Second input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CryptomatteEntry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CryptomatteEntry.rst new file mode 100644 index 0000000..94e484e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CryptomatteEntry.rst @@ -0,0 +1,89 @@ +CryptomatteEntry(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CryptomatteEntry(bpy_struct) + + + .. data:: encoded_hash + + (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: name + + (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CompositorNodeCryptomatteV2.entries` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Curve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Curve.rst new file mode 100644 index 0000000..b1cf713 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Curve.rst @@ -0,0 +1,442 @@ +Curve(ID) +========= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +subclasses --- +:class:`SurfaceCurve`, :class:`TextCurve` + +.. class:: Curve(ID) + + Curve data-block storing curves, splines and NURBS + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: bevel_depth + + Radius of the bevel geometry, not including extrusion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bevel_factor_end + + Define where along the spline the curve geometry ends (0 for the beginning, 1 for the end) (in [0, 1], default 1.0) + + :type: float + + .. attribute:: bevel_factor_mapping_end + + Determine how the geometry end factor is mapped to a spline (default ``'RESOLUTION'``) + + - ``RESOLUTION`` + Resolution -- Map the geometry factor to the number of subdivisions of a spline (U resolution). + - ``SEGMENTS`` + Segments -- Map the geometry factor to the length of a segment and to the number of subdivisions of a segment. + - ``SPLINE`` + Spline -- Map the geometry factor to the length of a spline. + + :type: Literal['RESOLUTION', 'SEGMENTS', 'SPLINE'] + + .. attribute:: bevel_factor_mapping_start + + Determine how the geometry start factor is mapped to a spline (default ``'RESOLUTION'``) + + - ``RESOLUTION`` + Resolution -- Map the geometry factor to the number of subdivisions of a spline (U resolution). + - ``SEGMENTS`` + Segments -- Map the geometry factor to the length of a segment and to the number of subdivisions of a segment. + - ``SPLINE`` + Spline -- Map the geometry factor to the length of a spline. + + :type: Literal['RESOLUTION', 'SEGMENTS', 'SPLINE'] + + .. attribute:: bevel_factor_start + + Define where along the spline the curve geometry starts (0 for the beginning, 1 for the end) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: bevel_mode + + Determine how to build the curve's bevel geometry (default ``'ROUND'``) + + - ``ROUND`` + Round -- Use circle for the section of the curve's bevel geometry. + - ``OBJECT`` + Object -- Use an object for the section of the curve's bevel geometry segment. + - ``PROFILE`` + Profile -- Use a custom profile for each quarter of curve's bevel geometry. + + :type: Literal['ROUND', 'OBJECT', 'PROFILE'] + + .. attribute:: bevel_object + + The name of the Curve object that defines the bevel shape + + :type: :class:`Object` | None + + .. data:: bevel_profile + + The path for the curve's custom profile (readonly) + + :type: :class:`CurveProfile` | None + + .. attribute:: bevel_resolution + + The number of segments in each quarter-circle of the bevel (in [0, 32], default 4) + + :type: int + + .. attribute:: dimensions + + Select 2D or 3D curve type (default ``'2D'``) + + - ``2D`` + 2D -- Clamp the Z axis of the curve. + - ``3D`` + 3D -- Allow editing on the Z axis of this curve, also allows tilt and curve radius to be used. + + :type: Literal['2D', '3D'] + + .. attribute:: eval_time + + Parametric position along the length of the curve that Objects 'following' it should be at (position is evaluated by dividing by the 'Path Length' value) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: extrude + + Length of the depth added in the local Z direction along the curve, perpendicular to its normals (in [0, inf], default 0.0) + + :type: float + + .. attribute:: fill_mode + + Mode of filling curve (default ``'FULL'``) + + :type: Literal['FULL', 'BACK', 'FRONT', 'HALF'] + + .. attribute:: fill_rule + + Fill rule for Delaunay fill solver (default ``'EVEN_ODD'``) + + - ``EVEN_ODD`` + Even-Odd -- Alternate inside/outside based on crossing count. + - ``NONZERO`` + Non-Zero -- Overlapping curves with the same winding direction are filled as a union. + + :type: Literal['EVEN_ODD', 'NONZERO'] + + .. attribute:: fill_solver + + Triangulation solver for filling 2D curves (default ``'SWEEP_LINE'``) + + - ``SWEEP_LINE`` + Sweep Line -- Fast without support for self-intersection. + - ``CDT`` + Delaunay -- Constrained Delaunay Triangulation (CDT), robust with support for self-intersections. + + :type: Literal['SWEEP_LINE', 'CDT'] + + .. data:: is_editmode + + True when used in editmode (default False, readonly) + + :type: bool + + .. data:: materials + + (default None, readonly) + + :type: :class:`IDMaterials`\ [:class:`Material`] + + .. attribute:: offset + + Distance to move the curve parallel to its normals (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: path_duration + + The number of frames that are needed to traverse the path, defining the maximum value for the 'Evaluation Time' setting (in [1, 1048574], default 100) + + :type: int + + .. attribute:: render_resolution_u + + Surface resolution in U direction used while rendering (zero uses preview resolution) (in [0, 1024], default 0) + + :type: int + + .. attribute:: render_resolution_v + + Surface resolution in V direction used while rendering (zero uses preview resolution) (in [0, 1024], default 0) + + :type: int + + .. attribute:: resolution_u + + Number of computed points in the U direction between every pair of control points (in [1, 1024], default 12) + + :type: int + + .. attribute:: resolution_v + + The number of computed points in the V direction between every pair of control points (in [1, 1024], default 12) + + :type: int + + .. data:: shape_keys + + (readonly) + + :type: :class:`Key` | None + + .. data:: splines + + Collection of splines in this curve data object (default None, readonly) + + :type: :class:`CurveSplines`\ [:class:`Spline`] + + .. attribute:: taper_object + + Curve object name that defines the taper (width) + + :type: :class:`Object` | None + + .. attribute:: taper_radius_mode + + Determine how the effective radius of the spline point is computed when a taper object is specified (default ``'OVERRIDE'``) + + - ``OVERRIDE`` + Override -- Override the radius of the spline point with the taper radius. + - ``MULTIPLY`` + Multiply -- Multiply the radius of the spline point by the taper radius. + - ``ADD`` + Add -- Add the radius of the bevel point to the taper radius. + + :type: Literal['OVERRIDE', 'MULTIPLY', 'ADD'] + + .. attribute:: texspace_location + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: texspace_size + + (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: twist_mode + + The type of tilt calculation for 3D Curves (default ``'MINIMUM'``) + + - ``Z_UP`` + Z-Up -- Use Z-Up axis to calculate the curve twist at each point. + - ``MINIMUM`` + Minimum -- Use the least twist over the entire curve. + - ``TANGENT`` + Tangent -- Use the tangent to calculate twist. + + :type: Literal['Z_UP', 'MINIMUM', 'TANGENT'] + + .. attribute:: twist_smooth + + Smoothing iteration for tangents (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: use_auto_texspace + + Adjust active object's texture space automatically when transforming object (default True) + + :type: bool + + .. attribute:: use_deform_bounds + + Option for curve-deform: Use the mesh bounds to clamp the deformation (default False) + + :type: bool + + .. attribute:: use_fill_caps + + Fill caps for beveled curves (default False) + + :type: bool + + .. attribute:: use_map_taper + + Map effect of the taper object to the beveled part of the curve (default False) + + :type: bool + + .. attribute:: use_path + + Enable the curve to become a translation path (default False) + + :type: bool + + .. attribute:: use_path_clamp + + Clamp the curve path children so they cannot travel past the start/end point of the curve (default False) + + :type: bool + + .. attribute:: use_path_follow + + Make curve path children rotate along the path (default False) + + :type: bool + + .. attribute:: use_radius + + Option for paths and curve-deform: apply the curve radius to objects following it and to deformed objects (default True) + + :type: bool + + .. attribute:: use_stretch + + Option for curve-deform: make deformed child stretch along entire path (default False) + + :type: bool + + .. method:: transform(matrix, *, shape_keys=False) + + Transform curve by a matrix + + :param matrix: Matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param shape_keys: Transform Shape Keys (optional) + :type shape_keys: bool + + .. method:: validate_material_indices() + + Validate material indices of splines or letters, return True when the curve has had invalid indices corrected (to default 0) + + :return: Result + :rtype: bool + + .. method:: update_gpu_tag() + + update_gpu_tag + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.curve` + - :class:`BlendData.curves` + - :class:`BlendDataCurves.new` + - :class:`BlendDataCurves.remove` + - :class:`Object.to_curve` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMap.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMap.rst new file mode 100644 index 0000000..1790419 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMap.rst @@ -0,0 +1,85 @@ +CurveMap(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CurveMap(bpy_struct) + + Curve in a curve mapping + + .. data:: points + + (default None, readonly) + + :type: :class:`CurveMapPoints`\ [:class:`CurveMapPoint`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CurveMapping.curves` + - :class:`CurveMapping.evaluate` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMapPoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMapPoint.rst new file mode 100644 index 0000000..318cefe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMapPoint.rst @@ -0,0 +1,98 @@ +CurveMapPoint(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CurveMapPoint(bpy_struct) + + Point of a curve used for a curve mapping + + .. attribute:: handle_type + + Curve interpolation at this point: Bézier or vector (default ``'AUTO'``) + + :type: Literal['AUTO', 'AUTO_CLAMPED', 'VECTOR'] + + .. attribute:: location + + X/Y coordinates of the curve point (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: select + + Selection state of the curve point (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CurveMap.points` + - :class:`CurveMapPoints.new` + - :class:`CurveMapPoints.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMapPoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMapPoints.rst new file mode 100644 index 0000000..6edbd02 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMapPoints.rst @@ -0,0 +1,96 @@ +CurveMapPoints(bpy_prop_collection) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: CurveMapPoints(bpy_prop_collection) + + Collection of Curve Map Points + + .. method:: new(position, value) + + Add point to CurveMap + + :param position: Position, Position to add point (in [-inf, inf]) + :type position: float + :param value: Value, Value of point (in [-inf, inf]) + :type value: float + :return: New point + :rtype: :class:`CurveMapPoint` + + .. method:: remove(point) + + Delete point from CurveMap + + :param point: PointElement to remove (never None) + :type point: :class:`CurveMapPoint` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CurveMap.points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMapping.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMapping.rst new file mode 100644 index 0000000..5d33bae --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveMapping.rst @@ -0,0 +1,236 @@ +CurveMapping(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CurveMapping(bpy_struct) + + Curve mapping to map color, vector and scalar values to other values using a user defined curve + + .. attribute:: black_level + + For RGB curves, the color that black is mapped to (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: clip_max_x + + (in [-100, 100], default 0.0) + + :type: float + + .. attribute:: clip_max_y + + (in [-100, 100], default 0.0) + + :type: float + + .. attribute:: clip_min_x + + (in [-100, 100], default 0.0) + + :type: float + + .. attribute:: clip_min_y + + (in [-100, 100], default 0.0) + + :type: float + + .. data:: curves + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`CurveMap`] + + .. attribute:: extend + + Extrapolate the curve or extend it horizontally (default ``'HORIZONTAL'``) + + :type: Literal['HORIZONTAL', 'EXTRAPOLATED'] + + .. attribute:: tone + + Tone of the curve (default ``'STANDARD'``) + + - ``STANDARD`` + Standard -- Combined curve is applied to each channel individually, which may result in a change of hue. + - ``FILMLIKE`` + Filmlike -- Keeps the hue constant. + + :type: Literal['STANDARD', 'FILMLIKE'] + + .. attribute:: use_clip + + Force the curve view to fit a defined boundary (default False) + + :type: bool + + .. attribute:: white_level + + For RGB curves, the color that white is mapped to (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. method:: update() + + Update curve mapping after making changes + + + .. method:: reset_view() + + Reset the curve mapping grid to its clipping size + + + .. method:: initialize() + + Initialize curve + + + .. method:: evaluate(curve, position) + + Evaluate curve at given location + + :param curve: curve, Curve to evaluate (never None) + :type curve: :class:`CurveMap` | None + :param position: Position, Position to evaluate curve at (in [-inf, inf]) + :type position: float + :return: Value, Value of curve at given location (in [-inf, inf]) + :rtype: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Brush.automasking_cavity_curve` + - :class:`Brush.curve_distance_falloff` + - :class:`Brush.curve_jitter` + - :class:`Brush.curve_random_hue` + - :class:`Brush.curve_random_saturation` + - :class:`Brush.curve_random_value` + - :class:`Brush.curve_size` + - :class:`Brush.curve_strength` + - :class:`BrushCurvesSculptSettings.curve_parameter_falloff` + - :class:`BrushGpencilSettings.curve_jitter` + - :class:`BrushGpencilSettings.curve_random_hue` + - :class:`BrushGpencilSettings.curve_random_pressure` + - :class:`BrushGpencilSettings.curve_random_saturation` + - :class:`BrushGpencilSettings.curve_random_strength` + - :class:`BrushGpencilSettings.curve_random_uv` + - :class:`BrushGpencilSettings.curve_random_value` + - :class:`BrushGpencilSettings.curve_sensitivity` + - :class:`BrushGpencilSettings.curve_strength` + - :class:`ColorManagedViewSettings.curve_mapping` + - :class:`CompositorNodeCurveRGB.mapping` + - :class:`CompositorNodeHueCorrect.mapping` + - :class:`CompositorNodeTime.curve` + - :class:`CurvesModifier.curve_mapping` + - :class:`EQCurveMappingData.curve_mapping` + - :class:`GPencilInterpolateSettings.interpolation_curve` + - :class:`GPencilSculptSettings.multiframe_falloff_curve` + - :class:`GPencilSculptSettings.thickness_primitive_curve` + - :class:`GreasePencilColorModifier.custom_curve` + - :class:`GreasePencilHookModifier.custom_curve` + - :class:`GreasePencilNoiseModifier.custom_curve` + - :class:`GreasePencilOpacityModifier.custom_curve` + - :class:`GreasePencilSmoothModifier.custom_curve` + - :class:`GreasePencilThickModifierData.custom_curve` + - :class:`GreasePencilTintModifier.custom_curve` + - :class:`HookModifier.falloff_curve` + - :class:`HueCorrectModifier.curve_mapping` + - :class:`LineStyleAlphaModifier_AlongStroke.curve` + - :class:`LineStyleAlphaModifier_CreaseAngle.curve` + - :class:`LineStyleAlphaModifier_Curvature_3D.curve` + - :class:`LineStyleAlphaModifier_DistanceFromCamera.curve` + - :class:`LineStyleAlphaModifier_DistanceFromObject.curve` + - :class:`LineStyleAlphaModifier_Material.curve` + - :class:`LineStyleAlphaModifier_Noise.curve` + - :class:`LineStyleAlphaModifier_Tangent.curve` + - :class:`LineStyleThicknessModifier_AlongStroke.curve` + - :class:`LineStyleThicknessModifier_CreaseAngle.curve` + - :class:`LineStyleThicknessModifier_Curvature_3D.curve` + - :class:`LineStyleThicknessModifier_DistanceFromCamera.curve` + - :class:`LineStyleThicknessModifier_DistanceFromObject.curve` + - :class:`LineStyleThicknessModifier_Material.curve` + - :class:`LineStyleThicknessModifier_Tangent.curve` + - :class:`Paint.cavity_curve` + - :class:`ParticleBrush.curve` + - :class:`ParticleSettings.clump_curve` + - :class:`ParticleSettings.roughness_curve` + - :class:`ParticleSettings.twist_curve` + - :class:`RenderSettings.motion_blur_shutter_curve` + - :class:`Sculpt.automasking_cavity_curve` + - :class:`Sculpt.automasking_cavity_curve_op` + - :class:`ShaderNodeFloatCurve.mapping` + - :class:`ShaderNodeRGBCurve.mapping` + - :class:`ShaderNodeVectorCurve.mapping` + - :class:`TextureNodeCurveRGB.mapping` + - :class:`TextureNodeCurveTime.curve` + - :class:`UvSculpt.curve_distance_falloff` + - :class:`VertexWeightEditModifier.map_curve` + - :class:`VertexWeightProximityModifier.map_curve` + - :class:`WarpModifier.falloff_curve` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveModifier.rst new file mode 100644 index 0000000..c045552 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveModifier.rst @@ -0,0 +1,109 @@ +CurveModifier(Modifier) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: CurveModifier(Modifier) + + Curve deformation modifier + + .. attribute:: deform_axis + + The axis that the curve deforms along (default ``'POS_X'``) + + :type: Literal['POS_X', 'POS_Y', 'POS_Z', 'NEG_X', 'NEG_Y', 'NEG_Z'] + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: object + + Curve object to deform with + + :type: :class:`Object` | None + + .. attribute:: vertex_group + + Name of Vertex Group which determines influence of modifier per point (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvePaintSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvePaintSettings.rst new file mode 100644 index 0000000..0dc14a3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvePaintSettings.rst @@ -0,0 +1,180 @@ +CurvePaintSettings(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CurvePaintSettings(bpy_struct) + + + .. attribute:: corner_angle + + Angles above this are considered corners (in [0, 3.14159], default 1.22173) + + :type: float + + .. attribute:: curve_type + + Type of curve to use for new strokes (default ``'BEZIER'``) + + :type: Literal['POLY', 'BEZIER'] + + .. attribute:: depth_mode + + Method of projecting depth (default ``'CURSOR'``) + + :type: Literal['CURSOR', 'SURFACE'] + + .. attribute:: error_threshold + + Allow deviation for a smoother, less precise line (in [1, 100], default 8) + + :type: int + + .. attribute:: fit_method + + Curve fitting method (default ``'REFIT'``) + + :type: Literal[:ref:`rna_enum_curve_fit_method_items`] + + .. attribute:: radius_max + + Radius to use when the maximum pressure is applied (or when a tablet isn't used) (in [0, 100], default 1.0) + + :type: float + + .. attribute:: radius_min + + Minimum radius when the minimum pressure is applied (also the minimum when tapering) (in [0, 100], default 0.0) + + :type: float + + .. attribute:: radius_taper_end + + Taper factor for the radius of each point along the curve (in [0, 10], default 0.0) + + :type: float + + .. attribute:: radius_taper_start + + Taper factor for the radius of each point along the curve (in [0, 1], default 0.0) + + :type: float + + .. attribute:: surface_offset + + Offset the stroke from the surface (in [-10, 10], default 0.0) + + :type: float + + .. attribute:: surface_plane + + Plane for projected stroke (default ``'NORMAL_VIEW'``) + + - ``NORMAL_VIEW`` + Normal to Surface -- Draw in a plane perpendicular to the surface. + - ``NORMAL_SURFACE`` + Tangent to Surface -- Draw in the surface plane. + - ``VIEW`` + View -- Draw in a plane aligned to the viewport. + + :type: Literal['NORMAL_VIEW', 'NORMAL_SURFACE', 'VIEW'] + + .. attribute:: use_corners_detect + + Detect corners and use non-aligned handles (default True) + + :type: bool + + .. attribute:: use_offset_absolute + + Apply a fixed offset (don't scale by the radius) (default False) + + :type: bool + + .. attribute:: use_pressure_radius + + Map tablet pressure to curve radius (default False) + + :type: bool + + .. attribute:: use_project_only_selected + + Project the strokes only onto selected objects (default False) + + :type: bool + + .. attribute:: use_stroke_endpoints + + Use the start of the stroke for the depth (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.curve_paint_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvePoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvePoint.rst new file mode 100644 index 0000000..ba78eb5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvePoint.rst @@ -0,0 +1,97 @@ +CurvePoint(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CurvePoint(bpy_struct) + + Curve control point + + .. data:: index + + Index of this point (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: position + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: radius + + (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CurveSlice.points` + - :class:`Curves.points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveProfile.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveProfile.rst new file mode 100644 index 0000000..1bdc109 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveProfile.rst @@ -0,0 +1,153 @@ +CurveProfile(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CurveProfile(bpy_struct) + + Profile Path editor used to build a profile path + + .. data:: points + + Profile control points (default None, readonly) + + :type: :class:`CurveProfilePoints`\ [:class:`CurveProfilePoint`] + + .. attribute:: preset + + (default ``'LINE'``) + + - ``LINE`` + Line -- Default. + - ``SUPPORTS`` + Support Loops -- Loops on each side of the profile. + - ``CORNICE`` + Cornice Molding. + - ``CROWN`` + Crown Molding. + - ``STEPS`` + Steps -- A number of steps defined by the segments. + + :type: Literal['LINE', 'SUPPORTS', 'CORNICE', 'CROWN', 'STEPS'] + + .. data:: segments + + Segments sampled from control points (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`CurveProfilePoint`] + + .. attribute:: use_clip + + Force the path view to fit a defined boundary (default False) + + :type: bool + + .. attribute:: use_sample_even_lengths + + Sample edges with even lengths (default False) + + :type: bool + + .. attribute:: use_sample_straight_edges + + Sample edges with vector handles (default False) + + :type: bool + + .. method:: update() + + Refresh internal data, remove doubles and clip points + + + .. method:: reset_view() + + Reset the curve profile grid to its clipping size + + + .. method:: initialize(totsegments) + + Set the number of display segments and fill tables + + :param totsegments: The number of segment values to initialize the segments table with (in [1, 1000], never None) + :type totsegments: int + + .. method:: evaluate(length_portion) + + Evaluate the at the given portion of the path length + + :param length_portion: Length Portion, Portion of the path length to travel before evaluation (in [0, 1]) + :type length_portion: float + :return: Location, The location at the given portion of the profile (array of 2 items, in [-100, 100]) + :rtype: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BevelModifier.custom_profile` + - :class:`Curve.bevel_profile` + - :class:`ToolSettings.custom_bevel_profile_preset` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveProfilePoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveProfilePoint.rst new file mode 100644 index 0000000..7d20dc1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveProfilePoint.rst @@ -0,0 +1,105 @@ +CurveProfilePoint(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CurveProfilePoint(bpy_struct) + + Point of a path used to define a profile + + .. attribute:: handle_type_1 + + Path interpolation at this point (default ``'FREE'``) + + :type: Literal['AUTO', 'VECTOR', 'FREE', 'ALIGN'] + + .. attribute:: handle_type_2 + + Path interpolation at this point (default ``'FREE'``) + + :type: Literal['AUTO', 'VECTOR', 'FREE', 'ALIGN'] + + .. attribute:: location + + X/Y coordinates of the path point (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: select + + Selection state of the path point (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CurveProfile.points` + - :class:`CurveProfile.segments` + - :class:`CurveProfilePoints.add` + - :class:`CurveProfilePoints.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveProfilePoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveProfilePoints.rst new file mode 100644 index 0000000..b5f774b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveProfilePoints.rst @@ -0,0 +1,96 @@ +CurveProfilePoints(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: CurveProfilePoints(bpy_prop_collection) + + Collection of Profile Points + + .. method:: add(x, y) + + Add point to the profile + + :param x: X Position, X Position for new point (in [-inf, inf]) + :type x: float + :param y: Y Position, Y Position for new point (in [-inf, inf]) + :type y: float + :return: New point + :rtype: :class:`CurveProfilePoint` + + .. method:: remove(point) + + Delete point from the profile + + :param point: Point to remove (never None) + :type point: :class:`CurveProfilePoint` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CurveProfile.points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveSlice.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveSlice.rst new file mode 100644 index 0000000..726c241 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveSlice.rst @@ -0,0 +1,102 @@ +CurveSlice(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: CurveSlice(bpy_struct) + + A single curve from a curves data-block + + .. data:: first_point_index + + The index of this curve's first control point (in [0, inf], default 0, readonly) + + :type: int + + .. data:: index + + Index of this curve (in [0, inf], default 0, readonly) + + :type: int + + .. data:: points + + Control points of the curve (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`CurvePoint`] + + .. data:: points_length + + Number of control points in the curve (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Curves.curves` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveSplines.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveSplines.rst new file mode 100644 index 0000000..652ff6a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurveSplines.rst @@ -0,0 +1,105 @@ +CurveSplines(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: CurveSplines(bpy_prop_collection) + + Collection of curve splines + + .. attribute:: active + + Active curve spline + + :type: :class:`Spline` | None + + .. method:: new(type) + + Add a new spline to the curve + + :param type: type for the new spline + :type type: Literal['POLY', 'BEZIER', 'NURBS'] + :return: The newly created spline + :rtype: :class:`Spline` + + .. method:: remove(spline) + + Remove a spline from a curve + + :param spline: The spline to remove (never None) + :type spline: :class:`Spline` | None + + .. method:: clear() + + Remove all splines from a curve + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Curve.splines` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Curves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Curves.rst new file mode 100644 index 0000000..2050080 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Curves.rst @@ -0,0 +1,274 @@ +Curves(ID) +========== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Curves(ID) + + Hair data-block for hair curves + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. data:: attributes + + Geometry attributes (default None, readonly) + + :type: :class:`AttributeGroupCurves`\ [:class:`Attribute`] + + .. data:: color_attributes + + Geometry color attributes (default None, readonly) + + :type: :class:`AttributeGroupCurves`\ [:class:`Attribute`] + + .. data:: curve_offset_data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`IntAttributeValue`] + + .. data:: curves + + All curves in the data-block (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`CurveSlice`] + + .. data:: materials + + (default None, readonly) + + :type: :class:`IDMaterials`\ [:class:`Material`] + + .. data:: normals + + The curve normal value at each of the curve's control points (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`FloatVectorValueReadOnly`] + + .. data:: points + + Control points of all curves (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`CurvePoint`] + + .. data:: position_data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`FloatVectorAttributeValue`] + + .. attribute:: selection_domain + + (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_curves_domain_items`] + + .. attribute:: surface + + Mesh object that the curves can be attached to + + :type: :class:`Object` | None + + .. attribute:: surface_collision_distance + + Distance to keep the curves away from the surface (in [1.192e-07, inf], default 0.005) + + :type: float + + .. attribute:: surface_uv_map + + The name of the attribute on the surface mesh used to define the attachment of each curve (default "", never None) + + :type: str + + .. attribute:: use_mirror_x + + Enable symmetry in the X axis (default False) + + :type: bool + + .. attribute:: use_mirror_y + + Enable symmetry in the Y axis (default False) + + :type: bool + + .. attribute:: use_mirror_z + + Enable symmetry in the Z axis (default False) + + :type: bool + + .. attribute:: use_sculpt_collision + + Enable collision with the surface while sculpting (default False) + + :type: bool + + .. method:: add_curves(sizes) + + add_curves + + :param sizes: Sizes, The number of points in each curve (array of 1 items, in [0, inf]) + :type sizes: Sequence[int] + + .. method:: remove_curves(*, indices=(0,)) + + Remove all curves. If indices are provided, remove only the curves with the given indices. + + :param indices: Indices, The indices of the curves to remove (array of 1 items, in [0, inf], optional) + :type indices: Sequence[int] + + .. method:: resize_curves(sizes, *, indices=(0,)) + + Resize all existing curves. If indices are provided, resize only the curves with the given indices. If the new size for a curve is smaller, the curve is trimmed. If the new size for a curve is larger, the new end values are default initialized. + + :param sizes: Sizes, The number of points in each curve (array of 1 items, in [1, inf]) + :type sizes: Sequence[int] + :param indices: Indices, The indices of the curves to resize (array of 1 items, in [0, inf], optional) + :type indices: Sequence[int] + + .. method:: reorder_curves(new_indices) + + Reorder the curves by the new indices. + + :param new_indices: New indices, The new index for each of the curves (array of 1 items, in [0, inf]) + :type new_indices: Sequence[int] + + .. method:: set_types(*, type='CATMULL_ROM', indices=(0,)) + + Set the curve type. If indices are provided, set only the types with the given curve indices. + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_curves_type_items`] + :param indices: Indices, The indices of the curves to resize (array of 1 items, in [0, inf], optional) + :type indices: Sequence[int] + + .. method:: unit_test_compare(*, curves=None, threshold=7.1526e-06) + + unit_test_compare + + :param curves: Curves to compare to (optional) + :type curves: :class:`Curves` | None + :param threshold: Threshold, Comparison tolerance threshold (in [0, inf], optional) + :type threshold: float + :return: Return value, String description of result of comparison (never None) + :rtype: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.curves` + - :class:`BlendData.hair_curves` + - :class:`BlendDataHairCurves.new` + - :class:`BlendDataHairCurves.remove` + - :class:`Curves.unit_test_compare` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvesModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvesModifier.rst new file mode 100644 index 0000000..f4dc480 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvesModifier.rst @@ -0,0 +1,94 @@ +CurvesModifier(StripModifier) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripModifier` + +.. class:: CurvesModifier(StripModifier) + + RGB curves modifier for sequence strip + + .. data:: curve_mapping + + (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: open_mask_input_panel + + (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripModifier.name` + - :class:`StripModifier.type` + - :class:`StripModifier.mute` + - :class:`StripModifier.enable` + - :class:`StripModifier.show_expanded` + - :class:`StripModifier.input_mask_type` + - :class:`StripModifier.mask_time` + - :class:`StripModifier.input_mask_strip` + - :class:`StripModifier.input_mask_id` + - :class:`StripModifier.is_active` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripModifier.bl_rna_get_subclass` + - :class:`StripModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvesSculpt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvesSculpt.rst new file mode 100644 index 0000000..6147dc0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.CurvesSculpt.rst @@ -0,0 +1,103 @@ +CurvesSculpt(Paint) +=================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Paint` + +.. class:: CurvesSculpt(Paint) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Paint.brush` + - :class:`Paint.brush_asset_reference` + - :class:`Paint.eraser_brush` + - :class:`Paint.eraser_brush_asset_reference` + - :class:`Paint.palette` + - :class:`Paint.show_brush` + - :class:`Paint.show_brush_on_surface` + - :class:`Paint.show_low_resolution` + - :class:`Paint.use_sculpt_delay_updates` + - :class:`Paint.show_bvh_nodes` + - :class:`Paint.use_symmetry_x` + - :class:`Paint.use_symmetry_y` + - :class:`Paint.use_symmetry_z` + - :class:`Paint.use_symmetry_feather` + - :class:`Paint.cavity_curve` + - :class:`Paint.use_cavity` + - :class:`Paint.tile_offset` + - :class:`Paint.tile_x` + - :class:`Paint.tile_y` + - :class:`Paint.tile_z` + - :class:`Paint.show_strength_curve` + - :class:`Paint.show_size_curve` + - :class:`Paint.show_jitter_curve` + - :class:`Paint.unified_paint_settings` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Paint.bl_rna_get_subclass` + - :class:`Paint.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.curves_sculpt` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DATA_UL_bone_collections.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DATA_UL_bone_collections.rst new file mode 100644 index 0000000..17c73d7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DATA_UL_bone_collections.rst @@ -0,0 +1,92 @@ +DATA_UL_bone_collections(UIList) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: DATA_UL_bone_collections(UIList) + + + .. method:: draw_item(_context, layout, armature, bcoll, _icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DampedTrackConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DampedTrackConstraint.rst new file mode 100644 index 0000000..e42a481 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DampedTrackConstraint.rst @@ -0,0 +1,117 @@ +DampedTrackConstraint(Constraint) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: DampedTrackConstraint(Constraint) + + Point toward target by taking the shortest rotation path + + .. attribute:: head_tail + + Target along length of bone: Head is 0, Tail is 1 (in [0, 1], default 0.0) + + :type: float + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: track_axis + + Axis that points to the target object (default ``'TRACK_X'``) + + :type: Literal['TRACK_X', 'TRACK_Y', 'TRACK_Z', 'TRACK_NEGATIVE_X', 'TRACK_NEGATIVE_Y', 'TRACK_NEGATIVE_Z'] + + .. attribute:: use_bbone_shape + + Follow shape of B-Bone segments when calculating Head/Tail position (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DataTransferModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DataTransferModifier.rst new file mode 100644 index 0000000..775e7c3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DataTransferModifier.rst @@ -0,0 +1,295 @@ +DataTransferModifier(Modifier) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: DataTransferModifier(Modifier) + + Modifier transferring some data from a source mesh + + .. attribute:: data_types_edges + + Which edge data layers to transfer (default set()) + + - ``SHARP_EDGE`` + Sharp -- Transfer sharp mark. + - ``SEAM`` + UV Seam -- Transfer UV seam mark. + - ``CREASE`` + Crease -- Transfer subdivision crease values. + - ``BEVEL_WEIGHT_EDGE`` + Bevel Weight -- Transfer bevel weights. + - ``FREESTYLE_EDGE`` + Freestyle -- Transfer Freestyle edge mark. + + :type: set[Literal['SHARP_EDGE', 'SEAM', 'CREASE', 'BEVEL_WEIGHT_EDGE', 'FREESTYLE_EDGE']] + + .. attribute:: data_types_loops + + Which face corner data layers to transfer (default set()) + + - ``CUSTOM_NORMAL`` + Custom Normals -- Transfer custom normals. + - ``COLOR_CORNER`` + Colors -- Transfer color attributes. + - ``UV`` + UVs -- Transfer UV layers. + + :type: set[Literal['CUSTOM_NORMAL', 'COLOR_CORNER', 'UV']] + + .. attribute:: data_types_polys + + Which face data layers to transfer (default set()) + + - ``SMOOTH`` + Smooth -- Transfer flat/smooth mark. + - ``FREESTYLE_FACE`` + Freestyle Mark -- Transfer Freestyle face mark. + + :type: set[Literal['SMOOTH', 'FREESTYLE_FACE']] + + .. attribute:: data_types_verts + + Which vertex data layers to transfer (default set()) + + - ``VGROUP_WEIGHTS`` + Vertex Groups -- Transfer active or all vertex groups. + - ``BEVEL_WEIGHT_VERT`` + Bevel Weight -- Transfer bevel weights. + - ``COLOR_VERTEX`` + Colors -- Transfer color attributes. + + :type: set[Literal['VGROUP_WEIGHTS', 'BEVEL_WEIGHT_VERT', 'COLOR_VERTEX']] + + .. attribute:: edge_mapping + + Method used to map source edges to destination ones (default ``'NEAREST'``) + + :type: Literal[:ref:`rna_enum_dt_method_edge_items`] + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: islands_precision + + Factor controlling precision of islands handling (typically, 0.1 should be enough, higher values can make things really slow) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: layers_uv_select_dst + + How to match source and destination layers (default ``'NAME'``) + + :type: Literal[:ref:`rna_enum_dt_layers_select_dst_items`] + + .. attribute:: layers_uv_select_src + + Which layers to transfer, in case of multi-layers types (default ``'ALL'``) + + :type: Literal[:ref:`rna_enum_dt_layers_select_src_items`] + + .. attribute:: layers_vcol_loop_select_dst + + How to match source and destination layers (default ``'NAME'``) + + :type: Literal[:ref:`rna_enum_dt_layers_select_dst_items`] + + .. attribute:: layers_vcol_loop_select_src + + Which layers to transfer, in case of multi-layers types (default ``'ALL'``) + + :type: Literal[:ref:`rna_enum_dt_layers_select_src_items`] + + .. attribute:: layers_vcol_vert_select_dst + + How to match source and destination layers (default ``'NAME'``) + + :type: Literal[:ref:`rna_enum_dt_layers_select_dst_items`] + + .. attribute:: layers_vcol_vert_select_src + + Which layers to transfer, in case of multi-layers types (default ``'ALL'``) + + :type: Literal[:ref:`rna_enum_dt_layers_select_src_items`] + + .. attribute:: layers_vgroup_select_dst + + How to match source and destination layers (default ``'NAME'``) + + :type: Literal[:ref:`rna_enum_dt_layers_select_dst_items`] + + .. attribute:: layers_vgroup_select_src + + Which layers to transfer, in case of multi-layers types (default ``'ALL'``) + + :type: Literal[:ref:`rna_enum_dt_layers_select_src_items`] + + .. attribute:: loop_mapping + + Method used to map source faces' corners to destination ones (default ``'NEAREST_POLYNOR'``) + + :type: Literal[:ref:`rna_enum_dt_method_loop_items`] + + .. attribute:: max_distance + + Maximum allowed distance between source and destination element, for non-topology mappings (in [0, inf], default 1.0) + + :type: float + + .. attribute:: mix_factor + + Factor to use when applying data to destination (exact behavior depends on mix mode, multiplied with weights from vertex group when defined) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: mix_mode + + How to affect destination elements with source values (default ``'REPLACE'``) + + :type: Literal[:ref:`rna_enum_dt_mix_mode_items`] + + .. attribute:: object + + Object to transfer data from + + :type: :class:`Object` | None + + .. attribute:: poly_mapping + + Method used to map source faces to destination ones (default ``'NEAREST'``) + + :type: Literal[:ref:`rna_enum_dt_method_poly_items`] + + .. attribute:: ray_radius + + 'Width' of rays (especially useful when raycasting against vertices or edges) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: use_edge_data + + Enable edge data transfer (default False) + + :type: bool + + .. attribute:: use_loop_data + + Enable face corner data transfer (default False) + + :type: bool + + .. attribute:: use_max_distance + + Source elements must be closer than given distance from destination one (default False) + + :type: bool + + .. attribute:: use_object_transform + + Evaluate source and destination meshes in global space (default True) + + :type: bool + + .. attribute:: use_poly_data + + Enable face data transfer (default False) + + :type: bool + + .. attribute:: use_vert_data + + Enable vertex data transfer (default False) + + :type: bool + + .. attribute:: vert_mapping + + Method used to map source vertices to destination ones (default ``'NEAREST'``) + + :type: Literal[:ref:`rna_enum_dt_method_vertex_items`] + + .. attribute:: vertex_group + + Vertex group name for selecting the affected areas (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DecimateModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DecimateModifier.rst new file mode 100644 index 0000000..d452966 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DecimateModifier.rst @@ -0,0 +1,170 @@ +DecimateModifier(Modifier) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: DecimateModifier(Modifier) + + Decimation modifier + + .. attribute:: angle_limit + + Only dissolve angles below this (planar only) (in [0, 3.14159], default 0.0872665) + + :type: float + + .. attribute:: decimate_type + + (default ``'COLLAPSE'``) + + - ``COLLAPSE`` + Collapse -- Use edge collapsing. + - ``UNSUBDIV`` + Un-Subdivide -- Use un-subdivide face reduction. + - ``DISSOLVE`` + Planar -- Dissolve geometry to form planar polygons. + + :type: Literal['COLLAPSE', 'UNSUBDIV', 'DISSOLVE'] + + .. attribute:: delimit + + Limit merging geometry (default set()) + + :type: set[Literal[:ref:`rna_enum_mesh_delimit_mode_items`]] + + .. data:: face_count + + The current number of faces in the decimated mesh (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: invert_vertex_group + + Invert vertex group influence (collapse only) (default False) + + :type: bool + + .. attribute:: iterations + + Number of times reduce the geometry (unsubdivide only) (in [0, 32767], default 0) + + :type: int + + .. attribute:: ratio + + Ratio of triangles to reduce to (collapse only) (in [0, 1], default 1.0) + + :type: float + + .. attribute:: symmetry_axis + + Axis of symmetry (default ``'X'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: use_collapse_triangulate + + Keep triangulated faces resulting from decimation (collapse only) (default False) + + :type: bool + + .. attribute:: use_dissolve_boundaries + + Dissolve all vertices in between face boundaries (planar only) (default False) + + :type: bool + + .. attribute:: use_symmetry + + Maintain symmetry on an axis (default False) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name (collapse only) (default "", never None) + + :type: str + + .. attribute:: vertex_group_factor + + Vertex group strength (in [0, 1000], default 1.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Depsgraph.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Depsgraph.rst new file mode 100644 index 0000000..dcf647a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Depsgraph.rst @@ -0,0 +1,329 @@ +Depsgraph(bpy_struct) +===================== + +.. currentmodule:: bpy.types + + +Dependency graph: Evaluated ID example +++++++++++++++++++++++++++++++++++++++ + +This example demonstrates access to the evaluated ID (such as object, material, etc.) state from +an original ID. +This is needed every time one needs to access state with animation, constraints, and modifiers +taken into account. + +.. literalinclude:: ./examples/bpy.types.Depsgraph.1.py + :lines: 10- + + +Dependency graph: Original object example ++++++++++++++++++++++++++++++++++++++++++ + +This example demonstrates access to the original ID. +Such access is needed to check whether object is selected, or to compare pointers. + +.. literalinclude:: ./examples/bpy.types.Depsgraph.2.py + :lines: 8- + + +Dependency graph: Iterate over all object instances ++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Sometimes it is needed to know all the instances with their matrices (for example, when writing an +exporter or a custom render engine). +This example shows how to access all objects and instances in the scene. + +.. literalinclude:: ./examples/bpy.types.Depsgraph.3.py + :lines: 9- + + +Dependency graph: Object.to_mesh() ++++++++++++++++++++++++++++++++++++ + +Function to get a mesh from any object with geometry. It is typically used by exporters, render +engines and tools that need to access the evaluated mesh as displayed in the viewport. + +Object.to_mesh() is closely interacting with dependency graph: its behavior depends on whether it +is used on original or evaluated object. + +When is used on original object, the result mesh is calculated from the object without taking +animation or modifiers into account: + +- For meshes this is similar to duplicating the source mesh. +- For curves this disables own modifiers, and modifiers of objects used as bevel and taper. +- For meta-balls this produces an empty mesh since polygonization is done as a modifier evaluation. + +When is used on evaluated object all modifiers are taken into account. + +.. note:: The result mesh is owned by the object. It can be freed by calling :meth:`~Object.to_mesh_clear`. +.. note:: + The result mesh must be treated as temporary, and cannot be referenced from objects in the main + database. If the mesh intended to be used in a persistent manner use :meth:`~BlendDataMeshes.new_from_object` + instead. +.. note:: If object does not have geometry (i.e. camera) the functions returns None. + +.. literalinclude:: ./examples/bpy.types.Depsgraph.4.py + :lines: 27- + + +Dependency graph: bpy.data.meshes.new_from_object() ++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Function to copy a new mesh from any object with geometry. The mesh is added to the main +database and can be referenced by objects. Typically used by tools that create new objects +or apply modifiers. + +When is used on original object, the result mesh is calculated from the object without taking +animation or modifiers into account: + +- For meshes this is similar to duplicating the source mesh. +- For curves this disables own modifiers, and modifiers of objects used as bevel and taper. +- For meta-balls this produces an empty mesh since polygonization is done as a modifier evaluation. + +When is used on evaluated object all modifiers are taken into account. + +All the references (such as materials) are re-mapped to original. This ensures validity and +consistency of the main database. + +.. note:: If object does not have geometry (i.e. camera) the functions returns None. + +.. literalinclude:: ./examples/bpy.types.Depsgraph.5.py + :lines: 23- + + +Dependency graph: Simple exporter ++++++++++++++++++++++++++++++++++ + +This example is a combination of all previous ones, and shows how to write a simple exporter +script. + +.. literalinclude:: ./examples/bpy.types.Depsgraph.6.py + :lines: 8- + + +Dependency graph: Object.to_curve() ++++++++++++++++++++++++++++++++++++ + +Function to get a curve from text and curve objects. It is typically used by exporters, render +engines, and tools that need to access the curve representing the object. + +The function takes the evaluated dependency graph as a required parameter and optionally a boolean +apply_modifiers which defaults to false. If apply_modifiers is true and the object is a curve object, +the spline deform modifiers are applied on the control points. Note that constructive modifiers and +modifiers that are not spline-enabled will not be applied. So modifiers like Array will not be applied +and deform modifiers that have Apply On Spline disabled will not be applied. + +If the object is a text object. The text will be converted into a 3D curve and returned. Modifiers are +never applied on text objects and apply_modifiers will be ignored. If the object is neither a curve nor +a text object, an error will be reported. + +.. note:: The resulting curve is owned by the object. It can be freed by calling :meth:`~Object.to_curve_clear`. +.. note:: + The resulting curve must be treated as temporary, and cannot be referenced from objects in the main + database. + +.. literalinclude:: ./examples/bpy.types.Depsgraph.7.py + :lines: 23- + +base class --- :class:`bpy_struct` + +.. class:: Depsgraph(bpy_struct) + + + .. data:: ids + + All evaluated data-blocks (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ID`] + + .. data:: mode + + Evaluation mode (default ``'VIEWPORT'``, readonly) + + - ``VIEWPORT`` + Viewport -- Viewport non-rendered mode. + - ``RENDER`` + Render -- Render. + + :type: Literal['VIEWPORT', 'RENDER'] + + .. data:: object_instances + + All object instances to display or render (Warning: Only use this as an iterator, never as a sequence, and do not keep any references to its items) (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`DepsgraphObjectInstance`] + + .. data:: objects + + Evaluated objects in the dependency graph (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Object`] + + .. data:: scene + + Original scene dependency graph is built for (readonly) + + :type: :class:`Scene` | None + + .. data:: scene_eval + + Scene at its evaluated state (readonly) + + :type: :class:`Scene` | None + + .. data:: updates + + Updates to data-blocks (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`DepsgraphUpdate`] + + .. data:: view_layer + + Original view layer dependency graph is built for (readonly) + + :type: :class:`ViewLayer` | None + + .. data:: view_layer_eval + + View layer at its evaluated state (readonly) + + :type: :class:`ViewLayer` | None + + .. method:: debug_relations_graphviz(*, filepath="") + + debug_relations_graphviz + + :param filepath: File Name, Optional output path for the graphviz debug file (optional, never None) + :type filepath: str + :return: Dot Graph, Graph in dot format + :rtype: str + + .. method:: debug_stats_gnuplot(filepath, output_filepath) + + debug_stats_gnuplot + + :param filepath: File Name, Output path for the gnuplot debug file (never None) + :type filepath: str + :param output_filepath: Output File Name, File name where gnuplot script will save the result (never None) + :type output_filepath: str + + .. method:: debug_tag_update() + + debug_tag_update + + + .. method:: debug_stats() + + Report the number of elements in the Dependency Graph + + :return: result, (never None) + :rtype: str + + .. method:: update() + + Re-evaluate any modified data-blocks, for example for animation or modifiers. This invalidates all references to evaluated data-blocks from this dependency graph. + + + .. method:: id_eval_get(id) + + id_eval_get + + :param id: Original ID to get evaluated complementary part for + :type id: :class:`ID` | None + :return: Evaluated ID for the given original one + :rtype: :class:`ID` + + .. method:: id_type_updated(id_type) + + id_type_updated + + :param id_type: ID Type + :type id_type: Literal[:ref:`rna_enum_id_type_items`] + :return: Updated, True if any data-block with this type was added, updated or removed + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendDataMeshes.new_from_object` + - :class:`Context.evaluated_depsgraph_get` + - :class:`ID.evaluated_get` + - :class:`Object.calc_matrix_camera` + - :class:`Object.camera_fit_coords` + - :class:`Object.closest_point_on_mesh` + - :class:`Object.crazyspace_eval` + - :class:`Object.dm_info` + - :class:`Object.ray_cast` + - :class:`Object.to_curve` + - :class:`Object.to_mesh` + - :class:`RenderEngine.bake` + - :class:`RenderEngine.draw` + - :class:`RenderEngine.render` + - :class:`RenderEngine.update` + - :class:`RenderEngine.view_draw` + - :class:`RenderEngine.view_update` + - :class:`Scene.ray_cast` + - :class:`ViewLayer.depsgraph` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DepsgraphObjectInstance.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DepsgraphObjectInstance.rst new file mode 100644 index 0000000..b087fea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DepsgraphObjectInstance.rst @@ -0,0 +1,150 @@ +DepsgraphObjectInstance(bpy_struct) +=================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: DepsgraphObjectInstance(bpy_struct) + + Extended information about dependency graph object iterator (Warning: All data here is 'evaluated' one, not original .blend IDs) + + .. data:: instance_object + + Evaluated object which is being instanced by this iterator (readonly) + + :type: :class:`Object` | None + + .. data:: is_instance + + Denotes if the object is generated by another object (default False, readonly) + + :type: bool + + .. data:: matrix_world + + Generated transform matrix in world space (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), readonly) + + :type: :class:`mathutils.Matrix` + + .. data:: object + + Evaluated object the iterator points to (readonly) + + :type: :class:`Object` | None + + .. data:: orco + + Generated coordinates in parent object space (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. data:: parent + + If the object is an instance, the parent object that generated it (readonly) + + :type: :class:`Object` | None + + .. data:: particle_system + + Evaluated particle system that this object was instanced from (readonly) + + :type: :class:`ParticleSystem` | None + + .. data:: persistent_id + + Persistent identifier for inter-frame matching of objects with motion blur (array of 8 items, in [-inf, inf], default (0, 0, 0, 0, 0, 0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: random_id + + Random id for this instance, typically for randomized shading (in [0, inf], default 0, readonly) + + :type: int + + .. data:: show_particles + + Particles part of the object should be visible in the render (default False, readonly) + + :type: bool + + .. data:: show_self + + The object geometry itself should be visible in the render (default False, readonly) + + :type: bool + + .. data:: uv + + UV coordinates in parent object space (array of 2 items, in [-inf, inf], default (0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Depsgraph.object_instances` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DepsgraphUpdate.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DepsgraphUpdate.rst new file mode 100644 index 0000000..1cd45fd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DepsgraphUpdate.rst @@ -0,0 +1,102 @@ +DepsgraphUpdate(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: DepsgraphUpdate(bpy_struct) + + Information about ID that was updated + + .. data:: id + + Updated data-block (readonly) + + :type: :class:`ID` | None + + .. data:: is_updated_geometry + + Object geometry is updated (default False, readonly) + + :type: bool + + .. data:: is_updated_shading + + Object shading is updated (default False, readonly) + + :type: bool + + .. data:: is_updated_transform + + Object transformation is updated (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Depsgraph.updates` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DisplaceModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DisplaceModifier.rst new file mode 100644 index 0000000..bfe5c32 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DisplaceModifier.rst @@ -0,0 +1,176 @@ +DisplaceModifier(Modifier) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: DisplaceModifier(Modifier) + + Displacement modifier + + .. attribute:: direction + + (default ``'NORMAL'``) + + - ``X`` + X -- Use the texture's intensity value to displace in the X direction. + - ``Y`` + Y -- Use the texture's intensity value to displace in the Y direction. + - ``Z`` + Z -- Use the texture's intensity value to displace in the Z direction. + - ``NORMAL`` + Normal -- Use the texture's intensity value to displace along the vertex normal. + - ``CUSTOM_NORMAL`` + Custom Normal -- Use the texture's intensity value to displace along the (averaged) custom normal (falls back to vertex). + - ``RGB_TO_XYZ`` + RGB to XYZ -- Use the texture's RGB values to displace the mesh in the XYZ direction. + + :type: Literal['X', 'Y', 'Z', 'NORMAL', 'CUSTOM_NORMAL', 'RGB_TO_XYZ'] + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: mid_level + + Material value that gives no displacement (in [-inf, inf], default 0.5) + + :type: float + + .. attribute:: space + + (default ``'LOCAL'``) + + - ``LOCAL`` + Local -- Direction is defined in local coordinates. + - ``GLOBAL`` + Global -- Direction is defined in global coordinates. + + :type: Literal['LOCAL', 'GLOBAL'] + + .. attribute:: strength + + Amount to displace geometry (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: texture + + :type: :class:`Texture` | None + + .. attribute:: texture_coords + + (default ``'LOCAL'``) + + - ``LOCAL`` + Local -- Use the local coordinate system for the texture coordinates. + - ``GLOBAL`` + Global -- Use the global coordinate system for the texture coordinates. + - ``OBJECT`` + Object -- Use the linked object's local coordinate system for the texture coordinates. + - ``UV`` + UV -- Use UV coordinates for the texture coordinates. + + :type: Literal['LOCAL', 'GLOBAL', 'OBJECT', 'UV'] + + .. attribute:: texture_coords_bone + + Bone to set the texture coordinates (default "", never None) + + :type: str + + .. attribute:: texture_coords_object + + Object to set the texture coordinates + + :type: :class:`Object` | None + + .. attribute:: uv_layer + + UV map name (default "", never None) + + :type: str + + .. attribute:: vertex_group + + Name of Vertex Group which determines influence of modifier per point (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DisplaySafeAreas.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DisplaySafeAreas.rst new file mode 100644 index 0000000..a458b42 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DisplaySafeAreas.rst @@ -0,0 +1,102 @@ +DisplaySafeAreas(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: DisplaySafeAreas(bpy_struct) + + Safe areas used in 3D view and the sequencer + + .. attribute:: action + + Safe area for general elements (array of 2 items, in [0, 1], default (0.035, 0.035)) + + :type: :class:`mathutils.Vector` + + .. attribute:: action_center + + Safe area for general elements in a different aspect ratio (array of 2 items, in [0, 1], default (0.15, 0.05)) + + :type: :class:`mathutils.Vector` + + .. attribute:: title + + Safe area for text and graphics (array of 2 items, in [0, 1], default (0.1, 0.05)) + + :type: :class:`mathutils.Vector` + + .. attribute:: title_center + + Safe area for text and graphics in a different aspect ratio (array of 2 items, in [0, 1], default (0.175, 0.05)) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.safe_areas` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DistortedNoiseTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DistortedNoiseTexture.rst new file mode 100644 index 0000000..42abaaf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DistortedNoiseTexture.rst @@ -0,0 +1,221 @@ +DistortedNoiseTexture(Texture) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Texture` + +.. class:: DistortedNoiseTexture(Texture) + + Procedural distorted noise texture + + .. attribute:: distortion + + Amount of distortion (in [0, 10], default 1.0) + + :type: float + + .. attribute:: nabla + + Size of derivative offset used for calculating normal (in [0.001, 0.1], default 0.025) + + :type: float + + .. attribute:: noise_basis + + Noise basis used for turbulence (default ``'BLENDER_ORIGINAL'``) + + - ``BLENDER_ORIGINAL`` + Blender Original -- Noise algorithm - Blender original: Smooth interpolated noise. + - ``ORIGINAL_PERLIN`` + Original Perlin -- Noise algorithm - Original Perlin: Smooth interpolated noise. + - ``IMPROVED_PERLIN`` + Improved Perlin -- Noise algorithm - Improved Perlin: Smooth interpolated noise. + - ``VORONOI_F1`` + Voronoi F1 -- Noise algorithm - Voronoi F1: Returns distance to the closest feature point. + - ``VORONOI_F2`` + Voronoi F2 -- Noise algorithm - Voronoi F2: Returns distance to the 2nd closest feature point. + - ``VORONOI_F3`` + Voronoi F3 -- Noise algorithm - Voronoi F3: Returns distance to the 3rd closest feature point. + - ``VORONOI_F4`` + Voronoi F4 -- Noise algorithm - Voronoi F4: Returns distance to the 4th closest feature point. + - ``VORONOI_F2_F1`` + Voronoi F2-F1 -- Noise algorithm - Voronoi F1-F2. + - ``VORONOI_CRACKLE`` + Voronoi Crackle -- Noise algorithm - Voronoi Crackle: Voronoi tessellation with sharp edges. + - ``CELL_NOISE`` + Cell Noise -- Noise algorithm - Cell Noise: Square cell tessellation. + + :type: Literal['BLENDER_ORIGINAL', 'ORIGINAL_PERLIN', 'IMPROVED_PERLIN', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2_F1', 'VORONOI_CRACKLE', 'CELL_NOISE'] + + .. attribute:: noise_distortion + + Noise basis for the distortion (default ``'BLENDER_ORIGINAL'``) + + - ``BLENDER_ORIGINAL`` + Blender Original -- Noise algorithm - Blender original: Smooth interpolated noise. + - ``ORIGINAL_PERLIN`` + Original Perlin -- Noise algorithm - Original Perlin: Smooth interpolated noise. + - ``IMPROVED_PERLIN`` + Improved Perlin -- Noise algorithm - Improved Perlin: Smooth interpolated noise. + - ``VORONOI_F1`` + Voronoi F1 -- Noise algorithm - Voronoi F1: Returns distance to the closest feature point. + - ``VORONOI_F2`` + Voronoi F2 -- Noise algorithm - Voronoi F2: Returns distance to the 2nd closest feature point. + - ``VORONOI_F3`` + Voronoi F3 -- Noise algorithm - Voronoi F3: Returns distance to the 3rd closest feature point. + - ``VORONOI_F4`` + Voronoi F4 -- Noise algorithm - Voronoi F4: Returns distance to the 4th closest feature point. + - ``VORONOI_F2_F1`` + Voronoi F2-F1 -- Noise algorithm - Voronoi F1-F2. + - ``VORONOI_CRACKLE`` + Voronoi Crackle -- Noise algorithm - Voronoi Crackle: Voronoi tessellation with sharp edges. + - ``CELL_NOISE`` + Cell Noise -- Noise algorithm - Cell Noise: Square cell tessellation. + + :type: Literal['BLENDER_ORIGINAL', 'ORIGINAL_PERLIN', 'IMPROVED_PERLIN', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2_F1', 'VORONOI_CRACKLE', 'CELL_NOISE'] + + .. attribute:: noise_scale + + Scaling for noise input (in [0.0001, inf], default 0.25) + + :type: float + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Texture.type` + - :class:`Texture.use_clamp` + - :class:`Texture.use_color_ramp` + - :class:`Texture.color_ramp` + - :class:`Texture.intensity` + - :class:`Texture.contrast` + - :class:`Texture.saturation` + - :class:`Texture.factor_red` + - :class:`Texture.factor_green` + - :class:`Texture.factor_blue` + - :class:`Texture.use_preview_alpha` + - :class:`Texture.use_nodes` + - :class:`Texture.node_tree` + - :class:`Texture.animation_data` + - :class:`Texture.users_material` + - :class:`Texture.users_object_modifier` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Texture.evaluate` + - :class:`Texture.bl_rna_get_subclass` + - :class:`Texture.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DopeSheet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DopeSheet.rst new file mode 100644 index 0000000..00610ea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DopeSheet.rst @@ -0,0 +1,329 @@ +DopeSheet(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: DopeSheet(bpy_struct) + + Settings for filtering the channels shown in animation editors + + .. attribute:: filter_collection + + Collection that included object should be a member of + + :type: :class:`Collection` | None + + .. attribute:: filter_fcurve_name + + F-Curve live filtering string (default "", never None) + + :type: str + + .. attribute:: filter_text + + Live filtering string (default "", never None) + + :type: str + + .. attribute:: show_armatures + + Include visualization of armature related animation data (default True) + + :type: bool + + .. attribute:: show_cache_files + + Include visualization of cache file related animation data (default True) + + :type: bool + + .. attribute:: show_cameras + + Include visualization of camera related animation data (default True) + + :type: bool + + .. attribute:: show_curves + + Include visualization of curve related animation data (default True) + + :type: bool + + .. attribute:: show_datablock_filters + + Show options for whether channels related to certain types of data are included (default False) + + :type: bool + + .. attribute:: show_driver_fallback_as_error + + Include drivers that relied on any fallback values for their evaluation in the Only Show Errors filter, even if the driver evaluation succeeded (default False) + + :type: bool + + .. attribute:: show_expanded_summary + + Collapse summary when shown, so all other channels get hidden (Dope Sheet editors only) (default True) + + :type: bool + + .. attribute:: show_gpencil + + Include visualization of Grease Pencil related animation data and frames (default True) + + :type: bool + + .. attribute:: show_hair_curves + + Include visualization of hair related animation data (default True) + + :type: bool + + .. attribute:: show_hidden + + Include channels from objects/bone that are not visible (default False) + + :type: bool + + .. attribute:: show_lattices + + Include visualization of lattice related animation data (default True) + + :type: bool + + .. attribute:: show_lightprobes + + Include visualization of lightprobe related animation data (default True) + + :type: bool + + .. attribute:: show_lights + + Include visualization of light related animation data (default True) + + :type: bool + + .. attribute:: show_linestyles + + Include visualization of Line Style related Animation data (default True) + + :type: bool + + .. attribute:: show_materials + + Include visualization of material related animation data (default True) + + :type: bool + + .. attribute:: show_meshes + + Include visualization of mesh related animation data (default True) + + :type: bool + + .. attribute:: show_metaballs + + Include visualization of metaball related animation data (default True) + + :type: bool + + .. attribute:: show_missing_nla + + Include animation data-blocks with no NLA data (NLA editor only) (default True) + + :type: bool + + .. attribute:: show_modifiers + + Include visualization of animation data related to data-blocks linked to modifiers (default True) + + :type: bool + + .. attribute:: show_movieclips + + Include visualization of movie clip related animation data (default True) + + :type: bool + + .. attribute:: show_nodes + + Include visualization of node related animation data (default True) + + :type: bool + + .. attribute:: show_only_errors + + Only include F-Curves and drivers that are disabled or have errors (default False) + + :type: bool + + .. attribute:: show_only_selected + + Only include channels relating to selected objects and data (default False) + + :type: bool + + .. attribute:: show_only_slot_of_active_object + + Only show the slot of the active Object. Otherwise show all the Action's Slots (default False) + + :type: bool + + .. attribute:: show_particles + + Include visualization of particle related animation data (default True) + + :type: bool + + .. attribute:: show_pointclouds + + Include visualization of point cloud related animation data (default True) + + :type: bool + + .. attribute:: show_scenes + + Include visualization of scene related animation data (default True) + + :type: bool + + .. attribute:: show_shapekeys + + Include visualization of shape key related animation data (default True) + + :type: bool + + .. attribute:: show_speakers + + Include visualization of speaker related animation data (default True) + + :type: bool + + .. attribute:: show_summary + + Display an additional 'summary' line (Dope Sheet editors only) (default False) + + :type: bool + + .. attribute:: show_textures + + Include visualization of texture related animation data (default True) + + :type: bool + + .. attribute:: show_transforms + + Include visualization of object-level animation data (mostly transforms) (default True) + + :type: bool + + .. attribute:: show_volumes + + Include visualization of volume related animation data (default True) + + :type: bool + + .. attribute:: show_worlds + + Include visualization of world related animation data (default True) + + :type: bool + + .. data:: source + + ID-Block representing source data, usually ID_SCE (i.e. Scene) (readonly) + + :type: :class:`ID` | None + + .. attribute:: use_datablock_sort + + Alphabetically sorts data-blocks - mainly objects in the scene (disable to increase viewport speed) (default True) + + :type: bool + + .. attribute:: use_filter_invert + + Invert filter search (default False) + + :type: bool + + .. attribute:: use_multi_word_filter + + Perform fuzzy/multi-word matching. + Warning: May be slow + + (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceDopeSheetEditor.dopesheet` + - :class:`SpaceGraphEditor.dopesheet` + - :class:`SpaceNLA.dopesheet` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Driver.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Driver.rst new file mode 100644 index 0000000..ea72c12 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Driver.rst @@ -0,0 +1,114 @@ +Driver(bpy_struct) +================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Driver(bpy_struct) + + Driver for the value of a setting based on an external value + + .. attribute:: expression + + Expression to use for Scripted Expression (default "", never None) + + :type: str + + .. data:: is_simple_expression + + The scripted expression can be evaluated without using the full Python interpreter (default False, readonly) + + :type: bool + + .. attribute:: is_valid + + Driver could not be evaluated in past, so should be skipped (default True) + + :type: bool + + .. attribute:: type + + Driver type (default ``'AVERAGE'``) + + :type: Literal['AVERAGE', 'SUM', 'SCRIPTED', 'MIN', 'MAX'] + + .. attribute:: use_self + + Include a 'self' variable in the name-space, so drivers can easily reference the data being modified (object, bone, etc...) (default False) + + :type: bool + + .. data:: variables + + Properties acting as inputs for this driver (default None, readonly) + + :type: :class:`ChannelDriverVariables`\ [:class:`DriverVariable`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FCurve.driver` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DriverTarget.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DriverTarget.rst new file mode 100644 index 0000000..36254fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DriverTarget.rst @@ -0,0 +1,156 @@ +DriverTarget(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: DriverTarget(bpy_struct) + + Source of input values for driver variables + + .. attribute:: bone_target + + Name of PoseBone to use as target (default "", never None) + + :type: str + + .. attribute:: context_property + + Type of a context-dependent data-block to access property from (default ``'ACTIVE_SCENE'``) + + - ``ACTIVE_SCENE`` + Active Scene -- Currently evaluating scene. + - ``ACTIVE_VIEW_LAYER`` + Active View Layer -- Currently evaluating view layer. + + :type: Literal['ACTIVE_SCENE', 'ACTIVE_VIEW_LAYER'] + + .. attribute:: data_path + + RNA Path (from ID-block) to property used (default "", never None) + + :type: str + + .. attribute:: fallback_value + + The value to use if the data path cannot be resolved (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: id + + ID-block that the specific property used can be found from (id_type property must be set first) + + :type: :class:`ID` | None + + .. attribute:: id_type + + Type of ID-block that can be used (default ``'OBJECT'``) + + :type: Literal[:ref:`rna_enum_id_type_items`] + + .. data:: is_fallback_used + + Indicates that the most recent variable evaluation used the fallback value (default False, readonly) + + :type: bool + + .. attribute:: rotation_mode + + Mode for calculating rotation channel values (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_driver_target_rotation_mode_items`] + + .. attribute:: transform_space + + Space in which transforms are used (default ``'WORLD_SPACE'``) + + - ``WORLD_SPACE`` + World Space -- Transforms include effects of parenting/restpose and constraints. + - ``TRANSFORM_SPACE`` + Transform Space -- Transforms don't include parenting/restpose or constraints. + - ``LOCAL_SPACE`` + Local Space -- Transforms include effects of constraints but not parenting/restpose. + + :type: Literal['WORLD_SPACE', 'TRANSFORM_SPACE', 'LOCAL_SPACE'] + + .. attribute:: transform_type + + Driver variable type (default ``'LOC_X'``) + + :type: Literal['LOC_X', 'LOC_Y', 'LOC_Z', 'ROT_X', 'ROT_Y', 'ROT_Z', 'ROT_W', 'SCALE_X', 'SCALE_Y', 'SCALE_Z', 'SCALE_AVG'] + + .. attribute:: use_fallback_value + + Use the fallback value if the data path cannot be resolved, instead of failing to evaluate the driver (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`DriverVariable.targets` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DriverVariable.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DriverVariable.rst new file mode 100644 index 0000000..b80330e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DriverVariable.rst @@ -0,0 +1,115 @@ +DriverVariable(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: DriverVariable(bpy_struct) + + Variable from some source/target for driver relationship + + .. data:: is_name_valid + + Is this a valid name for a driver variable (default True, readonly) + + :type: bool + + .. attribute:: name + + Name to use in scripted expressions/functions (no spaces or dots are allowed, and must start with a letter) (default "", never None) + + :type: str + + .. data:: targets + + Sources of input data for evaluating this variable (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`DriverTarget`] + + .. attribute:: type + + Driver variable type (default ``'SINGLE_PROP'``) + + - ``SINGLE_PROP`` + Single Property -- Use the value from some RNA property. + - ``TRANSFORMS`` + Transform Channel -- Final transformation value of object or bone. + - ``ROTATION_DIFF`` + Rotational Difference -- Use the angle between two bones. + - ``LOC_DIFF`` + Distance -- Distance between two bones or objects. + - ``CONTEXT_PROP`` + Context Property -- Use the value from some RNA property within the current evaluation context. + + :type: Literal['SINGLE_PROP', 'TRANSFORMS', 'ROTATION_DIFF', 'LOC_DIFF', 'CONTEXT_PROP'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ChannelDriverVariables.new` + - :class:`ChannelDriverVariables.remove` + - :class:`Driver.variables` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintBrushSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintBrushSettings.rst new file mode 100644 index 0000000..2ffd324 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintBrushSettings.rst @@ -0,0 +1,246 @@ +DynamicPaintBrushSettings(bpy_struct) +===================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: DynamicPaintBrushSettings(bpy_struct) + + Brush settings + + .. attribute:: invert_proximity + + Proximity falloff is applied inside the volume (default False) + + :type: bool + + .. attribute:: paint_alpha + + Paint alpha (in [0, 1], default 0.0) + + :type: float + + .. attribute:: paint_color + + Color of the paint (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: paint_distance + + Maximum distance from brush to mesh surface to affect paint (in [0, 500], default 0.0) + + :type: float + + .. data:: paint_ramp + + Color ramp used to define proximity falloff (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: paint_source + + (default ``'VOLUME'``) + + :type: Literal['PARTICLE_SYSTEM', 'POINT', 'DISTANCE', 'VOLUME_DISTANCE', 'VOLUME'] + + .. attribute:: paint_wetness + + Paint wetness, visible in wetmap (some effects only affect wet paint) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: particle_system + + The particle system to paint with + + :type: :class:`ParticleSystem` | None + + .. attribute:: proximity_falloff + + Proximity falloff type (default ``'CONSTANT'``) + + :type: Literal['SMOOTH', 'CONSTANT', 'RAMP'] + + .. attribute:: ray_direction + + Ray direction to use for projection (if brush object is located in that direction it's painted) (default ``'CANVAS'``) + + :type: Literal['CANVAS', 'BRUSH', 'Z_AXIS'] + + .. attribute:: smooth_radius + + Smooth falloff added after solid radius (in [0, 10], default 0.0) + + :type: float + + .. attribute:: smudge_strength + + Smudge effect strength (in [0, 1], default 0.0) + + :type: float + + .. attribute:: solid_radius + + Radius that will be painted solid (in [0.01, 10], default 0.0) + + :type: float + + .. attribute:: use_absolute_alpha + + Only increase alpha value if paint alpha is higher than existing (default False) + + :type: bool + + .. attribute:: use_negative_volume + + Negate influence inside the volume (default False) + + :type: bool + + .. attribute:: use_paint_erase + + Erase / remove paint instead of adding it (default False) + + :type: bool + + .. attribute:: use_particle_radius + + Use radius from particle settings (default False) + + :type: bool + + .. attribute:: use_proximity_project + + Brush is projected to canvas from defined direction within brush proximity (default False) + + :type: bool + + .. attribute:: use_proximity_ramp_alpha + + Only read color ramp alpha (default False) + + :type: bool + + .. attribute:: use_smudge + + Make this brush to smudge existing paint as it moves (default False) + + :type: bool + + .. attribute:: use_velocity_alpha + + Multiply brush influence by velocity color ramp alpha (default False) + + :type: bool + + .. attribute:: use_velocity_color + + Replace brush color by velocity color ramp (default False) + + :type: bool + + .. attribute:: use_velocity_depth + + Multiply brush intersection depth (displace, waves) by velocity ramp alpha (default False) + + :type: bool + + .. attribute:: velocity_max + + Velocity considered as maximum influence (Blender units per frame) (in [0.0001, 10], default 0.0) + + :type: float + + .. data:: velocity_ramp + + Color ramp used to define brush velocity effect (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: wave_clamp + + Maximum level of surface intersection used to influence waves (use 0.0 to disable) (in [0, 50], default 0.0) + + :type: float + + .. attribute:: wave_factor + + Multiplier for wave influence of this brush (in [-2, 2], default 0.0) + + :type: float + + .. attribute:: wave_type + + (default ``'DEPTH'``) + + :type: Literal['CHANGE', 'DEPTH', 'FORCE', 'REFLECT'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`DynamicPaintModifier.brush_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintCanvasSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintCanvasSettings.rst new file mode 100644 index 0000000..e91eb72 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintCanvasSettings.rst @@ -0,0 +1,84 @@ +DynamicPaintCanvasSettings(bpy_struct) +====================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: DynamicPaintCanvasSettings(bpy_struct) + + Dynamic Paint canvas settings + + .. data:: canvas_surfaces + + Paint surface list (default None, readonly) + + :type: :class:`DynamicPaintSurfaces`\ [:class:`DynamicPaintSurface`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`DynamicPaintModifier.canvas_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintModifier.rst new file mode 100644 index 0000000..0e3c855 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintModifier.rst @@ -0,0 +1,103 @@ +DynamicPaintModifier(Modifier) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: DynamicPaintModifier(Modifier) + + Dynamic Paint modifier + + .. data:: brush_settings + + (readonly) + + :type: :class:`DynamicPaintBrushSettings` | None + + .. data:: canvas_settings + + (readonly) + + :type: :class:`DynamicPaintCanvasSettings` | None + + .. attribute:: ui_type + + (default ``'CANVAS'``) + + :type: Literal[:ref:`rna_enum_prop_dynamicpaint_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintSurface.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintSurface.rst new file mode 100644 index 0000000..b4eda12 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintSurface.rst @@ -0,0 +1,405 @@ +DynamicPaintSurface(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: DynamicPaintSurface(bpy_struct) + + A canvas surface layer + + .. attribute:: brush_collection + + Only use brush objects from this collection + + :type: :class:`Collection` | None + + .. attribute:: brush_influence_scale + + Adjust influence brush objects have on this surface (in [0, 1], default 0.0) + + :type: float + + .. attribute:: brush_radius_scale + + Adjust radius of proximity brushes or particles for this surface (in [0, 10], default 0.0) + + :type: float + + .. attribute:: color_dry_threshold + + The wetness level when colors start to shift to the background (in [0, 1], default 0.0) + + :type: float + + .. attribute:: color_spread_speed + + How fast colors get mixed within wet paint (in [0, 2], default 0.0) + + :type: float + + .. attribute:: depth_clamp + + Maximum level of depth intersection in object space (use 0.0 to disable) (in [0, 50], default 0.0) + + :type: float + + .. attribute:: displace_factor + + Strength of displace when applied to the mesh (in [-50, 50], default 0.0) + + :type: float + + .. attribute:: displace_type + + (default ``'DISPLACE'``) + + :type: Literal['DISPLACE', 'DEPTH'] + + .. attribute:: dissolve_speed + + Approximately in how many frames should dissolve happen (in [1, 10000], default 0) + + :type: int + + .. attribute:: drip_acceleration + + How much surface acceleration affects dripping (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: drip_velocity + + How much surface velocity affects dripping (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: dry_speed + + Approximately in how many frames should drying happen (in [1, 10000], default 0) + + :type: int + + .. attribute:: effect_ui + + (default ``'SPREAD'``) + + :type: Literal['SPREAD', 'DRIP', 'SHRINK'] + + .. data:: effector_weights + + (readonly) + + :type: :class:`EffectorWeights` | None + + .. attribute:: frame_end + + Simulation end frame (in [1, 1048574], default 0) + + :type: int + + .. attribute:: frame_start + + Simulation start frame (in [1, 1048574], default 0) + + :type: int + + .. attribute:: frame_substeps + + Do extra frames between scene frames to ensure smooth motion (in [0, 20], default 0) + + :type: int + + .. attribute:: image_fileformat + + (default ``'PNG'``) + + :type: Literal['PNG'] + + .. attribute:: image_output_path + + Directory to save the textures (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: image_resolution + + Output image resolution (in [16, 4096], default 0) + + :type: int + + .. attribute:: init_color + + Initial color of the surface (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: init_color_type + + (default ``'NONE'``) + + :type: Literal['NONE', 'COLOR', 'TEXTURE', 'VERTEX_COLOR'] + + .. attribute:: init_layername + + (default "", never None) + + :type: str + + .. attribute:: init_texture + + :type: :class:`Texture` | None + + .. attribute:: is_active + + Toggle whether surface is processed or ignored (default False) + + :type: bool + + .. data:: is_cache_user + + (default False, readonly) + + :type: bool + + .. attribute:: name + + Surface name (default "", never None) + + :type: str + + .. attribute:: output_name_a + + Name used to save output from this surface (default "", never None) + + :type: str + + .. attribute:: output_name_b + + Name used to save output from this surface (default "", never None) + + :type: str + + .. data:: point_cache + + (readonly, never None) + + :type: :class:`PointCache` + + .. attribute:: shrink_speed + + How fast shrink effect moves on the canvas surface (in [0.001, 10], default 0.0) + + :type: float + + .. attribute:: spread_speed + + How fast spread effect moves on the canvas surface (in [0.001, 10], default 0.0) + + :type: float + + .. attribute:: surface_format + + Surface Format (default ``'VERTEX'``) + + :type: Literal['VERTEX', 'IMAGE'] + + .. attribute:: surface_type + + Surface Type (default ``'PAINT'``) + + :type: Literal['PAINT'] + + .. attribute:: use_antialiasing + + Use 5× multisampling to smooth paint edges (default False) + + :type: bool + + .. attribute:: use_dissolve + + Enable to make surface changes disappear over time (default False) + + :type: bool + + .. attribute:: use_dissolve_log + + Use logarithmic dissolve (makes high values to fade faster than low values) (default False) + + :type: bool + + .. attribute:: use_drip + + Process drip effect (drip wet paint to gravity direction) (default False) + + :type: bool + + .. attribute:: use_dry_log + + Use logarithmic drying (makes high values to dry faster than low values) (default False) + + :type: bool + + .. attribute:: use_drying + + Enable to make surface wetness dry over time (default False) + + :type: bool + + .. attribute:: use_incremental_displace + + New displace is added cumulatively on top of existing (default False) + + :type: bool + + .. attribute:: use_output_a + + Save this output layer (default False) + + :type: bool + + .. attribute:: use_output_b + + Save this output layer (default False) + + :type: bool + + .. attribute:: use_premultiply + + Multiply color by alpha (recommended for Blender input) (default False) + + :type: bool + + .. attribute:: use_shrink + + Process shrink effect (shrink paint areas) (default False) + + :type: bool + + .. attribute:: use_spread + + Process spread effect (spread wet paint around surface) (default False) + + :type: bool + + .. attribute:: use_wave_open_border + + Pass waves through mesh edges (default False) + + :type: bool + + .. attribute:: uv_layer + + UV map name (default "", never None) + + :type: str + + .. attribute:: wave_damping + + Wave damping factor (in [0, 1], default 0.0) + + :type: float + + .. attribute:: wave_smoothness + + Limit maximum steepness of wave slope between simulation points (use higher values for smoother waves at expense of reduced detail) (in [0, 10], default 0.0) + + :type: float + + .. attribute:: wave_speed + + Wave propagation speed (in [0.01, 5], default 0.0) + + :type: float + + .. attribute:: wave_spring + + Spring force that pulls water level back to zero (in [0, 1], default 0.0) + + :type: float + + .. attribute:: wave_timescale + + Wave time scaling factor (in [0.01, 3], default 0.0) + + :type: float + + .. method:: output_exists(object, index) + + Checks if surface output layer of given name exists + + :param object: (never None) + :type object: :class:`Object` | None + :param index: Index, (in [0, 1]) + :type index: int + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`DynamicPaintCanvasSettings.canvas_surfaces` + - :class:`DynamicPaintSurfaces.active` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintSurfaces.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintSurfaces.rst new file mode 100644 index 0000000..6e2699c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.DynamicPaintSurfaces.rst @@ -0,0 +1,90 @@ +DynamicPaintSurfaces(bpy_prop_collection) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: DynamicPaintSurfaces(bpy_prop_collection) + + Collection of Dynamic Paint Canvas surfaces + + .. data:: active + + Active Dynamic Paint surface being displayed (readonly) + + :type: :class:`DynamicPaintSurface` | None + + .. attribute:: active_index + + (in [0, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`DynamicPaintCanvasSettings.canvas_surfaces` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EQCurveMappingData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EQCurveMappingData.rst new file mode 100644 index 0000000..804be92 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EQCurveMappingData.rst @@ -0,0 +1,85 @@ +EQCurveMappingData(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: EQCurveMappingData(bpy_struct) + + EQCurveMappingData + + .. data:: curve_mapping + + (readonly) + + :type: :class:`CurveMapping` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SoundEqualizerModifier.graphics` + - :class:`SoundEqualizerModifier.new_graphic` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EchoModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EchoModifier.rst new file mode 100644 index 0000000..91554af --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EchoModifier.rst @@ -0,0 +1,100 @@ +EchoModifier(StripModifier) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripModifier` + +.. class:: EchoModifier(StripModifier) + + Tooltip + + .. attribute:: delay + + The delay of the effect in seconds (in [0.05, 5], default 0.0) + + :type: float + + .. attribute:: feedback + + The feedback of the effect (in [0, 1], default 0.0) + + :type: float + + .. attribute:: mix + + The wet/dry mix of the effect (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripModifier.name` + - :class:`StripModifier.type` + - :class:`StripModifier.mute` + - :class:`StripModifier.enable` + - :class:`StripModifier.show_expanded` + - :class:`StripModifier.input_mask_type` + - :class:`StripModifier.mask_time` + - :class:`StripModifier.input_mask_strip` + - :class:`StripModifier.input_mask_id` + - :class:`StripModifier.is_active` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripModifier.bl_rna_get_subclass` + - :class:`StripModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EdgeSplitModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EdgeSplitModifier.rst new file mode 100644 index 0000000..3d163fd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EdgeSplitModifier.rst @@ -0,0 +1,103 @@ +EdgeSplitModifier(Modifier) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: EdgeSplitModifier(Modifier) + + Edge splitting modifier to create sharp edges + + .. attribute:: split_angle + + Angle above which to split edges (in [0, 3.14159], default 0.523599) + + :type: float + + .. attribute:: use_edge_angle + + Split edges with high angle between faces (default True) + + :type: bool + + .. attribute:: use_edge_sharp + + Split edges that are marked as sharp (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EditBone.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EditBone.rst new file mode 100644 index 0000000..ccc9723 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EditBone.rst @@ -0,0 +1,573 @@ +EditBone(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: EditBone(bpy_struct) + + Edit mode bone in an armature data-block + + .. attribute:: bbone_curveinx + + X-axis handle offset for start of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_curveinz + + Z-axis handle offset for start of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_curveoutx + + X-axis handle offset for end of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_curveoutz + + Z-axis handle offset for end of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_custom_handle_end + + Bone that serves as the end handle for the B-Bone curve + + :type: :class:`EditBone` | None + + .. attribute:: bbone_custom_handle_start + + Bone that serves as the start handle for the B-Bone curve + + :type: :class:`EditBone` | None + + .. attribute:: bbone_easein + + Length of first Bézier Handle (for B-Bones only) (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: bbone_easeout + + Length of second Bézier Handle (for B-Bones only) (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: bbone_handle_type_end + + Selects how the end handle of the B-Bone is computed (default ``'AUTO'``) + + - ``AUTO`` + Automatic -- Use connected parent and children to compute the handle. + - ``ABSOLUTE`` + Absolute -- Use the position of the specified bone to compute the handle. + - ``RELATIVE`` + Relative -- Use the offset of the specified bone from rest pose to compute the handle. + - ``TANGENT`` + Tangent -- Use the orientation of the specified bone to compute the handle, ignoring the location. + + :type: Literal['AUTO', 'ABSOLUTE', 'RELATIVE', 'TANGENT'] + + .. attribute:: bbone_handle_type_start + + Selects how the start handle of the B-Bone is computed (default ``'AUTO'``) + + - ``AUTO`` + Automatic -- Use connected parent and children to compute the handle. + - ``ABSOLUTE`` + Absolute -- Use the position of the specified bone to compute the handle. + - ``RELATIVE`` + Relative -- Use the offset of the specified bone from rest pose to compute the handle. + - ``TANGENT`` + Tangent -- Use the orientation of the specified bone to compute the handle, ignoring the location. + + :type: Literal['AUTO', 'ABSOLUTE', 'RELATIVE', 'TANGENT'] + + .. attribute:: bbone_handle_use_ease_end + + Multiply the B-Bone Ease Out channel by the local Y scale value of the end handle. This is done after the Scale Easing option and isn't affected by it. (default False) + + :type: bool + + .. attribute:: bbone_handle_use_ease_start + + Multiply the B-Bone Ease In channel by the local Y scale value of the start handle. This is done after the Scale Easing option and isn't affected by it. (default False) + + :type: bool + + .. attribute:: bbone_handle_use_scale_end + + Multiply B-Bone Scale Out channels by the local scale values of the end handle. This is done after the Scale Easing option and isn't affected by it. (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: bbone_handle_use_scale_start + + Multiply B-Bone Scale In channels by the local scale values of the start handle. This is done after the Scale Easing option and isn't affected by it. (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: bbone_mapping_mode + + Selects how the vertices are mapped to B-Bone segments based on their position (default ``'STRAIGHT'``) + + - ``STRAIGHT`` + Straight -- Fast mapping that is good for most situations, but ignores the rest pose curvature of the B-Bone. + - ``CURVED`` + Curved -- Slower mapping that gives better deformation for B-Bones that are sharply curved in rest pose. + + :type: Literal['STRAIGHT', 'CURVED'] + + .. attribute:: bbone_rollin + + Roll offset for the start of the B-Bone, adjusts twist (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_rollout + + Roll offset for the end of the B-Bone, adjusts twist (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_scalein + + Scale factors for the start of the B-Bone, adjusts thickness (for tapering effects) (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: bbone_scaleout + + Scale factors for the end of the B-Bone, adjusts thickness (for tapering effects) (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: bbone_segments + + Number of subdivisions of bone (for B-Bones only) (in [1, 32], default 0) + + :type: int + + .. attribute:: bbone_x + + B-Bone X size (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_z + + B-Bone Z size (in [-inf, inf], default 0.0) + + :type: float + + .. data:: collections + + Bone Collections that contain this bone (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`BoneCollection`] + + .. data:: color + + (readonly) + + :type: :class:`BoneColor` | None + + .. attribute:: display_type + + (default ``'OCTAHEDRAL'``) + + - ``ARMATURE_DEFINED`` + Armature Defined -- Use display mode from armature (default). + - ``OCTAHEDRAL`` + Octahedral -- Display bones as octahedral shape. + - ``STICK`` + Stick -- Display bones as simple 2D lines with dots. + - ``BBONE`` + B-Bone -- Display bones as boxes, showing subdivision and B-Splines. + - ``ENVELOPE`` + Envelope -- Display bones as extruded spheres, showing deformation influence volume. + - ``WIRE`` + Wire -- Display bones as thin wires, showing subdivision and B-Splines. + + :type: Literal['ARMATURE_DEFINED', 'OCTAHEDRAL', 'STICK', 'BBONE', 'ENVELOPE', 'WIRE'] + + .. attribute:: envelope_distance + + Bone deformation distance (for Envelope deform only) (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: envelope_weight + + Bone deformation weight (for Envelope deform only) (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: head + + Location of head end of the bone (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: head_radius + + Radius of head of bone (for Envelope deform only) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: hide + + Bone is not visible when in Edit Mode (default False) + + :type: bool + + .. attribute:: hide_select + + Bone is able to be selected (default False) + + :type: bool + + .. attribute:: inherit_scale + + Specifies how the bone inherits scaling from the parent bone (default ``'FULL'``) + + - ``FULL`` + Full -- Inherit all effects of parent scaling. + - ``FIX_SHEAR`` + Fix Shear -- Inherit scaling, but remove shearing of the child in the rest orientation. + - ``ALIGNED`` + Aligned -- Rotate non-uniform parent scaling to align with the child, applying parent X scale to child X axis, and so forth. + - ``AVERAGE`` + Average -- Inherit uniform scaling representing the overall change in the volume of the parent. + - ``NONE`` + None -- Completely ignore parent scaling. + - ``NONE_LEGACY`` + None (Legacy) -- Ignore parent scaling without compensating for parent shear. Replicates the effect of disabling the original Inherit Scale checkbox.. + + :type: Literal['FULL', 'FIX_SHEAR', 'ALIGNED', 'AVERAGE', 'NONE', 'NONE_LEGACY'] + + .. attribute:: length + + Length of the bone. Changing moves the tail end. (in [0, inf], default 0.0) + + :type: float + + .. attribute:: lock + + Bone is not able to be transformed when in Edit Mode (default False) + + :type: bool + + .. attribute:: matrix + + Matrix combining location and rotation of the bone (head position, direction and roll), in armature space (does not include/support bone's length/size) (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: parent + + Parent edit bone (in same Armature) + + :type: :class:`EditBone` | None + + .. attribute:: roll + + Bone rotation around head-tail axis (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: select + + (default False) + + :type: bool + + .. attribute:: select_head + + (default False) + + :type: bool + + .. attribute:: select_tail + + (default False) + + :type: bool + + .. attribute:: show_wire + + Bone is always displayed in wireframe regardless of viewport shading mode (useful for non-obstructive custom bone shapes) (default False) + + :type: bool + + .. attribute:: tail + + Location of tail end of the bone (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: tail_radius + + Radius of tail of bone (for Envelope deform only) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: use_connect + + When bone has a parent, bone's head is stuck to the parent's tail (default False) + + :type: bool + + .. attribute:: use_cyclic_offset + + When bone does not have a parent, it receives cyclic offset effects (Deprecated) (default False) + + :type: bool + + .. attribute:: use_deform + + Enable Bone to deform geometry (default False) + + :type: bool + + .. attribute:: use_endroll_as_inroll + + Add Roll Out of the Start Handle bone to the Roll In value (default False) + + :type: bool + + .. attribute:: use_envelope_multiply + + When deforming bone, multiply effects of Vertex Group weights with Envelope influence (default False) + + :type: bool + + .. attribute:: use_inherit_rotation + + Bone inherits rotation or scale from parent bone (default False) + + :type: bool + + .. attribute:: use_local_location + + Bone location is set in local space (default False) + + :type: bool + + .. attribute:: use_relative_parent + + Object children will use relative transform, like deform (default False) + + :type: bool + + .. attribute:: use_scale_easing + + Multiply the final easing values by the Scale In/Out Y factors (default False) + + :type: bool + + .. data:: basename + + The name of this bone before any ``.`` character. + + (readonly) + + .. data:: center + + The midpoint between the head and the tail. + + (readonly) + + .. data:: children + + A list of all the bones children. + + .. note:: Takes ``O(len(bones))`` time. + + (readonly) + + .. data:: children_recursive + + A list of all children from this bone. + + .. note:: Takes ``O(len(bones)**2)`` time. + + (readonly) + + .. data:: children_recursive_basename + + Returns a chain of children with the same base name as this bone. + Only direct chains are supported, forks caused by multiple children + with matching base names will terminate the function + and not be returned. + + .. note:: Takes ``O(len(bones)**2)`` time. + + (readonly) + + .. data:: parent_recursive + + A list of parents, starting with the immediate parent. + + (readonly) + + .. data:: vector + + The direction this bone is pointing. + Utility function for (tail - head) + + (readonly) + + .. data:: x_axis + + Vector pointing down the x-axis of the bone. + + (readonly) + + .. data:: y_axis + + Vector pointing down the y-axis of the bone. + + (readonly) + + .. data:: z_axis + + Vector pointing down the z-axis of the bone. + + (readonly) + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. method:: align_roll(vector) + + Align the bone to a local-space roll so the Z axis points in the direction of the vector given + + :param vector: Vector, (array of 3 items, in [-inf, inf]) + :type vector: :class:`mathutils.Vector` | Sequence[float] + + .. method:: align_orientation(other) + + Align this bone to another by moving its tail and settings its roll + the length of the other bone is not used. + + .. method:: parent_index(parent_test) + + The same as 'bone in other_bone.parent_recursive' + but saved generating a list. + + .. method:: transform(matrix, *, scale=True, roll=True) + + Transform the bones head, tail, roll and envelope + (when the matrix has a scale component). + + :param matrix: 3x3 or 4x4 transformation matrix. + :type matrix: :class:`mathutils.Matrix` + :param scale: Scale the bone envelope by the matrix. + :type scale: bool + :param roll: + + Correct the roll to point in the same relative + direction to the head and tail. + + :type roll: bool + + .. method:: translate(vec) + + Utility function to add *vec* to the head and tail of this bone. + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_bone` + - :mod:`bpy.context.edit_bone` + - :mod:`bpy.context.editable_bones` + - :mod:`bpy.context.selected_bones` + - :mod:`bpy.context.selected_editable_bones` + - :mod:`bpy.context.visible_bones` + - :class:`Armature.edit_bones` + - :class:`ArmatureEditBones.active` + - :class:`ArmatureEditBones.new` + - :class:`ArmatureEditBones.remove` + - :class:`EditBone.bbone_custom_handle_end` + - :class:`EditBone.bbone_custom_handle_start` + - :class:`EditBone.parent` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EffectStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EffectStrip.rst new file mode 100644 index 0000000..33d4bd0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EffectStrip.rst @@ -0,0 +1,202 @@ +EffectStrip(Strip) +================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip` + +subclasses --- +:class:`AddStrip`, :class:`AdjustmentStrip`, :class:`AlphaOverStrip`, :class:`AlphaUnderStrip`, :class:`ColorMixStrip`, :class:`ColorStrip`, :class:`CrossStrip`, :class:`GammaCrossStrip`, :class:`GaussianBlurStrip`, :class:`GlowStrip`, :class:`MulticamStrip`, :class:`MultiplyStrip`, :class:`SpeedControlStrip`, :class:`SubtractStrip`, :class:`TextStrip`, :class:`WipeStrip` + +.. class:: EffectStrip(Strip) + + Sequence strip applying an effect on the images created by other strips + + .. attribute:: alpha_mode + + Representation of alpha information in the RGBA pixels (default ``'STRAIGHT'``) + + - ``STRAIGHT`` + Straight -- RGB channels in transparent pixels are unaffected by the alpha channel. + - ``PREMUL`` + Premultiplied -- RGB channels in transparent pixels are multiplied by the alpha channel. + + :type: Literal['STRAIGHT', 'PREMUL'] + + .. attribute:: color_multiply + + (in [0, 20], default 1.0) + + :type: float + + .. attribute:: color_saturation + + Adjust the intensity of the input's color (in [0, 20], default 1.0) + + :type: float + + .. data:: crop + + (readonly) + + :type: :class:`StripCrop` | None + + .. attribute:: multiply_alpha + + Multiply alpha along with color channels (default False) + + :type: bool + + .. data:: proxy + + (readonly) + + :type: :class:`StripProxy` | None + + .. attribute:: strobe + + Only display every nth frame (in [1, 30], default 0.0) + + :type: float + + .. data:: transform + + (readonly) + + :type: :class:`StripTransform` | None + + .. attribute:: use_deinterlace + + Remove fields from video movies (default False) + + :type: bool + + .. attribute:: use_flip_x + + Flip on the X axis (default False) + + :type: bool + + .. attribute:: use_flip_y + + Flip on the Y axis (default False) + + :type: bool + + .. attribute:: use_float + + Convert input to float data (default False) + + :type: bool + + .. attribute:: use_proxy + + Use a preview proxy and/or time-code index for this strip (default False) + + :type: bool + + .. attribute:: use_reverse_frames + + Reverse frame order (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EffectorWeights.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EffectorWeights.rst new file mode 100644 index 0000000..4ee7f72 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EffectorWeights.rst @@ -0,0 +1,185 @@ +EffectorWeights(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: EffectorWeights(bpy_struct) + + Effector weights for physics simulation + + .. attribute:: all + + All effector's weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: apply_to_hair_growing + + Use force fields when growing hair (default False) + + :type: bool + + .. attribute:: boid + + Boid effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: charge + + Charge effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: collection + + Limit effectors to this collection + + :type: :class:`Collection` | None + + .. attribute:: curve_guide + + Curve guide effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: drag + + Drag effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: force + + Force effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: gravity + + Global gravity weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: harmonic + + Harmonic effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: lennardjones + + Lennard-Jones effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: magnetic + + Magnetic effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: smokeflow + + Fluid Flow effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: texture + + Texture effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: turbulence + + Turbulence effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: vortex + + Vortex effector weight (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: wind + + Wind effector weight (in [-200, 200], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ClothSettings.effector_weights` + - :class:`DynamicPaintSurface.effector_weights` + - :class:`FluidDomainSettings.effector_weights` + - :class:`ParticleSettings.effector_weights` + - :class:`RigidBodyWorld.effector_weights` + - :class:`SoftBodySettings.effector_weights` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EnumProperty.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EnumProperty.rst new file mode 100644 index 0000000..c7622ec --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EnumProperty.rst @@ -0,0 +1,134 @@ +EnumProperty(Property) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Property` + +.. class:: EnumProperty(Property) + + RNA enumeration property definition, to choose from a number of predefined options + + .. data:: default + + Default value for this enum (default ``'DEFAULT'``, readonly) + + :type: Literal['DEFAULT'] + + .. data:: default_flag + + Default value for this enum (default set(), readonly) + + :type: set[Literal['DEFAULT']] + + .. data:: enum_items + + Possible values for the property (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`EnumPropertyItem`] + + .. data:: enum_items_static + + Possible values for the property (never calls optional dynamic generation of those) (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`EnumPropertyItem`] + + .. data:: enum_items_static_ui + + Possible values for the property (never calls optional dynamic generation of those). Includes UI elements (separators and section headings). (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`EnumPropertyItem`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Property.name` + - :class:`Property.identifier` + - :class:`Property.description` + - :class:`Property.translation_context` + - :class:`Property.type` + - :class:`Property.subtype` + - :class:`Property.srna` + - :class:`Property.unit` + - :class:`Property.icon` + - :class:`Property.is_readonly` + - :class:`Property.is_animatable` + - :class:`Property.is_overridable` + - :class:`Property.is_required` + - :class:`Property.is_argument_optional` + - :class:`Property.is_never_none` + - :class:`Property.is_hidden` + - :class:`Property.is_skip_save` + - :class:`Property.is_skip_preset` + - :class:`Property.is_output` + - :class:`Property.is_registered` + - :class:`Property.is_registered_optional` + - :class:`Property.is_runtime` + - :class:`Property.is_enum_flag` + - :class:`Property.is_library_editable` + - :class:`Property.is_path_output` + - :class:`Property.is_path_supports_blend_relative` + - :class:`Property.is_path_supports_templates` + - :class:`Property.is_deprecated` + - :class:`Property.deprecated_note` + - :class:`Property.deprecated_version` + - :class:`Property.deprecated_removal_version` + - :class:`Property.tags` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Property.bl_rna_get_subclass` + - :class:`Property.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EnumPropertyItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EnumPropertyItem.rst new file mode 100644 index 0000000..f662c3e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EnumPropertyItem.rst @@ -0,0 +1,112 @@ +EnumPropertyItem(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: EnumPropertyItem(bpy_struct) + + Definition of a choice in an RNA enum property + + .. data:: description + + Description of the item's purpose (default "", readonly, never None) + + :type: str + + .. data:: icon + + Icon of the item (default ``'NONE'``, readonly) + + :type: Literal[:ref:`rna_enum_icon_items`] + + .. data:: identifier + + Unique name used in the code and scripting (default "", readonly, never None) + + :type: str + + .. data:: name + + Human readable name (default "", readonly, never None) + + :type: str + + .. data:: value + + Value of the item (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`EnumProperty.enum_items` + - :class:`EnumProperty.enum_items_static` + - :class:`EnumProperty.enum_items_static_ui` + - :class:`KeyMap.modal_event_values` + - :class:`Struct.property_tags` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EvaluateClosureNodeViewerPathElem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EvaluateClosureNodeViewerPathElem.rst new file mode 100644 index 0000000..e3c6984 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.EvaluateClosureNodeViewerPathElem.rst @@ -0,0 +1,91 @@ +EvaluateClosureNodeViewerPathElem(ViewerPathElem) +================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ViewerPathElem` + +.. class:: EvaluateClosureNodeViewerPathElem(ViewerPathElem) + + + .. attribute:: evaluate_node_id + + (in [-inf, inf], default 0) + + :type: int + + .. data:: source_node_tree + + (readonly) + + :type: :class:`NodeTree` | None + + .. attribute:: source_output_node_id + + (in [-inf, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ViewerPathElem.type` + - :class:`ViewerPathElem.ui_name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ViewerPathElem.bl_rna_get_subclass` + - :class:`ViewerPathElem.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Event.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Event.rst new file mode 100644 index 0000000..f9dbf8d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Event.rst @@ -0,0 +1,254 @@ +Event(bpy_struct) +================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Event(bpy_struct) + + Window Manager Event + + .. data:: alt + + True when the Alt/Option key is held (default False, readonly) + + :type: bool + + .. data:: ascii + + Single ASCII character for this event (default "", readonly, never None) + + :type: str + + .. data:: ctrl + + True when the Ctrl key is held (default False, readonly) + + :type: bool + + .. data:: direction + + The direction (only applies to drag events) (default ``'ANY'``, readonly) + + :type: Literal[:ref:`rna_enum_event_direction_items`] + + .. data:: hyper + + True when the Hyper key is held (default False, readonly) + + :type: bool + + .. data:: is_consecutive + + Part of a trackpad or NDOF motion, interrupted by cursor motion, button or key press events (default False, readonly) + + :type: bool + + .. data:: is_mouse_absolute + + The last motion event was an absolute input (default False, readonly) + + :type: bool + + .. data:: is_repeat + + The event is generated by holding a key down (default False, readonly) + + :type: bool + + .. data:: is_tablet + + The event has tablet data (default False, readonly) + + :type: bool + + .. data:: mouse_prev_press_x + + The window relative horizontal location of the last press event (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: mouse_prev_press_y + + The window relative vertical location of the last press event (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: mouse_prev_x + + The window relative horizontal location of the mouse (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: mouse_prev_y + + The window relative vertical location of the mouse (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: mouse_region_x + + The region relative horizontal location of the mouse (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: mouse_region_y + + The region relative vertical location of the mouse (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: mouse_x + + The window relative horizontal location of the mouse (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: mouse_y + + The window relative vertical location of the mouse (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: ndof_motion + + NDOF motion event data (readonly) + + :type: :class:`NDOFMotionEventData` | None + + .. data:: oskey + + True when the Cmd key is held (default False, readonly) + + :type: bool + + .. data:: pressure + + The pressure of the tablet or 1.0 if no tablet present (in [0, 1], default 1.0, readonly) + + :type: float + + .. data:: shift + + True when the Shift key is held (default False, readonly) + + :type: bool + + .. data:: tilt + + The pressure of the tablet or zeroes if no tablet present (array of 2 items, in [-inf, inf], default (0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. data:: type + + (default ``'NONE'``, readonly) + + :type: Literal[:ref:`rna_enum_event_type_items`] + + .. data:: type_prev + + (default ``'NONE'``, readonly) + + :type: Literal[:ref:`rna_enum_event_type_items`] + + .. data:: unicode + + Single unicode character for this event (default "", readonly, never None) + + :type: str + + .. data:: value + + The type of event, only applies to some (default ``'NOTHING'``, readonly) + + :type: Literal[:ref:`rna_enum_event_value_items`] + + .. data:: value_prev + + The type of event, only applies to some (default ``'NOTHING'``, readonly) + + :type: Literal[:ref:`rna_enum_event_value_items`] + + .. data:: xr + + XR event data (readonly) + + :type: :class:`XrEventData` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Gizmo.invoke` + - :class:`Gizmo.modal` + - :class:`KeyMapItems.match_event` + - :class:`Operator.invoke` + - :class:`Operator.modal` + - :class:`Window.event_simulate` + - :class:`WindowManager.invoke_confirm` + - :class:`WindowManager.invoke_props_popup` + - :class:`WindowManager.piemenu_begin__internal` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ExplodeModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ExplodeModifier.rst new file mode 100644 index 0000000..1ed7d79 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ExplodeModifier.rst @@ -0,0 +1,139 @@ +ExplodeModifier(Modifier) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: ExplodeModifier(Modifier) + + Explosion effect modifier based on a particle system + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: particle_uv + + UV map to change with particle age (default "", never None) + + :type: str + + .. attribute:: protect + + Clean vertex group edges (in [0, 1], default 0.0) + + :type: float + + .. attribute:: show_alive + + Show mesh when particles are alive (default True) + + :type: bool + + .. attribute:: show_dead + + Show mesh when particles are dead (default True) + + :type: bool + + .. attribute:: show_unborn + + Show mesh when particles are unborn (default True) + + :type: bool + + .. attribute:: use_edge_cut + + Cut face edges for nicer shrapnel (default False) + + :type: bool + + .. attribute:: use_size + + Use particle size for the shrapnel (default False) + + :type: bool + + .. attribute:: vertex_group + + (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurve.rst new file mode 100644 index 0000000..85b389a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurve.rst @@ -0,0 +1,283 @@ +FCurve(bpy_struct) +================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FCurve(bpy_struct) + + F-Curve defining values of a period of time + + .. attribute:: array_index + + Index to the specific property affected by F-Curve if applicable (in [0, inf], default 0) + + :type: int + + .. attribute:: auto_smoothing + + Algorithm used to compute automatic handles (default ``'NONE'``) + + :type: Literal[:ref:`rna_enum_fcurve_auto_smoothing_items`] + + .. attribute:: color + + Color of the F-Curve in the Graph Editor (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: color_mode + + Method used to determine color of F-Curve in Graph Editor (default ``'AUTO_RAINBOW'``) + + - ``AUTO_RAINBOW`` + Auto Rainbow -- Cycle through the rainbow, trying to give each curve a unique color. + - ``AUTO_RGB`` + Auto XYZ to RGB -- Use axis colors for transform and color properties, and auto-rainbow for the rest. + - ``AUTO_YRGB`` + Auto WXYZ to YRGB -- Use WXYZ axis colors for quaternion/axis-angle rotations, XYZ axis colors for other transform and color properties, and auto-rainbow for the rest. + - ``CUSTOM`` + User Defined -- Use custom hand-picked color for F-Curve. + + :type: Literal['AUTO_RAINBOW', 'AUTO_RGB', 'AUTO_YRGB', 'CUSTOM'] + + .. attribute:: data_path + + RNA Path to property affected by F-Curve (default "", never None) + + :type: str + + .. data:: driver + + Channel Driver (only set for Driver F-Curves) (readonly) + + :type: :class:`Driver` | None + + .. attribute:: extrapolation + + Method used for evaluating value of F-Curve outside first and last keyframes (default ``'CONSTANT'``) + + - ``CONSTANT`` + Constant -- Hold values of endpoint keyframes. + - ``LINEAR`` + Linear -- Use slope of curve leading in/out of endpoint keyframes. + + :type: Literal['CONSTANT', 'LINEAR'] + + .. attribute:: group + + Action Group that this F-Curve belongs to + + :type: :class:`ActionGroup` | None + + .. attribute:: hide + + F-Curve and its keyframes are hidden in the Graph Editor graphs (default True) + + :type: bool + + .. data:: is_empty + + True if the curve contributes no animation due to lack of keyframes or useful modifiers, and should be deleted (default False, readonly) + + :type: bool + + .. attribute:: is_valid + + False when F-Curve could not be evaluated in past, so should be skipped when evaluating (default True) + + :type: bool + + .. data:: keyframe_points + + User-editable keyframes (default None, readonly) + + :type: :class:`FCurveKeyframePoints`\ [:class:`Keyframe`] + + .. attribute:: lock + + F-Curve's settings cannot be edited (default False) + + :type: bool + + .. data:: modifiers + + Modifiers affecting the shape of the F-Curve (default None, readonly) + + :type: :class:`FCurveModifiers`\ [:class:`FModifier`] + + .. attribute:: mute + + Disable F-Curve evaluation (default False) + + :type: bool + + .. data:: sampled_points + + Sampled animation data (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`FCurveSample`] + + .. attribute:: select + + F-Curve is selected for editing (default False) + + :type: bool + + .. method:: evaluate(frame) + + Evaluate F-Curve + + :param frame: Frame, Evaluate F-Curve at given frame (in [-inf, inf]) + :type frame: float + :return: Value, Value of F-Curve specific frame (in [-inf, inf]) + :rtype: float + + .. method:: update() + + Ensure keyframes are sorted in chronological order and handles are set correctly + + + .. method:: range() + + Get the time extents for F-Curve + + :return: Range, Min/Max values (array of 2 items, in [-inf, inf]) + :rtype: :class:`mathutils.Vector` + + .. method:: update_autoflags(data) + + Update FCurve flags set automatically from affected property (currently, integer/discrete flags set when the property is not a float) + + :param data: Data, Data containing the property controlled by given FCurve (never None) + :type data: :class:`AnyType` | None + + .. method:: convert_to_samples(start, end) + + Convert current FCurve from keyframes to sample points, if necessary + + :param start: Start Frame, (in [-1048574, 1048574]) + :type start: int + :param end: End Frame, (in [-1048574, 1048574]) + :type end: int + + .. method:: convert_to_keyframes(start, end) + + Convert current FCurve from sample points to keyframes (linear interpolation), if necessary + + :param start: Start Frame, (in [-1048574, 1048574]) + :type start: int + :param end: End Frame, (in [-1048574, 1048574]) + :type end: int + + .. method:: bake(start, end, *, step=1.0, remove='IN_RANGE') + + Place keys at even intervals on the existing curve. + + :param start: Start Frame, Frame at which to start baking (in [-1048574, 1048574]) + :type start: int + :param end: End Frame, Frame at which to end baking (inclusive) (in [-1048574, 1048574]) + :type end: int + :param step: Step, At which interval to add keys (in [0.01, inf], optional) + :type step: float + :param remove: Remove Options, Choose which keys should be automatically removed by the bake (optional) + + - ``NONE`` + None -- Keep all keys. + - ``IN_RANGE`` + In Range -- Remove all keys within the defined range. + - ``OUT_RANGE`` + Outside Range -- Remove all keys outside the defined range. + - ``ALL`` + All -- Remove all existing keys. + :type remove: Literal['NONE', 'IN_RANGE', 'OUT_RANGE', 'ALL'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_editable_fcurve` + - :mod:`bpy.context.editable_fcurves` + - :mod:`bpy.context.selected_editable_fcurves` + - :mod:`bpy.context.selected_visible_fcurves` + - :mod:`bpy.context.visible_fcurves` + - :class:`Action.fcurve_ensure_for_datablock` + - :class:`ActionChannelbag.fcurves` + - :class:`ActionChannelbagFCurves.ensure` + - :class:`ActionChannelbagFCurves.find` + - :class:`ActionChannelbagFCurves.new` + - :class:`ActionChannelbagFCurves.new_from_fcurve` + - :class:`ActionChannelbagFCurves.new_from_fcurve` + - :class:`ActionChannelbagFCurves.remove` + - :class:`ActionGroup.channels` + - :class:`AnimData.drivers` + - :class:`AnimDataDrivers.find` + - :class:`AnimDataDrivers.from_existing` + - :class:`AnimDataDrivers.from_existing` + - :class:`AnimDataDrivers.new` + - :class:`AnimDataDrivers.remove` + - :class:`NlaStrip.fcurves` + - :class:`NlaStripFCurves.find` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurveKeyframePoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurveKeyframePoints.rst new file mode 100644 index 0000000..3585ef5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurveKeyframePoints.rst @@ -0,0 +1,136 @@ +FCurveKeyframePoints(bpy_prop_collection) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: FCurveKeyframePoints(bpy_prop_collection) + + Collection of keyframe points + + .. method:: insert(frame, value, *, options=set(), keyframe_type='KEYFRAME') + + Add a keyframe point to a F-Curve + + :param frame: X Value of this keyframe point (in [-inf, inf]) + :type frame: float + :param value: Y Value of this keyframe point (in [-inf, inf]) + :type value: float + :param options: Keyframe options (optional) + + - ``REPLACE`` + Replace -- Don't add any new keyframes, but just replace existing ones. + - ``NEEDED`` + Needed -- Only adds keyframes that are needed. + - ``FAST`` + Fast -- Fast keyframe insertion to avoid recalculating the curve each time. + :type options: set[Literal['REPLACE', 'NEEDED', 'FAST']] + :param keyframe_type: Type of keyframe to insert (optional) + :type keyframe_type: Literal[:ref:`rna_enum_beztriple_keyframe_type_items`] + :return: Newly created keyframe + :rtype: :class:`Keyframe` + + .. method:: add(count) + + Add a keyframe point to a F-Curve + + :param count: Number, Number of points to add to the spline (in [0, inf]) + :type count: int + + .. method:: remove(keyframe, *, fast=False) + + Remove keyframe from an F-Curve + + :param keyframe: Keyframe to remove (never None) + :type keyframe: :class:`Keyframe` | None + :param fast: Fast, Fast keyframe removal to avoid recalculating the curve each time (optional) + :type fast: bool + + .. method:: clear() + + Remove all keyframes from an F-Curve + + + .. method:: sort() + + Ensure all keyframe points are chronologically sorted + + + .. method:: deduplicate() + + Ensure there are no duplicate keys. Assumes that the points have already been sorted + + + .. method:: handles_recalc() + + Update handles after modifications to the keyframe points, to update things like auto-clamping + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FCurve.keyframe_points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurveModifiers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurveModifiers.rst new file mode 100644 index 0000000..6fea8ff --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurveModifiers.rst @@ -0,0 +1,100 @@ +FCurveModifiers(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: FCurveModifiers(bpy_prop_collection) + + Collection of F-Curve Modifiers + + .. attribute:: active + + Active F-Curve Modifier + + :type: :class:`FModifier` | None + + .. method:: new(type) + + Add a constraint to this object + + :param type: Constraint type to add + :type type: Literal[:ref:`rna_enum_fmodifier_type_items`] + :return: New fmodifier + :rtype: :class:`FModifier` + + .. method:: remove(modifier) + + Remove a modifier from this F-Curve + + :param modifier: Removed modifier (never None) + :type modifier: :class:`FModifier` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FCurve.modifiers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurveSample.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurveSample.rst new file mode 100644 index 0000000..87c3eec --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FCurveSample.rst @@ -0,0 +1,90 @@ +FCurveSample(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FCurveSample(bpy_struct) + + Sample point for F-Curve + + .. attribute:: co + + Point coordinates (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: select + + Selection status (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FCurve.sampled_points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FFmpegSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FFmpegSettings.rst new file mode 100644 index 0000000..23a7169 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FFmpegSettings.rst @@ -0,0 +1,101 @@ +FFmpegSettings(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FFmpegSettings(bpy_struct) + + FFmpeg related settings for the scene + + .. attribute:: audio_channels + + Audio channel count (default ``'STEREO'``) + + - ``MONO`` + Mono -- Set audio channels to mono. + - ``STEREO`` + Stereo -- Set audio channels to stereo. + - ``SURROUND4`` + 4 Channels -- Set audio channels to 4 channels. + - ``SURROUND51`` + 5.1 Surround -- Set audio channels to 5.1 surround sound. + - ``SURROUND71`` + 7.1 Surround -- Set audio channels to 7.1 surround sound. + + :type: Literal['MONO', 'STEREO', 'SURROUND4', 'SURROUND51', 'SURROUND71'] + + .. attribute:: audio_mixrate + + Audio sample rate (samples/s) (in [8000, 192000], default 48000) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`RenderSettings.ffmpeg` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FILEBROWSER_UL_dir.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FILEBROWSER_UL_dir.rst new file mode 100644 index 0000000..ef2aef7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FILEBROWSER_UL_dir.rst @@ -0,0 +1,92 @@ +FILEBROWSER_UL_dir(UIList) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: FILEBROWSER_UL_dir(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifier.rst new file mode 100644 index 0000000..c608e48 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifier.rst @@ -0,0 +1,163 @@ +FModifier(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`FModifierCycles`, :class:`FModifierEnvelope`, :class:`FModifierFunctionGenerator`, :class:`FModifierGenerator`, :class:`FModifierLimits`, :class:`FModifierNoise`, :class:`FModifierSmooth`, :class:`FModifierStepped` + +.. class:: FModifier(bpy_struct) + + Modifier for values of F-Curve + + .. attribute:: active + + F-Curve modifier will show settings in the editor (default False) + + :type: bool + + .. attribute:: blend_in + + Number of frames from start frame for influence to take effect (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: blend_out + + Number of frames from end frame for influence to fade out (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: frame_end + + Frame that modifier's influence ends (if Restrict Frame Range is in use) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: frame_start + + Frame that modifier's influence starts (if Restrict Frame Range is in use) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: influence + + Amount of influence F-Curve Modifier will have when not fading in/out (in [0, 1], default 1.0) + + :type: float + + .. data:: is_valid + + F-Curve Modifier has invalid settings and will not be evaluated (default True, readonly) + + :type: bool + + .. attribute:: mute + + Enable F-Curve modifier evaluation (default False) + + :type: bool + + .. attribute:: name + + F-Curve Modifier name (default "", never None) + + :type: str + + .. attribute:: show_expanded + + F-Curve Modifier's panel is expanded in UI (default False) + + :type: bool + + .. data:: type + + F-Curve Modifier Type (default ``'NULL'``, readonly) + + :type: Literal[:ref:`rna_enum_fmodifier_type_items`] + + .. attribute:: use_influence + + F-Curve Modifier's effects will be tempered by a default factor (default False) + + :type: bool + + .. attribute:: use_restricted_range + + F-Curve Modifier is only applied for the specified frame range to help mask off effects in order to chain them (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FCurve.modifiers` + - :class:`FCurveModifiers.active` + - :class:`FCurveModifiers.new` + - :class:`FCurveModifiers.remove` + - :class:`NlaStrip.modifiers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierCycles.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierCycles.rst new file mode 100644 index 0000000..52ecea0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierCycles.rst @@ -0,0 +1,127 @@ +FModifierCycles(FModifier) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FModifier` + +.. class:: FModifierCycles(FModifier) + + Repeat the values of the modified F-Curve + + .. attribute:: cycles_after + + Maximum number of cycles to allow after last keyframe (0 = infinite) (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: cycles_before + + Maximum number of cycles to allow before first keyframe (0 = infinite) (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: mode_after + + Cycling mode to use after last keyframe (default ``'NONE'``) + + - ``NONE`` + No Cycles -- Don't do anything. + - ``REPEAT`` + Repeat Motion -- Repeat keyframe range as-is. + - ``REPEAT_OFFSET`` + Repeat with Offset -- Repeat keyframe range, but with offset based on gradient between start and end values. + - ``MIRROR`` + Repeat Mirrored -- Alternate between forward and reverse playback of keyframe range. + + :type: Literal['NONE', 'REPEAT', 'REPEAT_OFFSET', 'MIRROR'] + + .. attribute:: mode_before + + Cycling mode to use before first keyframe (default ``'NONE'``) + + - ``NONE`` + No Cycles -- Don't do anything. + - ``REPEAT`` + Repeat Motion -- Repeat keyframe range as-is. + - ``REPEAT_OFFSET`` + Repeat with Offset -- Repeat keyframe range, but with offset based on gradient between start and end values. + - ``MIRROR`` + Repeat Mirrored -- Alternate between forward and reverse playback of keyframe range. + + :type: Literal['NONE', 'REPEAT', 'REPEAT_OFFSET', 'MIRROR'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FModifier.name` + - :class:`FModifier.type` + - :class:`FModifier.show_expanded` + - :class:`FModifier.mute` + - :class:`FModifier.is_valid` + - :class:`FModifier.active` + - :class:`FModifier.use_restricted_range` + - :class:`FModifier.frame_start` + - :class:`FModifier.frame_end` + - :class:`FModifier.blend_in` + - :class:`FModifier.blend_out` + - :class:`FModifier.use_influence` + - :class:`FModifier.influence` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FModifier.bl_rna_get_subclass` + - :class:`FModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierEnvelope.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierEnvelope.rst new file mode 100644 index 0000000..8c51637 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierEnvelope.rst @@ -0,0 +1,109 @@ +FModifierEnvelope(FModifier) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FModifier` + +.. class:: FModifierEnvelope(FModifier) + + Scale the values of the modified F-Curve + + .. data:: control_points + + Control points defining the shape of the envelope (default None, readonly) + + :type: :class:`FModifierEnvelopeControlPoints`\ [:class:`FModifierEnvelopeControlPoint`] + + .. attribute:: default_max + + Upper distance from Reference Value for 1:1 default influence (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: default_min + + Lower distance from Reference Value for 1:1 default influence (in [-inf, inf], default -1.0) + + :type: float + + .. attribute:: reference_value + + Value that envelope's influence is centered around / based on (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FModifier.name` + - :class:`FModifier.type` + - :class:`FModifier.show_expanded` + - :class:`FModifier.mute` + - :class:`FModifier.is_valid` + - :class:`FModifier.active` + - :class:`FModifier.use_restricted_range` + - :class:`FModifier.frame_start` + - :class:`FModifier.frame_end` + - :class:`FModifier.blend_in` + - :class:`FModifier.blend_out` + - :class:`FModifier.use_influence` + - :class:`FModifier.influence` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FModifier.bl_rna_get_subclass` + - :class:`FModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierEnvelopeControlPoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierEnvelopeControlPoint.rst new file mode 100644 index 0000000..d66d355 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierEnvelopeControlPoint.rst @@ -0,0 +1,98 @@ +FModifierEnvelopeControlPoint(bpy_struct) +========================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FModifierEnvelopeControlPoint(bpy_struct) + + Control point for envelope F-Modifier + + .. attribute:: frame + + Frame this control-point occurs on (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max + + Upper bound of envelope at this control-point (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min + + Lower bound of envelope at this control-point (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FModifierEnvelope.control_points` + - :class:`FModifierEnvelopeControlPoints.add` + - :class:`FModifierEnvelopeControlPoints.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierEnvelopeControlPoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierEnvelopeControlPoints.rst new file mode 100644 index 0000000..782c997 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierEnvelopeControlPoints.rst @@ -0,0 +1,94 @@ +FModifierEnvelopeControlPoints(bpy_prop_collection) +=================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: FModifierEnvelopeControlPoints(bpy_prop_collection) + + Control points defining the shape of the envelope + + .. method:: add(frame) + + Add a control point to a FModifierEnvelope + + :param frame: Frame to add this control-point (in [-inf, inf]) + :type frame: float + :return: Newly created control-point + :rtype: :class:`FModifierEnvelopeControlPoint` + + .. method:: remove(point) + + Remove a control-point from an FModifierEnvelope + + :param point: Control-point to remove (never None) + :type point: :class:`FModifierEnvelopeControlPoint` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FModifierEnvelope.control_points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierFunctionGenerator.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierFunctionGenerator.rst new file mode 100644 index 0000000..5b4fff2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierFunctionGenerator.rst @@ -0,0 +1,134 @@ +FModifierFunctionGenerator(FModifier) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FModifier` + +.. class:: FModifierFunctionGenerator(FModifier) + + Generate values using a built-in function + + .. attribute:: amplitude + + Scale factor determining the maximum/minimum values (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: function_type + + Type of built-in function to use (default ``'SIN'``) + + - ``SIN`` + Sine. + - ``COS`` + Cosine. + - ``TAN`` + Tangent. + - ``SQRT`` + Square Root. + - ``LN`` + Natural Logarithm. + - ``SINC`` + Normalized Sine -- sin(x) / x. + + :type: Literal['SIN', 'COS', 'TAN', 'SQRT', 'LN', 'SINC'] + + .. attribute:: phase_multiplier + + Scale factor determining the 'speed' of the function (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: phase_offset + + Constant factor to offset time by for function (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: use_additive + + Values generated by this modifier are applied on top of the existing values instead of overwriting them (default False) + + :type: bool + + .. attribute:: value_offset + + Constant factor to offset values by (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FModifier.name` + - :class:`FModifier.type` + - :class:`FModifier.show_expanded` + - :class:`FModifier.mute` + - :class:`FModifier.is_valid` + - :class:`FModifier.active` + - :class:`FModifier.use_restricted_range` + - :class:`FModifier.frame_start` + - :class:`FModifier.frame_end` + - :class:`FModifier.blend_in` + - :class:`FModifier.blend_out` + - :class:`FModifier.use_influence` + - :class:`FModifier.influence` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FModifier.bl_rna_get_subclass` + - :class:`FModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierGenerator.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierGenerator.rst new file mode 100644 index 0000000..6aab06f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierGenerator.rst @@ -0,0 +1,109 @@ +FModifierGenerator(FModifier) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FModifier` + +.. class:: FModifierGenerator(FModifier) + + Deterministically generate values for the modified F-Curve + + .. attribute:: coefficients + + Coefficients for 'x' (starting from lowest power of x^0) (array of 32 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: mode + + Type of generator to use (default ``'POLYNOMIAL'``) + + :type: Literal['POLYNOMIAL', 'POLYNOMIAL_FACTORISED'] + + .. attribute:: poly_order + + The highest power of 'x' for this polynomial (number of coefficients - 1) (in [1, 100], default 0) + + :type: int + + .. attribute:: use_additive + + Values generated by this modifier are applied on top of the existing values instead of overwriting them (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FModifier.name` + - :class:`FModifier.type` + - :class:`FModifier.show_expanded` + - :class:`FModifier.mute` + - :class:`FModifier.is_valid` + - :class:`FModifier.active` + - :class:`FModifier.use_restricted_range` + - :class:`FModifier.frame_start` + - :class:`FModifier.frame_end` + - :class:`FModifier.blend_in` + - :class:`FModifier.blend_out` + - :class:`FModifier.use_influence` + - :class:`FModifier.influence` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FModifier.bl_rna_get_subclass` + - :class:`FModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierLimits.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierLimits.rst new file mode 100644 index 0000000..c501b1b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierLimits.rst @@ -0,0 +1,133 @@ +FModifierLimits(FModifier) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FModifier` + +.. class:: FModifierLimits(FModifier) + + Limit the time/value ranges of the modified F-Curve + + .. attribute:: max_x + + Highest X value to allow (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_y + + Highest Y value to allow (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_x + + Lowest X value to allow (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_y + + Lowest Y value to allow (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: use_max_x + + Use the maximum X value (default False) + + :type: bool + + .. attribute:: use_max_y + + Use the maximum Y value (default False) + + :type: bool + + .. attribute:: use_min_x + + Use the minimum X value (default False) + + :type: bool + + .. attribute:: use_min_y + + Use the minimum Y value (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FModifier.name` + - :class:`FModifier.type` + - :class:`FModifier.show_expanded` + - :class:`FModifier.mute` + - :class:`FModifier.is_valid` + - :class:`FModifier.active` + - :class:`FModifier.use_restricted_range` + - :class:`FModifier.frame_start` + - :class:`FModifier.frame_end` + - :class:`FModifier.blend_in` + - :class:`FModifier.blend_out` + - :class:`FModifier.use_influence` + - :class:`FModifier.influence` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FModifier.bl_rna_get_subclass` + - :class:`FModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierNoise.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierNoise.rst new file mode 100644 index 0000000..8ab3301 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierNoise.rst @@ -0,0 +1,139 @@ +FModifierNoise(FModifier) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FModifier` + +.. class:: FModifierNoise(FModifier) + + Give randomness to the modified F-Curve + + .. attribute:: blend_type + + Method of modifying the existing F-Curve (default ``'REPLACE'``) + + :type: Literal['REPLACE', 'ADD', 'SUBTRACT', 'MULTIPLY'] + + .. attribute:: depth + + Amount of fine level detail present in the noise (in [0, 32767], default 0) + + :type: int + + .. attribute:: lacunarity + + Gap between successive frequencies. Depth needs to be greater than 0 for this to have an effect (in [-inf, inf], default 2.0) + + :type: float + + .. attribute:: offset + + Time offset for the noise effect (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: phase + + A random seed for the noise effect (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: roughness + + Amount of high frequency detail. Depth needs to be greater than 0 for this to have an effect (in [-inf, inf], default 0.5) + + :type: float + + .. attribute:: scale + + Scaling (in time) of the noise (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: strength + + Amplitude of the noise - the amount that it modifies the underlying curve (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: use_legacy_noise + + Use the legacy way of generating noise. Has the issue that it can produce values outside of -1/1 (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FModifier.name` + - :class:`FModifier.type` + - :class:`FModifier.show_expanded` + - :class:`FModifier.mute` + - :class:`FModifier.is_valid` + - :class:`FModifier.active` + - :class:`FModifier.use_restricted_range` + - :class:`FModifier.frame_start` + - :class:`FModifier.frame_end` + - :class:`FModifier.blend_in` + - :class:`FModifier.blend_out` + - :class:`FModifier.use_influence` + - :class:`FModifier.influence` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FModifier.bl_rna_get_subclass` + - :class:`FModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierSmooth.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierSmooth.rst new file mode 100644 index 0000000..c85bd94 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierSmooth.rst @@ -0,0 +1,97 @@ +FModifierSmooth(FModifier) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FModifier` + +.. class:: FModifierSmooth(FModifier) + + Smooth curve using Gaussian smoothing + + .. attribute:: filter_width + + The number of frames to average around each keyframe. Higher values allow more smoothing, but will decrease performance. (in [1, 32], default 0) + + :type: int + + .. attribute:: sigma + + The shape of the Gaussian distribution in frames. Lower values will increase sharpness across the Filter Width. (in [0.1, 100], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FModifier.name` + - :class:`FModifier.type` + - :class:`FModifier.show_expanded` + - :class:`FModifier.mute` + - :class:`FModifier.is_valid` + - :class:`FModifier.active` + - :class:`FModifier.use_restricted_range` + - :class:`FModifier.frame_start` + - :class:`FModifier.frame_end` + - :class:`FModifier.blend_in` + - :class:`FModifier.blend_out` + - :class:`FModifier.use_influence` + - :class:`FModifier.influence` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FModifier.bl_rna_get_subclass` + - :class:`FModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierStepped.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierStepped.rst new file mode 100644 index 0000000..36f4145 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FModifierStepped.rst @@ -0,0 +1,121 @@ +FModifierStepped(FModifier) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FModifier` + +.. class:: FModifierStepped(FModifier) + + Hold each interpolated value from the F-Curve for several frames without changing the timing + + .. attribute:: frame_end + + Frame that modifier's influence ends (if applicable) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: frame_offset + + Reference number of frames before frames get held (use to get hold for '1-3' vs '5-7' holding patterns) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: frame_start + + Frame that modifier's influence starts (if applicable) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: frame_step + + Number of frames to hold each value (in [-inf, inf], default 2.0) + + :type: float + + .. attribute:: use_frame_end + + Restrict modifier to only act before its 'end' frame (default False) + + :type: bool + + .. attribute:: use_frame_start + + Restrict modifier to only act after its 'start' frame (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FModifier.name` + - :class:`FModifier.type` + - :class:`FModifier.show_expanded` + - :class:`FModifier.mute` + - :class:`FModifier.is_valid` + - :class:`FModifier.active` + - :class:`FModifier.use_restricted_range` + - :class:`FModifier.frame_start` + - :class:`FModifier.frame_end` + - :class:`FModifier.blend_in` + - :class:`FModifier.blend_out` + - :class:`FModifier.use_influence` + - :class:`FModifier.influence` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FModifier.bl_rna_get_subclass` + - :class:`FModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FieldSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FieldSettings.rst new file mode 100644 index 0000000..4921863 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FieldSettings.rst @@ -0,0 +1,420 @@ +FieldSettings(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FieldSettings(bpy_struct) + + Field settings for an object in physics simulation + + .. attribute:: apply_to_location + + Affect particle's location (default False) + + :type: bool + + .. attribute:: apply_to_rotation + + Affect particle's dynamic rotation (default False) + + :type: bool + + .. attribute:: distance_max + + Maximum distance for the field to work (in [0, inf], default 0.0) + + :type: float + + .. attribute:: distance_min + + Minimum distance for the field's falloff (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: falloff_power + + How quickly strength falls off with distance from the force field (in [0, 10], default 0.0) + + :type: float + + .. attribute:: falloff_type + + (default ``'SPHERE'``) + + :type: Literal['CONE', 'SPHERE', 'TUBE'] + + .. attribute:: flow + + Convert effector force into air flow velocity (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: guide_clump_amount + + Amount of clumping (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: guide_clump_shape + + Shape of clumping (in [-0.999, 0.999], default 0.0) + + :type: float + + .. attribute:: guide_free + + Guide-free time from particle life's end (in [0, 0.99], default 0.0) + + :type: float + + .. attribute:: guide_kink_amplitude + + The amplitude of the offset (in [0, 10], default 0.0) + + :type: float + + .. attribute:: guide_kink_axis + + Which axis to use for offset (default ``'X'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: guide_kink_frequency + + The frequency of the offset (1/total length) (in [0, 10], default 0.0) + + :type: float + + .. attribute:: guide_kink_shape + + Adjust the offset to the beginning/end (in [-0.999, 0.999], default 0.0) + + :type: float + + .. attribute:: guide_kink_type + + Type of periodic offset on the curve (default ``'NONE'``) + + :type: Literal['NONE', 'BRAID', 'CURL', 'RADIAL', 'ROLL', 'ROTATION', 'WAVE'] + + .. attribute:: guide_minimum + + The distance from which particles are affected fully (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: harmonic_damping + + Damping of the harmonic force (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: inflow + + Inwards component of the vortex force (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: linear_drag + + Drag component proportional to velocity (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: noise + + Amount of noise for the force strength (in [0, 10], default 0.0) + + :type: float + + .. attribute:: quadratic_drag + + Drag component proportional to the square of velocity (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: radial_falloff + + Radial falloff power (real gravitational falloff = 2) (in [0, 10], default 0.0) + + :type: float + + .. attribute:: radial_max + + Maximum radial distance for the field to work (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: radial_min + + Minimum radial distance for the field's falloff (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: rest_length + + Rest length of the harmonic force (in [0, inf], default 0.0) + + :type: float + + .. attribute:: seed + + Seed of the noise (in [1, 128], default 0) + + :type: int + + .. attribute:: shape + + Which direction is used to calculate the effector force (default ``'POINT'``) + + - ``POINT`` + Point -- Field originates from the object center. + - ``LINE`` + Line -- Field originates from the local Z axis of the object. + - ``PLANE`` + Plane -- Field originates from the local XY plane of the object. + - ``SURFACE`` + Surface -- Field originates from the surface of the object. + - ``POINTS`` + Every Point -- Field originates from all of the vertices of the object. + + :type: Literal['POINT', 'LINE', 'PLANE', 'SURFACE', 'POINTS'] + + .. attribute:: size + + Size of the turbulence (in [0, inf], default 0.0) + + :type: float + + .. attribute:: source_object + + Select domain object of the smoke simulation + + :type: :class:`Object` | None + + .. attribute:: strength + + Strength of force field (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: texture + + Texture to use as force + + :type: :class:`Texture` | None + + .. attribute:: texture_mode + + How the texture effect is calculated (RGB and Curl need a RGB texture, else Gradient will be used instead) (default ``'RGB'``) + + :type: Literal['CURL', 'GRADIENT', 'RGB'] + + .. attribute:: texture_nabla + + Defines size of derivative offset used for calculating gradient and curl (in [0.0001, 1], default 0.0) + + :type: float + + .. attribute:: type + + Type of field (default ``'NONE'``) + + - ``NONE`` + None. + - ``BOID`` + Boid -- Create a force that acts as a boid's predators or target. + - ``CHARGE`` + Charge -- Spherical forcefield based on the charge of particles, only influences other charge force fields. + - ``GUIDE`` + Curve Guide -- Create a force along a curve object. + - ``DRAG`` + Drag -- Create a force that dampens motion. + - ``FLUID_FLOW`` + Fluid Flow -- Create a force based on fluid simulation velocities. + - ``FORCE`` + Force -- Radial field toward the center of object. + - ``HARMONIC`` + Harmonic -- The source of this force field is the zero point of a harmonic oscillator. + - ``LENNARDJ`` + Lennard-Jones -- Forcefield based on the Lennard-Jones potential. + - ``MAGNET`` + Magnetic -- Forcefield depends on the speed of the particles. + - ``TEXTURE`` + Texture -- Force field based on a texture. + - ``TURBULENCE`` + Turbulence -- Create turbulence with a noise field. + - ``VORTEX`` + Vortex -- Spiraling force that twists the force object's local Z axis. + - ``WIND`` + Wind -- Constant force along the force object's local Z axis. + + :type: Literal['NONE', 'BOID', 'CHARGE', 'GUIDE', 'DRAG', 'FLUID_FLOW', 'FORCE', 'HARMONIC', 'LENNARDJ', 'MAGNET', 'TEXTURE', 'TURBULENCE', 'VORTEX', 'WIND'] + + .. attribute:: use_2d_force + + Apply force only in 2D (default False) + + :type: bool + + .. attribute:: use_absorption + + Force gets absorbed by collision objects (default False) + + :type: bool + + .. attribute:: use_global_coords + + Use effector/global coordinates for turbulence (default False) + + :type: bool + + .. attribute:: use_gravity_falloff + + Multiply force by 1/distance² (default False) + + :type: bool + + .. attribute:: use_guide_path_add + + Based on distance/falloff it adds a portion of the entire path (default False) + + :type: bool + + .. attribute:: use_guide_path_weight + + Use curve weights to influence the particle influence along the curve (default False) + + :type: bool + + .. attribute:: use_max_distance + + Use a maximum distance for the field to work (default False) + + :type: bool + + .. attribute:: use_min_distance + + Use a minimum distance for the field's falloff (default False) + + :type: bool + + .. attribute:: use_multiple_springs + + Every point is affected by multiple springs (default False) + + :type: bool + + .. attribute:: use_object_coords + + Use object/global coordinates for texture (default False) + + :type: bool + + .. attribute:: use_radial_max + + Use a maximum radial distance for the field to work (default False) + + :type: bool + + .. attribute:: use_radial_min + + Use a minimum radial distance for the field's falloff (default False) + + :type: bool + + .. attribute:: use_root_coords + + Texture coordinates from root particle locations (default False) + + :type: bool + + .. attribute:: use_smoke_density + + Adjust force strength based on smoke density (default False) + + :type: bool + + .. attribute:: wind_factor + + How much the force is reduced when acting parallel to a surface, e.g. cloth (in [0, 1], default 0.0) + + :type: float + + .. attribute:: z_direction + + Effect in full or only positive/negative Z direction (default ``'BOTH'``) + + :type: Literal['POSITIVE', 'NEGATIVE', 'BOTH'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.field` + - :class:`ParticleSettings.force_field_1` + - :class:`ParticleSettings.force_field_2` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileAssetSelectIDFilter.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileAssetSelectIDFilter.rst new file mode 100644 index 0000000..7085bfd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileAssetSelectIDFilter.rst @@ -0,0 +1,288 @@ +FileAssetSelectIDFilter(bpy_struct) +=================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FileAssetSelectIDFilter(bpy_struct) + + Which asset types to show/hide, when browsing an asset library + + .. attribute:: experimental_filter_annotations + + Show Annotation data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_armature + + Show Armature data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_cachefile + + Show Cache File data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_camera + + Show Camera data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_curve + + Show Curve data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_curves + + Show/hide Curves data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_font + + Show Font data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_grease_pencil + + Show Grease Pencil data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_image + + Show Image data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_lattice + + Show Lattice data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_light + + Show Light data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_light_probe + + Show Light Probe data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_linestyle + + Show Freestyle's Line Style data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_mask + + Show Mask data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_mesh + + Show Mesh data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_metaball + + Show Metaball data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_movie_clip + + Show Movie Clip data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_paint_curve + + Show Paint Curve data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_palette + + Show Palette data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_particle_settings + + Show Particle Settings data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_pointcloud + + Show/hide Point Cloud data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_sound + + Show Sound data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_speaker + + Show Speaker data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_text + + Show Text data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_texture + + Show Texture data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_volume + + Show/hide Volume data-blocks (default False) + + :type: bool + + .. attribute:: experimental_filter_work_space + + Show workspace data-blocks (default False) + + :type: bool + + .. attribute:: filter_action + + Show Action data-blocks (default False) + + :type: bool + + .. attribute:: filter_brush + + Show Brushes data-blocks (default False) + + :type: bool + + .. attribute:: filter_group + + Show Collection data-blocks (default False) + + :type: bool + + .. attribute:: filter_material + + Show Material data-blocks (default False) + + :type: bool + + .. attribute:: filter_node_tree + + Show Node Tree data-blocks (default False) + + :type: bool + + .. attribute:: filter_object + + Show Object data-blocks (default False) + + :type: bool + + .. attribute:: filter_scene + + Show Scene data-blocks (default False) + + :type: bool + + .. attribute:: filter_world + + Show World data-blocks (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FileAssetSelectParams.filter_asset_id` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileAssetSelectParams.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileAssetSelectParams.rst new file mode 100644 index 0000000..4b7a3ba --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileAssetSelectParams.rst @@ -0,0 +1,159 @@ +FileAssetSelectParams(FileSelectParams) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FileSelectParams` + +.. class:: FileAssetSelectParams(FileSelectParams) + + Settings for the file selection in Asset Browser mode + + .. attribute:: asset_library_reference + + (default ``'ALL'``) + + - ``ALL`` + All Libraries -- Show assets from all of the listed asset libraries. + - ``LOCAL`` + Current File -- Show the assets currently available in this Blender session. + - ``ESSENTIALS`` + Essentials -- Show the basic building blocks and utilities coming with Blender. + - ``CUSTOM`` + Custom -- Show assets from the asset libraries configured in the Preferences. + + :type: Literal['ALL', 'LOCAL', 'ESSENTIALS', 'CUSTOM'] + + .. attribute:: catalog_id + + The UUID of the catalog shown in the browser (default "", never None) + + :type: str + + .. data:: filter_asset_id + + Which asset types to show/hide, when browsing an asset library (readonly, never None) + + :type: :class:`FileAssetSelectIDFilter` + + .. attribute:: import_method + + Determine how the asset will be imported (default ``'LINK'``) + + - ``FOLLOW_PREFS`` + Follow Preferences -- Use the import method set in the Preferences for this asset library, don't override it for this Asset Browser. + - ``LINK`` + Link -- Import the assets as linked data-block. + - ``APPEND`` + Append -- Import the asset as copied data-block, with no link to the original asset data-block. + - ``APPEND_REUSE`` + Append (Reuse Data) -- Import the asset as copied data-block while avoiding multiple copies of nested, typically heavy data. For example the textures of a material asset, or the mesh of an object asset, don't have to be copied every time this asset is imported. The instances of the asset share the data instead. + - ``PACK`` + Pack -- Import the asset as linked data-block, and pack it in the current file (ensures that it remains unchanged in case the library data is modified, is not available anymore, etc.). + + :type: Literal['FOLLOW_PREFS', 'LINK', 'APPEND', 'APPEND_REUSE', 'PACK'] + + .. attribute:: instance_collections_on_append + + Create instances for collections when appending, rather than adding them directly to the scene (default False) + + :type: bool + + .. attribute:: instance_collections_on_link + + Create instances for collections when linking, rather than adding them directly to the scene (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FileSelectParams.title` + - :class:`FileSelectParams.directory` + - :class:`FileSelectParams.filename` + - :class:`FileSelectParams.use_library_browsing` + - :class:`FileSelectParams.display_type` + - :class:`FileSelectParams.recursion_level` + - :class:`FileSelectParams.show_details_size` + - :class:`FileSelectParams.show_details_datetime` + - :class:`FileSelectParams.use_filter` + - :class:`FileSelectParams.show_hidden` + - :class:`FileSelectParams.sort_method` + - :class:`FileSelectParams.use_sort_invert` + - :class:`FileSelectParams.use_filter_image` + - :class:`FileSelectParams.use_filter_blender` + - :class:`FileSelectParams.use_filter_backup` + - :class:`FileSelectParams.use_filter_movie` + - :class:`FileSelectParams.use_filter_script` + - :class:`FileSelectParams.use_filter_font` + - :class:`FileSelectParams.use_filter_sound` + - :class:`FileSelectParams.use_filter_text` + - :class:`FileSelectParams.use_filter_volume` + - :class:`FileSelectParams.use_filter_folder` + - :class:`FileSelectParams.use_filter_blendid` + - :class:`FileSelectParams.use_filter_asset_only` + - :class:`FileSelectParams.filter_id` + - :class:`FileSelectParams.filter_glob` + - :class:`FileSelectParams.filter_search` + - :class:`FileSelectParams.display_size` + - :class:`FileSelectParams.display_size_discrete` + - :class:`FileSelectParams.list_display_size` + - :class:`FileSelectParams.list_column_size` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FileSelectParams.bl_rna_get_subclass` + - :class:`FileSelectParams.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileBrowserFSMenuEntry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileBrowserFSMenuEntry.rst new file mode 100644 index 0000000..1a8b81a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileBrowserFSMenuEntry.rst @@ -0,0 +1,105 @@ +FileBrowserFSMenuEntry(bpy_struct) +================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FileBrowserFSMenuEntry(bpy_struct) + + File Select Parameters + + .. attribute:: icon + + (in [-inf, inf], default 0) + + :type: int + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: path + + (default "", never None) + + :type: str + + .. data:: use_save + + Whether this path is saved in bookmarks, or generated from OS (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceFileBrowser.bookmarks` + - :class:`SpaceFileBrowser.recent_folders` + - :class:`SpaceFileBrowser.system_bookmarks` + - :class:`SpaceFileBrowser.system_folders` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileHandler.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileHandler.rst new file mode 100644 index 0000000..029ea77 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileHandler.rst @@ -0,0 +1,156 @@ +FileHandler(bpy_struct) +======================= + +.. currentmodule:: bpy.types + + +Basic FileHandler for importing a single file +--------------------------------------------- + +A file handler allows custom drag-and-drop behavior to be associated with a given ``Operator`` +(:class:`FileHandler.bl_import_operator`) and set of file extensions +(:class:`FileHandler.bl_file_extensions`). Control over which area of the UI accepts the +drag-in-drop action is specified using the :class:`FileHandler.poll_drop` method. + +Similar to operators that use a file select window, operators participating in drag-and-drop, and +only accepting a single file, must define the following property: + +.. code-block:: python + + filepath: bpy.props.StringProperty(subtype='FILE_PATH', options={'SKIP_SAVE'}) + +This ``filepath`` property will be set to the full path of the file dropped by the user. + +.. literalinclude:: ./examples/bpy.types.FileHandler.1.py + :lines: 20- + + +FileHandler for Importing multiple files and exposing Operator options +---------------------------------------------------------------------- + +Operators which support being executed with multiple files from drag-and-drop require the +following properties be defined: + +.. code-block:: python + + directory: StringProperty(subtype='DIR_PATH', options={'SKIP_SAVE', 'HIDDEN'}) + files: CollectionProperty(type=OperatorFileListElement, options={'SKIP_SAVE', 'HIDDEN'}) + +These ``directory`` and ``files`` properties will be set with the necessary data from the +drag-and-drop operation. + +Additionally, if the operator provides operator properties that need to be accessible to the user, +the :class:`ImportHelper.invoke_popup` method can be used to show a dialog leveraging the standard +:class:`Operator.draw` method for layout and display. + +.. literalinclude:: ./examples/bpy.types.FileHandler.2.py + :lines: 22- + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`IMAGE_FH_drop_handler`, :class:`IO_FH_gltf2`, :class:`IO_FH_svg_as_curves`, :class:`NODE_FH_image_node`, :class:`SEQUENCER_FH_image_strip`, :class:`SEQUENCER_FH_movie_strip`, :class:`SEQUENCER_FH_sound_strip`, :class:`VIEW3D_FH_camera_background_image`, :class:`VIEW3D_FH_empty_image`, :class:`VIEW3D_FH_vdb_volume` + +.. class:: FileHandler(bpy_struct) + + Extends functionality to operators that manages files, such as adding drag and drop support + + .. attribute:: bl_export_operator + + Operator that can handle export for files with the extensions given in bl_file_extensions (default "", never None) + + :type: str + + .. attribute:: bl_file_extensions + + Formatted string of file extensions supported by the file handler, each extension should start with a "." and be separated by ";". + For Example: ``".blend;.ble"`` + + (default "", never None) + + :type: str + + .. attribute:: bl_idname + + If this is set, the file handler gets a custom ID, otherwise it takes the name of the class used to define the file handler (for example, if the class name is "OBJECT_FH_hello", and bl_idname is not set by the script, then bl_idname = "OBJECT_FH_hello") (default "", never None) + + :type: str + + .. attribute:: bl_import_operator + + Operator that can handle import for files with the extensions given in bl_file_extensions (default "", never None) + + :type: str + + .. attribute:: bl_label + + The file handler label (default "", never None) + + :type: str + + .. classmethod:: poll_drop(context) + + If this method returns True, can be used to handle the drop of a drag-and-drop action + + :type context: :class:`Context` | None + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileSelectEntry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileSelectEntry.rst new file mode 100644 index 0000000..5dc7c54 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileSelectEntry.rst @@ -0,0 +1,94 @@ +FileSelectEntry(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FileSelectEntry(bpy_struct) + + A file viewable in the File Browser + + .. data:: asset_data + + Asset data, valid if the file represents an asset (readonly) + + :type: :class:`AssetMetaData` | None + + .. data:: name + + (default "", readonly, never None) + + :type: str + + .. data:: preview_icon_id + + Unique integer identifying the preview of this file as an icon (zero means invalid) (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: relative_path + + Path relative to the directory currently displayed in the File Browser (includes the file name) (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileSelectIDFilter.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileSelectIDFilter.rst new file mode 100644 index 0000000..f1597ac --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileSelectIDFilter.rst @@ -0,0 +1,336 @@ +FileSelectIDFilter(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FileSelectIDFilter(bpy_struct) + + Which ID types to show/hide, when browsing a library + + .. attribute:: category_animation + + Show animation data (default False) + + :type: bool + + .. attribute:: category_environment + + Show worlds, lights, cameras and speakers (default False) + + :type: bool + + .. attribute:: category_geometry + + Show meshes, curves, lattice, armatures and metaballs data (default False) + + :type: bool + + .. attribute:: category_image + + Show images, movie clips, sounds and masks (default False) + + :type: bool + + .. attribute:: category_misc + + Show other data types (default False) + + :type: bool + + .. attribute:: category_object + + Show objects and collections (default False) + + :type: bool + + .. attribute:: category_scene + + Show scenes (default False) + + :type: bool + + .. attribute:: category_shading + + Show materials, node-trees, textures and Freestyle's line-styles (default False) + + :type: bool + + .. attribute:: filter_action + + Show Action data-blocks (default False) + + :type: bool + + .. attribute:: filter_annotations + + Show Annotation data-blocks (default False) + + :type: bool + + .. attribute:: filter_armature + + Show Armature data-blocks (default False) + + :type: bool + + .. attribute:: filter_brush + + Show Brushes data-blocks (default False) + + :type: bool + + .. attribute:: filter_cachefile + + Show Cache File data-blocks (default False) + + :type: bool + + .. attribute:: filter_camera + + Show Camera data-blocks (default False) + + :type: bool + + .. attribute:: filter_curve + + Show Curve data-blocks (default False) + + :type: bool + + .. attribute:: filter_curves + + Show/hide Curves data-blocks (default False) + + :type: bool + + .. attribute:: filter_font + + Show Font data-blocks (default False) + + :type: bool + + .. attribute:: filter_grease_pencil + + Show Grease Pencil data-blocks (default False) + + :type: bool + + .. attribute:: filter_group + + Show Collection data-blocks (default False) + + :type: bool + + .. attribute:: filter_image + + Show Image data-blocks (default False) + + :type: bool + + .. attribute:: filter_lattice + + Show Lattice data-blocks (default False) + + :type: bool + + .. attribute:: filter_light + + Show Light data-blocks (default False) + + :type: bool + + .. attribute:: filter_light_probe + + Show Light Probe data-blocks (default False) + + :type: bool + + .. attribute:: filter_linestyle + + Show Freestyle's Line Style data-blocks (default False) + + :type: bool + + .. attribute:: filter_mask + + Show Mask data-blocks (default False) + + :type: bool + + .. attribute:: filter_material + + Show Material data-blocks (default False) + + :type: bool + + .. attribute:: filter_mesh + + Show Mesh data-blocks (default False) + + :type: bool + + .. attribute:: filter_metaball + + Show Metaball data-blocks (default False) + + :type: bool + + .. attribute:: filter_movie_clip + + Show Movie Clip data-blocks (default False) + + :type: bool + + .. attribute:: filter_node_tree + + Show Node Tree data-blocks (default False) + + :type: bool + + .. attribute:: filter_object + + Show Object data-blocks (default False) + + :type: bool + + .. attribute:: filter_paint_curve + + Show Paint Curve data-blocks (default False) + + :type: bool + + .. attribute:: filter_palette + + Show Palette data-blocks (default False) + + :type: bool + + .. attribute:: filter_particle_settings + + Show Particle Settings data-blocks (default False) + + :type: bool + + .. attribute:: filter_pointcloud + + Show/hide Point Cloud data-blocks (default False) + + :type: bool + + .. attribute:: filter_scene + + Show Scene data-blocks (default False) + + :type: bool + + .. attribute:: filter_sound + + Show Sound data-blocks (default False) + + :type: bool + + .. attribute:: filter_speaker + + Show Speaker data-blocks (default False) + + :type: bool + + .. attribute:: filter_text + + Show Text data-blocks (default False) + + :type: bool + + .. attribute:: filter_texture + + Show Texture data-blocks (default False) + + :type: bool + + .. attribute:: filter_volume + + Show/hide Volume data-blocks (default False) + + :type: bool + + .. attribute:: filter_work_space + + Show workspace data-blocks (default False) + + :type: bool + + .. attribute:: filter_world + + Show World data-blocks (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FileSelectParams.filter_id` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileSelectParams.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileSelectParams.rst new file mode 100644 index 0000000..26760f1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FileSelectParams.rst @@ -0,0 +1,286 @@ +FileSelectParams(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`FileAssetSelectParams` + +.. class:: FileSelectParams(bpy_struct) + + File Select Parameters + + .. attribute:: directory + + Directory displayed in the file browser (default b"", never None) + + :type: bytes + + .. attribute:: display_size + + Change the size of thumbnails (in [16, 256], default 96) + + :type: int + + .. attribute:: display_size_discrete + + Change the size of thumbnails in discrete steps (default ``'TINY'``) + + :type: Literal['TINY', 'SMALL', 'NORMAL', 'BIG', 'LARGE'] + + .. attribute:: display_type + + Display mode for the file list (default ``'LIST_VERTICAL'``) + + - ``LIST_VERTICAL`` + Vertical List -- Display files as a vertical list. + - ``LIST_HORIZONTAL`` + Horizontal List -- Display files as a horizontal list. + - ``THUMBNAIL`` + Thumbnails -- Display files as thumbnails. + + :type: Literal['LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'] + + .. attribute:: filename + + Active file in the file browser (default "", never None) + + :type: str + + .. attribute:: filter_glob + + UNIX shell-like filename patterns matching, supports wildcards ('*') and list of patterns separated by ';' (default "", never None) + + :type: str + + .. data:: filter_id + + Which ID types to show/hide, when browsing a library (readonly, never None) + + :type: :class:`FileSelectIDFilter` + + .. attribute:: filter_search + + Filter by name or tag, supports '*' wildcard (default "", never None) + + :type: str + + .. attribute:: list_column_size + + The width of columns in horizontal list views (in [32, 750], default 32) + + :type: int + + .. attribute:: list_display_size + + Change the size of thumbnails in list views (in [16, 128], default 32) + + :type: int + + .. attribute:: recursion_level + + Numbers of dirtree levels to show simultaneously (default ``'NONE'``) + + - ``NONE`` + None -- Only list current directory's content, with no recursion. + - ``BLEND`` + Blend File -- List .blend files' content. + - ``ALL_1`` + One Level -- List all sub-directories' content, one level of recursion. + - ``ALL_2`` + Two Levels -- List all sub-directories' content, two levels of recursion. + - ``ALL_3`` + Three Levels -- List all sub-directories' content, three levels of recursion. + + :type: Literal['NONE', 'BLEND', 'ALL_1', 'ALL_2', 'ALL_3'] + + .. attribute:: show_details_datetime + + Show a column listing the date and time of modification for each file (default False) + + :type: bool + + .. attribute:: show_details_size + + Show a column listing the size of each file (default False) + + :type: bool + + .. attribute:: show_hidden + + Show hidden dot files (default True) + + :type: bool + + .. attribute:: sort_method + + (default ``'FILE_SORT_ALPHA'``) + + :type: Literal[:ref:`rna_enum_fileselect_params_sort_items`] + + .. data:: title + + Title for the file browser (default "", readonly, never None) + + :type: str + + .. attribute:: use_filter + + Enable filtering of files (default False) + + :type: bool + + .. attribute:: use_filter_asset_only + + Hide .blend files items that are not data-blocks with asset metadata (default False) + + :type: bool + + .. attribute:: use_filter_backup + + Show .blend1, .blend2, etc. files (default False) + + :type: bool + + .. attribute:: use_filter_blender + + Show .blend files (default False) + + :type: bool + + .. attribute:: use_filter_blendid + + Show .blend files items (objects, materials, etc.) (default False) + + :type: bool + + .. attribute:: use_filter_folder + + Show folders (default False) + + :type: bool + + .. attribute:: use_filter_font + + Show font files (default False) + + :type: bool + + .. attribute:: use_filter_image + + Show image files (default False) + + :type: bool + + .. attribute:: use_filter_movie + + Show movie files (default False) + + :type: bool + + .. attribute:: use_filter_script + + Show script files (default False) + + :type: bool + + .. attribute:: use_filter_sound + + Show sound files (default False) + + :type: bool + + .. attribute:: use_filter_text + + Show text files (default False) + + :type: bool + + .. attribute:: use_filter_volume + + Show 3D volume files (default False) + + :type: bool + + .. data:: use_library_browsing + + Whether we may browse Blender files' content or not (default False, readonly) + + :type: bool + + .. attribute:: use_sort_invert + + Sort items descending, from highest value to lowest (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceFileBrowser.params` + - :class:`UILayout.template_file_select_path` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float2Attribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float2Attribute.rst new file mode 100644 index 0000000..349e809 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float2Attribute.rst @@ -0,0 +1,84 @@ +Float2Attribute(Attribute) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: Float2Attribute(Attribute) + + Geometry attribute that stores floating-point 2D vectors + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Float2AttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float2AttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float2AttributeValue.rst new file mode 100644 index 0000000..fbbc168 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float2AttributeValue.rst @@ -0,0 +1,85 @@ +Float2AttributeValue(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Float2AttributeValue(bpy_struct) + + 2D Vector value in geometry attribute + + .. attribute:: vector + + 2D vector (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Float2Attribute.data` + - :class:`MeshUVLoopLayer.uv` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float4x4Attribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float4x4Attribute.rst new file mode 100644 index 0000000..f16e08f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float4x4Attribute.rst @@ -0,0 +1,84 @@ +Float4x4Attribute(Attribute) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: Float4x4Attribute(Attribute) + + Geometry attribute that stores a 4 by 4 float matrix + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Float4x4AttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float4x4AttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float4x4AttributeValue.rst new file mode 100644 index 0000000..8fb7c24 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Float4x4AttributeValue.rst @@ -0,0 +1,84 @@ +Float4x4AttributeValue(bpy_struct) +================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Float4x4AttributeValue(bpy_struct) + + Matrix value in geometry attribute + + .. attribute:: value + + Matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Float4x4Attribute.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatAttribute.rst new file mode 100644 index 0000000..cd66cfe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatAttribute.rst @@ -0,0 +1,84 @@ +FloatAttribute(Attribute) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: FloatAttribute(Attribute) + + Geometry attribute that stores floating-point values + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`FloatAttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatAttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatAttributeValue.rst new file mode 100644 index 0000000..fca40fc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatAttributeValue.rst @@ -0,0 +1,84 @@ +FloatAttributeValue(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FloatAttributeValue(bpy_struct) + + Floating-point value in geometry attribute + + .. attribute:: value + + (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FloatAttribute.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatColorAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatColorAttribute.rst new file mode 100644 index 0000000..d6405c7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatColorAttribute.rst @@ -0,0 +1,84 @@ +FloatColorAttribute(Attribute) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: FloatColorAttribute(Attribute) + + Geometry attribute that stores RGBA colors as floating-point values using 32-bits per channel + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`FloatColorAttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatColorAttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatColorAttributeValue.rst new file mode 100644 index 0000000..2cc92a9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatColorAttributeValue.rst @@ -0,0 +1,90 @@ +FloatColorAttributeValue(bpy_struct) +==================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FloatColorAttributeValue(bpy_struct) + + Color value in geometry attribute + + .. attribute:: color + + RGBA color in scene linear color space (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: color_srgb + + RGBA color in sRGB color space (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FloatColorAttribute.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatProperty.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatProperty.rst new file mode 100644 index 0000000..e415155 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatProperty.rst @@ -0,0 +1,170 @@ +FloatProperty(Property) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Property` + +.. class:: FloatProperty(Property) + + RNA floating-point number (single precision) property definition + + .. data:: array_dimensions + + Length of each dimension of the array (array of 3 items, in [0, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: array_length + + Maximum length of the array, 0 means unlimited (in [0, inf], default 0, readonly) + + :type: int + + .. data:: default + + Default value for this number (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: default_array + + Default value for this array (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: hard_max + + Maximum value used by buttons (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: hard_min + + Minimum value used by buttons (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: is_array + + (default False, readonly) + + :type: bool + + .. data:: precision + + Number of digits after the dot used by buttons. Fraction is automatically hidden for exact integer values of fields with unit 'NONE' or 'TIME' (frame count) and step divisible by 100. (in [0, inf], default 0, readonly) + + :type: int + + .. data:: soft_max + + Maximum value used by buttons (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: soft_min + + Minimum value used by buttons (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: step + + Step size used by number buttons, for floats 1/100th of the step size (in [0, inf], default 0.0, readonly) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Property.name` + - :class:`Property.identifier` + - :class:`Property.description` + - :class:`Property.translation_context` + - :class:`Property.type` + - :class:`Property.subtype` + - :class:`Property.srna` + - :class:`Property.unit` + - :class:`Property.icon` + - :class:`Property.is_readonly` + - :class:`Property.is_animatable` + - :class:`Property.is_overridable` + - :class:`Property.is_required` + - :class:`Property.is_argument_optional` + - :class:`Property.is_never_none` + - :class:`Property.is_hidden` + - :class:`Property.is_skip_save` + - :class:`Property.is_skip_preset` + - :class:`Property.is_output` + - :class:`Property.is_registered` + - :class:`Property.is_registered_optional` + - :class:`Property.is_runtime` + - :class:`Property.is_enum_flag` + - :class:`Property.is_library_editable` + - :class:`Property.is_path_output` + - :class:`Property.is_path_supports_blend_relative` + - :class:`Property.is_path_supports_templates` + - :class:`Property.is_deprecated` + - :class:`Property.deprecated_note` + - :class:`Property.deprecated_version` + - :class:`Property.deprecated_removal_version` + - :class:`Property.tags` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Property.bl_rna_get_subclass` + - :class:`Property.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatVectorAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatVectorAttribute.rst new file mode 100644 index 0000000..9fae2d2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatVectorAttribute.rst @@ -0,0 +1,84 @@ +FloatVectorAttribute(Attribute) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: FloatVectorAttribute(Attribute) + + Geometry attribute that stores floating-point 3D vectors + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`FloatVectorAttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatVectorAttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatVectorAttributeValue.rst new file mode 100644 index 0000000..7dbb089 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatVectorAttributeValue.rst @@ -0,0 +1,85 @@ +FloatVectorAttributeValue(bpy_struct) +===================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FloatVectorAttributeValue(bpy_struct) + + Vector value in geometry attribute + + .. attribute:: vector + + 3D vector (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Curves.position_data` + - :class:`FloatVectorAttribute.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatVectorValueReadOnly.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatVectorValueReadOnly.rst new file mode 100644 index 0000000..17bbb1d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloatVectorValueReadOnly.rst @@ -0,0 +1,83 @@ +FloatVectorValueReadOnly(bpy_struct) +==================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FloatVectorValueReadOnly(bpy_struct) + + + .. data:: vector + + 3D vector (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Curves.normals` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloorConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloorConstraint.rst new file mode 100644 index 0000000..f604d2d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FloorConstraint.rst @@ -0,0 +1,117 @@ +FloorConstraint(Constraint) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: FloorConstraint(Constraint) + + Use the target object for location limitation + + .. attribute:: floor_location + + Location of target that object will not pass through (default ``'FLOOR_X'``) + + :type: Literal['FLOOR_X', 'FLOOR_Y', 'FLOOR_Z', 'FLOOR_NEGATIVE_X', 'FLOOR_NEGATIVE_Y', 'FLOOR_NEGATIVE_Z'] + + .. attribute:: offset + + Offset of floor from object origin (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: use_rotation + + Use the target's rotation to determine floor (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidDomainSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidDomainSettings.rst new file mode 100644 index 0000000..7408865 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidDomainSettings.rst @@ -0,0 +1,1134 @@ +FluidDomainSettings(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FluidDomainSettings(bpy_struct) + + Fluid domain settings + + .. attribute:: adapt_margin + + Margin added around fluid to minimize boundary interference (in [2, 24], default 4) + + :type: int + + .. attribute:: adapt_threshold + + Minimum amount of fluid grid values (smoke density, fuel and heat) a cell can contain, before it is considered empty (in [0, 1], default 0.002) + + :type: float + + .. attribute:: additional_res + + Maximum number of additional cells (in [0, 512], default 0) + + :type: int + + .. attribute:: alpha + + Buoyant force based on smoke density (higher value results in faster rising smoke) (in [-5, 5], default 1.0) + + :type: float + + .. attribute:: beta + + Buoyant force based on smoke heat (higher value results in faster rising smoke) (in [-5, 5], default 1.0) + + :type: float + + .. attribute:: burning_rate + + Speed of the burning reaction (higher value results in smaller flames) (in [0.01, 4], default 0.75) + + :type: float + + .. attribute:: cache_data_format + + Select the file format to be used for caching volumetric data (default ``'OPENVDB'``) + + - ``UNI`` + Uni Cache -- Uni file format (.uni). + - ``OPENVDB`` + OpenVDB -- OpenVDB file format (.vdb). + - ``RAW`` + Raw Cache -- Raw file format (.raw). + + :type: Literal['UNI', 'OPENVDB', 'RAW'] + + .. attribute:: cache_directory + + Directory that contains fluid cache files (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: cache_frame_end + + Frame on which the simulation stops (last frame baked) (in [-1048574, 1048574], default 250) + + :type: int + + .. attribute:: cache_frame_offset + + Frame offset that is used when loading the simulation from the cache. It is not considered when baking the simulation, only when loading it. (in [-1048574, 1048574], default 0) + + :type: int + + .. attribute:: cache_frame_pause_data + + (in [-inf, inf], default 0) + + :type: int + + .. attribute:: cache_frame_pause_guide + + (in [-inf, inf], default 0) + + :type: int + + .. attribute:: cache_frame_pause_mesh + + (in [-inf, inf], default 0) + + :type: int + + .. attribute:: cache_frame_pause_noise + + (in [-inf, inf], default 0) + + :type: int + + .. attribute:: cache_frame_pause_particles + + (in [-inf, inf], default 0) + + :type: int + + .. attribute:: cache_frame_start + + Frame on which the simulation starts (first frame baked) (in [-1048574, 1048574], default 1) + + :type: int + + .. attribute:: cache_mesh_format + + Select the file format to be used for caching surface data (default ``'UNI'``) + + - ``UNI`` + Uni Cache -- Uni file format (.uni). + - ``OPENVDB`` + OpenVDB -- OpenVDB file format (.vdb). + - ``RAW`` + Raw Cache -- Raw file format (.raw). + + :type: Literal['UNI', 'OPENVDB', 'RAW'] + + .. attribute:: cache_noise_format + + Select the file format to be used for caching noise data (default ``'OPENVDB'``) + + - ``UNI`` + Uni Cache -- Uni file format (.uni). + - ``OPENVDB`` + OpenVDB -- OpenVDB file format (.vdb). + - ``RAW`` + Raw Cache -- Raw file format (.raw). + + :type: Literal['UNI', 'OPENVDB', 'RAW'] + + .. attribute:: cache_particle_format + + Select the file format to be used for caching particle data (default ``'OPENVDB'``) + + - ``UNI`` + Uni Cache -- Uni file format (.uni). + - ``OPENVDB`` + OpenVDB -- OpenVDB file format (.vdb). + - ``RAW`` + Raw Cache -- Raw file format (.raw). + + :type: Literal['UNI', 'OPENVDB', 'RAW'] + + .. attribute:: cache_resumable + + Additional data will be saved so that the bake jobs can be resumed after pausing. Because more data will be written to disk it is recommended to avoid enabling this option when baking at high resolutions. (default False) + + :type: bool + + .. attribute:: cache_type + + Change the cache type of the simulation (default ``'REPLAY'``) + + - ``REPLAY`` + Replay -- Use the timeline to bake the scene. + - ``MODULAR`` + Modular -- Bake every stage of the simulation separately. + - ``ALL`` + All -- Bake all simulation settings at once. + + :type: Literal['REPLAY', 'MODULAR', 'ALL'] + + .. data:: cell_size + + Cell Size (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: cfl_condition + + Maximal velocity per cell (greater CFL numbers will minimize the number of simulation steps and the computation time.) (in [0, 10], default 2.0) + + :type: float + + .. attribute:: clipping + + Value under which voxels are considered empty space to optimize rendering (in [0, 1], default 1e-06) + + :type: float + + .. data:: color_ramp + + (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: color_ramp_field + + Simulation field to color map (default ``'NONE'``) + + :type: Literal['NONE'] + + .. attribute:: color_ramp_field_scale + + Multiplier for scaling the selected field to color map (in [0.001, 100000], default 1.0) + + :type: float + + .. attribute:: delete_in_obstacle + + Delete fluid inside obstacles (default False) + + :type: bool + + .. attribute:: display_interpolation + + Interpolation method to use for smoke/fire volumes in solid mode (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Good smoothness and speed. + - ``CUBIC`` + Cubic -- Smoothed high quality interpolation, but slower. + - ``CLOSEST`` + Closest -- No interpolation. + + :type: Literal['LINEAR', 'CUBIC', 'CLOSEST'] + + .. attribute:: display_thickness + + Thickness of smoke display in the viewport (in [0.001, 1000], default 1.0) + + :type: float + + .. attribute:: dissolve_speed + + Determine how quickly the smoke dissolves (lower value makes smoke disappear faster) (in [1, 10000], default 5) + + :type: int + + .. data:: domain_resolution + + Smoke Grid Resolution (array of 3 items, in [-inf, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: domain_type + + Change domain type of the simulation (default ``'GAS'``) + + - ``GAS`` + Gas -- Create domain for gases. + - ``LIQUID`` + Liquid -- Create domain for liquids. + + :type: Literal['GAS', 'LIQUID'] + + .. attribute:: effector_group + + Limit effectors to this collection + + :type: :class:`Collection` | None + + .. data:: effector_weights + + (readonly) + + :type: :class:`EffectorWeights` | None + + .. attribute:: export_manta_script + + Generate and export Mantaflow script from current domain settings during bake. This is only needed if you plan to analyze the cache (e.g. view grids, velocity vectors, particles) in Mantaflow directly (outside of Blender) after baking the simulation. (default False) + + :type: bool + + .. attribute:: flame_ignition + + Minimum temperature of the flames (higher value results in faster rising flames) (in [0.5, 5], default 1.5) + + :type: float + + .. attribute:: flame_max_temp + + Maximum temperature of the flames (higher value results in faster rising flames) (in [1, 10], default 3.0) + + :type: float + + .. attribute:: flame_smoke + + Amount of smoke created by burning fuel (in [0, 8], default 1.0) + + :type: float + + .. attribute:: flame_smoke_color + + Color of smoke emitted from burning fuel (array of 3 items, in [0, inf], default (0.7, 0.7, 0.7)) + + :type: :class:`mathutils.Color` + + .. attribute:: flame_vorticity + + Additional vorticity for the flames (in [0, 2], default 0.5) + + :type: float + + .. attribute:: flip_ratio + + PIC/FLIP Ratio. A value of 1.0 will result in a completely FLIP based simulation. Use a lower value for simulations which should produce smaller splashes. (in [0, 1], default 0.97) + + :type: float + + .. attribute:: fluid_group + + Limit fluid objects to this collection + + :type: :class:`Collection` | None + + .. attribute:: force_collection + + Limit forces to this collection + + :type: :class:`Collection` | None + + .. attribute:: fractions_distance + + Determines how far apart fluid and obstacle are (higher values will result in fluid being further away from obstacles, smaller values will let fluid move towards the inside of obstacles) (in [-5, 5], default 0.5) + + :type: float + + .. attribute:: fractions_threshold + + Determines how much fluid is allowed in an obstacle cell (higher values will tag a boundary cell as an obstacle easier and reduce the boundary smoothening effect) (in [0.001, 1], default 0.05) + + :type: float + + .. attribute:: gravity + + Gravity in X, Y and Z direction (array of 3 items, in [-1000.1, 1000.1], default (0.0, 0.0, -9.81)) + + :type: :class:`mathutils.Vector` + + .. attribute:: gridlines_cell_filter + + Cell type to be highlighted (default ``'NONE'``) + + - ``NONE`` + None -- Highlight the cells regardless of their type. + - ``FLUID`` + Fluid -- Highlight only the cells of type Fluid. + - ``OBSTACLE`` + Obstacle -- Highlight only the cells of type Obstacle. + - ``EMPTY`` + Empty -- Highlight only the cells of type Empty. + - ``INFLOW`` + Inflow -- Highlight only the cells of type Inflow. + - ``OUTFLOW`` + Outflow -- Highlight only the cells of type Outflow. + + :type: Literal['NONE', 'FLUID', 'OBSTACLE', 'EMPTY', 'INFLOW', 'OUTFLOW'] + + .. attribute:: gridlines_color_field + + Simulation field to color map onto gridlines (default ``'NONE'``) + + - ``NONE`` + None -- None. + - ``FLAGS`` + Flags -- Flag grid of the fluid domain. + - ``RANGE`` + Highlight Range -- Highlight the voxels with values of the color mapped field within the range. + + :type: Literal['NONE', 'FLAGS', 'RANGE'] + + .. attribute:: gridlines_lower_bound + + Lower bound of the highlighting range (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: gridlines_range_color + + Color used to highlight the range (array of 4 items, in [0, inf], default (1.0, 0.0, 0.0, 1.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: gridlines_upper_bound + + Upper bound of the highlighting range (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: guide_alpha + + Guiding weight (higher value results in greater lag) (in [1, 100], default 2.0) + + :type: float + + .. attribute:: guide_beta + + Guiding size (higher value results in larger vortices) (in [1, 50], default 5) + + :type: int + + .. attribute:: guide_parent + + Use velocities from this object for the guiding effect (object needs to have fluid modifier and be of type domain)) + + :type: :class:`Object` | None + + .. attribute:: guide_source + + Choose where to get guiding velocities from (default ``'DOMAIN'``) + + - ``DOMAIN`` + Domain -- Use a fluid domain for guiding (domain needs to be baked already so that velocities can be extracted). Guiding domain can be of any type (i.e. gas or liquid).. + - ``EFFECTOR`` + Effector -- Use guiding (effector) objects to create fluid guiding (guiding objects should be animated and baked once set up completely). + + :type: Literal['DOMAIN', 'EFFECTOR'] + + .. attribute:: guide_vel_factor + + Guiding velocity factor (higher value results in greater guiding velocities) (in [0, 100], default 2.0) + + :type: float + + .. attribute:: has_cache_baked_any + + (default False) + + :type: bool + + .. attribute:: has_cache_baked_data + + (default False) + + :type: bool + + .. attribute:: has_cache_baked_guide + + (default False) + + :type: bool + + .. attribute:: has_cache_baked_mesh + + (default False) + + :type: bool + + .. attribute:: has_cache_baked_noise + + (default False) + + :type: bool + + .. attribute:: has_cache_baked_particles + + (default False) + + :type: bool + + .. attribute:: highres_sampling + + Method for sampling the high resolution flow (default ``'FULLSAMPLE'``) + + :type: Literal['FULLSAMPLE', 'LINEAR', 'NEAREST'] + + .. attribute:: is_cache_baking_any + + (default False) + + :type: bool + + .. attribute:: is_cache_baking_data + + (default False) + + :type: bool + + .. attribute:: is_cache_baking_guide + + (default False) + + :type: bool + + .. attribute:: is_cache_baking_mesh + + (default False) + + :type: bool + + .. attribute:: is_cache_baking_noise + + (default False) + + :type: bool + + .. attribute:: is_cache_baking_particles + + (default False) + + :type: bool + + .. attribute:: mesh_concave_lower + + Lower mesh concavity bound (high values tend to smoothen and fill out concave regions) (in [0, 10], default 0.4) + + :type: float + + .. attribute:: mesh_concave_upper + + Upper mesh concavity bound (high values tend to smoothen and fill out concave regions) (in [0, 10], default 3.5) + + :type: float + + .. attribute:: mesh_generator + + Which particle level set generator to use (default ``'IMPROVED'``) + + - ``IMPROVED`` + Final -- Use improved particle level set (slower but more precise and with mesh smoothening options). + - ``UNION`` + Preview -- Use union particle level set (faster but lower quality). + + :type: Literal['IMPROVED', 'UNION'] + + .. attribute:: mesh_particle_radius + + Particle radius factor (higher value results in larger (meshed) particles). Needs to be adjusted after changing the mesh scale. (in [0, 10], default 2.0) + + :type: float + + .. attribute:: mesh_scale + + The mesh simulation is scaled up by this factor (compared to the base resolution of the domain). For best meshing, it is recommended to adjust the mesh particle radius alongside this value. (in [1, 100], default 2) + + :type: int + + .. attribute:: mesh_smoothen_neg + + Negative mesh smoothening (in [0, 100], default 1) + + :type: int + + .. attribute:: mesh_smoothen_pos + + Positive mesh smoothening (in [0, 100], default 1) + + :type: int + + .. attribute:: noise_pos_scale + + Scale of noise (higher value results in larger vortices) (in [0.0001, 10], default 2.0) + + :type: float + + .. attribute:: noise_scale + + The noise simulation is scaled up by this factor (compared to the base resolution of the domain) (in [1, 100], default 2) + + :type: int + + .. attribute:: noise_strength + + Strength of noise (in [0, 10], default 1.0) + + :type: float + + .. attribute:: noise_time_anim + + Animation time of noise (in [0.0001, 10], default 0.1) + + :type: float + + .. attribute:: openvdb_cache_compress_type + + Compression method to be used (default ``'ZIP'``) + + - ``ZIP`` + Zip -- Effective but slow compression. + - ``NONE`` + None -- Do not use any compression. + + :type: Literal['ZIP', 'NONE'] + + .. attribute:: openvdb_data_depth + + Bit depth for fluid particles and grids (lower bit values reduce file size) (default ``'NONE'``) + + :type: Literal['NONE'] + + .. attribute:: particle_band_width + + Particle (narrow) band width (higher value results in thicker band and more particles) (in [0, 1000], default 3.0) + + :type: float + + .. attribute:: particle_max + + Maximum number of particles per cell (ensures that each cell has at most this amount of particles) (in [0, 1000], default 16) + + :type: int + + .. attribute:: particle_min + + Minimum number of particles per cell (ensures that each cell has at least this amount of particles) (in [0, 1000], default 8) + + :type: int + + .. attribute:: particle_number + + Particle number factor (higher value results in more particles) (in [1, 5], default 2) + + :type: int + + .. attribute:: particle_radius + + Particle radius factor. Increase this value if the simulation appears to leak volume, decrease it if the simulation seems to gain volume. (in [0, 10], default 1.0) + + :type: float + + .. attribute:: particle_randomness + + Randomness factor for particle sampling (in [0, 10], default 0.1) + + :type: float + + .. attribute:: particle_scale + + The particle simulation is scaled up by this factor (compared to the base resolution of the domain) (in [1, 100], default 1) + + :type: int + + .. attribute:: resolution_max + + Resolution used for the fluid domain. Value corresponds to the longest domain side (resolution for other domain sides is calculated automatically). (in [6, 10000], default 32) + + :type: int + + .. attribute:: show_gridlines + + Show gridlines (default False) + + :type: bool + + .. attribute:: show_velocity + + Visualize vector fields (default False) + + :type: bool + + .. attribute:: simulation_method + + Change the underlying simulation method (default ``'FLIP'``) + + - ``FLIP`` + FLIP -- Use FLIP as the simulation method (more splashy behavior). + - ``APIC`` + APIC -- Use APIC as the simulation method (more energetic and stable behavior). + + :type: Literal['FLIP', 'APIC'] + + .. attribute:: slice_axis + + (default ``'AUTO'``) + + - ``AUTO`` + Auto -- Adjust slice direction according to the view direction. + - ``X`` + X -- Slice along the X axis. + - ``Y`` + Y -- Slice along the Y axis. + - ``Z`` + Z -- Slice along the Z axis. + + :type: Literal['AUTO', 'X', 'Y', 'Z'] + + .. attribute:: slice_depth + + Position of the slice (in [0, 1], default 0.5) + + :type: float + + .. attribute:: slice_per_voxel + + How many slices per voxel should be generated (in [0, 100], default 5.0) + + :type: float + + .. attribute:: sndparticle_boundary + + How particles that left the domain are treated (default ``'DELETE'``) + + - ``DELETE`` + Delete -- Delete secondary particles that are inside obstacles or left the domain. + - ``PUSHOUT`` + Push Out -- Push secondary particles that left the domain back into the domain. + + :type: Literal['DELETE', 'PUSHOUT'] + + .. attribute:: sndparticle_bubble_buoyancy + + Amount of buoyancy force that rises bubbles (high value results in bubble movement mainly upwards) (in [0, 100], default 0.5) + + :type: float + + .. attribute:: sndparticle_bubble_drag + + Amount of drag force that moves bubbles along with the fluid (high value results in bubble movement mainly along with the fluid) (in [0, 100], default 0.6) + + :type: float + + .. attribute:: sndparticle_combined_export + + Determines which particle systems are created from secondary particles (default ``'OFF'``) + + - ``OFF`` + Off -- Create a separate particle system for every secondary particle type. + - ``SPRAY_FOAM`` + Spray + Foam -- Spray and foam particles are saved in the same particle system. + - ``SPRAY_BUBBLES`` + Spray + Bubbles -- Spray and bubble particles are saved in the same particle system. + - ``FOAM_BUBBLES`` + Foam + Bubbles -- Foam and bubbles particles are saved in the same particle system. + - ``SPRAY_FOAM_BUBBLES`` + Spray + Foam + Bubbles -- Create one particle system that contains all three secondary particle types. + + :type: Literal['OFF', 'SPRAY_FOAM', 'SPRAY_BUBBLES', 'FOAM_BUBBLES', 'SPRAY_FOAM_BUBBLES'] + + .. attribute:: sndparticle_life_max + + Highest possible particle lifetime (in [0, 10000], default 25.0) + + :type: float + + .. attribute:: sndparticle_life_min + + Lowest possible particle lifetime (in [0, 10000], default 10.0) + + :type: float + + .. attribute:: sndparticle_potential_max_energy + + Upper clamping threshold that indicates the fluid speed where cells no longer emit more particles (higher value results in generally less particles) (in [0, 1000], default 5.0) + + :type: float + + .. attribute:: sndparticle_potential_max_trappedair + + Upper clamping threshold for marking fluid cells where air is trapped (higher value results in less marked cells) (in [0, 1000], default 20.0) + + :type: float + + .. attribute:: sndparticle_potential_max_wavecrest + + Upper clamping threshold for marking fluid cells as wave crests (higher value results in less marked cells) (in [0, 1000], default 8.0) + + :type: float + + .. attribute:: sndparticle_potential_min_energy + + Lower clamping threshold that indicates the fluid speed where cells start to emit particles (lower values result in generally more particles) (in [0, 1000], default 1.0) + + :type: float + + .. attribute:: sndparticle_potential_min_trappedair + + Lower clamping threshold for marking fluid cells where air is trapped (lower value results in more marked cells) (in [0, 1000], default 5.0) + + :type: float + + .. attribute:: sndparticle_potential_min_wavecrest + + Lower clamping threshold for marking fluid cells as wave crests (lower value results in more marked cells) (in [0, 1000], default 2.0) + + :type: float + + .. attribute:: sndparticle_potential_radius + + Radius to compute potential for each cell (higher values are slower but create smoother potential grids) (in [1, 4], default 2) + + :type: int + + .. attribute:: sndparticle_sampling_trappedair + + Maximum number of particles generated per trapped air cell per frame (in [0, 10000], default 40) + + :type: int + + .. attribute:: sndparticle_sampling_wavecrest + + Maximum number of particles generated per wave crest cell per frame (in [0, 10000], default 200) + + :type: int + + .. attribute:: sndparticle_update_radius + + Radius to compute position update for each particle (higher values are slower but particles move less chaotic) (in [1, 4], default 2) + + :type: int + + .. data:: start_point + + Start point (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: surface_tension + + Surface tension of liquid (higher value results in greater hydrophobic behavior) (in [0, 100], default 0.0) + + :type: float + + .. attribute:: sys_particle_maximum + + Maximum number of fluid particles that are allowed in this simulation (in [0, inf], default 0) + + :type: int + + .. attribute:: time_scale + + Adjust simulation speed (in [0.0001, 10], default 1.0) + + :type: float + + .. attribute:: timesteps_max + + Maximum number of simulation steps to perform for one frame (in [1, 100], default 4) + + :type: int + + .. attribute:: timesteps_min + + Minimum number of simulation steps to perform for one frame (in [1, 100], default 1) + + :type: int + + .. attribute:: use_adaptive_domain + + Adapt simulation resolution and size to fluid (default False) + + :type: bool + + .. attribute:: use_adaptive_timesteps + + Automatically decide when to perform multiple simulation steps per frame (default True) + + :type: bool + + .. attribute:: use_bubble_particles + + Create bubble particle system (default False) + + :type: bool + + .. attribute:: use_collision_border_back + + Enable collisions with back domain border (default False) + + :type: bool + + .. attribute:: use_collision_border_bottom + + Enable collisions with bottom domain border (default False) + + :type: bool + + .. attribute:: use_collision_border_front + + Enable collisions with front domain border (default False) + + :type: bool + + .. attribute:: use_collision_border_left + + Enable collisions with left domain border (default False) + + :type: bool + + .. attribute:: use_collision_border_right + + Enable collisions with right domain border (default False) + + :type: bool + + .. attribute:: use_collision_border_top + + Enable collisions with top domain border (default False) + + :type: bool + + .. attribute:: use_color_ramp + + Render a simulation field while mapping its voxels values to the colors of a ramp or using a predefined color code (default False) + + :type: bool + + .. attribute:: use_diffusion + + Enable fluid diffusion settings (e.g. viscosity, surface tension) (default False) + + :type: bool + + .. attribute:: use_dissolve_smoke + + Let smoke disappear over time (default False) + + :type: bool + + .. attribute:: use_dissolve_smoke_log + + Dissolve smoke in a logarithmic fashion. Dissolves quickly at first, but lingers longer. (default True) + + :type: bool + + .. attribute:: use_flip_particles + + Create liquid particle system (default False) + + :type: bool + + .. attribute:: use_foam_particles + + Create foam particle system (default False) + + :type: bool + + .. attribute:: use_fractions + + Fractional obstacles improve and smoothen the fluid-obstacle boundary (default False) + + :type: bool + + .. attribute:: use_guide + + Enable fluid guiding (default False) + + :type: bool + + .. attribute:: use_mesh + + Enable fluid mesh (using amplification) (default True) + + :type: bool + + .. attribute:: use_noise + + Enable fluid noise (using amplification) (default False) + + :type: bool + + .. attribute:: use_slice + + Perform a single slice of the domain object (default False) + + :type: bool + + .. attribute:: use_speed_vectors + + Caches velocities of mesh vertices. These will be used (automatically) when rendering with motion blur enabled. (default False) + + :type: bool + + .. attribute:: use_spray_particles + + Create spray particle system (default False) + + :type: bool + + .. attribute:: use_tracer_particles + + Create tracer particle system (default False) + + :type: bool + + .. attribute:: use_viscosity + + Simulate fluids with high viscosity using a special solver (default False) + + :type: bool + + .. attribute:: vector_display_type + + (default ``'NEEDLE'``) + + - ``NEEDLE`` + Needle -- Display vectors as needles. + - ``STREAMLINE`` + Streamlines -- Display vectors as streamlines. + - ``MAC`` + MAC Grid -- Display vector field as MAC grid. + + :type: Literal['NEEDLE', 'STREAMLINE', 'MAC'] + + .. attribute:: vector_field + + Vector field to be represented by the display vectors (default ``'FLUID_VELOCITY'``) + + - ``FLUID_VELOCITY`` + Fluid Velocity -- Velocity field of the fluid domain. + - ``GUIDE_VELOCITY`` + Guide Velocity -- Guide velocity field of the fluid domain. + - ``FORCE`` + Force -- Force field of the fluid domain. + + :type: Literal['FLUID_VELOCITY', 'GUIDE_VELOCITY', 'FORCE'] + + .. attribute:: vector_scale + + Multiplier for scaling the vectors (in [0, 1000], default 1.0) + + :type: float + + .. attribute:: vector_scale_with_magnitude + + Scale vectors with their magnitudes (default False) + + :type: bool + + .. attribute:: vector_show_mac_x + + Show X-component of MAC Grid (default True) + + :type: bool + + .. attribute:: vector_show_mac_y + + Show Y-component of MAC Grid (default True) + + :type: bool + + .. attribute:: vector_show_mac_z + + Show Z-component of MAC Grid (default True) + + :type: bool + + .. attribute:: velocity_scale + + Factor to control the amount of motion blur (in [0, inf], default 1.0) + + :type: float + + .. attribute:: viscosity_base + + Viscosity setting: value that is multiplied by 10 to the power of (exponent*-1) (in [0, 10], default 1.0) + + :type: float + + .. attribute:: viscosity_exponent + + Negative exponent for the viscosity value (to simplify entering small values e.g. 5*10^-6) (in [0, 10], default 6) + + :type: int + + .. attribute:: viscosity_value + + Viscosity of liquid (higher values result in more viscous fluids, a value of 0 will still apply some viscosity) (in [0, 10], default 0.05) + + :type: float + + .. attribute:: vorticity + + Amount of turbulence and rotation in smoke (in [0, 4], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FluidModifier.domain_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidEffectorSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidEffectorSettings.rst new file mode 100644 index 0000000..fc1e1ef --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidEffectorSettings.rst @@ -0,0 +1,134 @@ +FluidEffectorSettings(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FluidEffectorSettings(bpy_struct) + + Smoke collision settings + + .. attribute:: effector_type + + Change type of effector in the simulation (default ``'COLLISION'``) + + - ``COLLISION`` + Collision -- Create collision object. + - ``GUIDE`` + Guide -- Create guide object. + + :type: Literal['COLLISION', 'GUIDE'] + + .. attribute:: guide_mode + + How to create guiding velocities (default ``'OVERRIDE'``) + + - ``MAXIMUM`` + Maximize -- Compare velocities from previous frame with new velocities from current frame and keep the maximum. + - ``MINIMUM`` + Minimize -- Compare velocities from previous frame with new velocities from current frame and keep the minimum. + - ``OVERRIDE`` + Override -- Always write new guide velocities for every frame (each frame only contains current velocities from guiding objects). + - ``AVERAGED`` + Averaged -- Take average of velocities from previous frame and new velocities from current frame. + + :type: Literal['MAXIMUM', 'MINIMUM', 'OVERRIDE', 'AVERAGED'] + + .. attribute:: subframes + + Number of additional samples to take between frames to improve quality of fast moving effector objects (in [0, 200], default 0) + + :type: int + + .. attribute:: surface_distance + + Additional distance around mesh surface to consider as effector (in [0, 10], default 0.0) + + :type: float + + .. attribute:: use_effector + + Control when to apply the effector (default True) + + :type: bool + + .. attribute:: use_plane_init + + Treat this object as a planar, unclosed mesh (default False) + + :type: bool + + .. attribute:: velocity_factor + + Multiplier of obstacle velocity (in [-100, 100], default 1.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FluidModifier.effector_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidFlowSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidFlowSettings.rst new file mode 100644 index 0000000..1ac3f09 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidFlowSettings.rst @@ -0,0 +1,267 @@ +FluidFlowSettings(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FluidFlowSettings(bpy_struct) + + Fluid flow settings + + .. attribute:: density + + (in [0, 10], default 1.0) + + :type: float + + .. attribute:: density_vertex_group + + Name of vertex group which determines surface emission rate (default "", never None) + + :type: str + + .. attribute:: flow_behavior + + Change flow behavior in the simulation (default ``'GEOMETRY'``) + + - ``INFLOW`` + Inflow -- Add fluid to simulation. + - ``OUTFLOW`` + Outflow -- Delete fluid from simulation. + - ``GEOMETRY`` + Geometry -- Only use given geometry for fluid. + + :type: Literal['INFLOW', 'OUTFLOW', 'GEOMETRY'] + + .. attribute:: flow_source + + Change how fluid is emitted (default ``'NONE'``) + + :type: Literal['NONE'] + + .. attribute:: flow_type + + Change type of fluid in the simulation (default ``'SMOKE'``) + + - ``SMOKE`` + Smoke -- Add smoke. + - ``BOTH`` + Fire + Smoke -- Add fire and smoke. + - ``FIRE`` + Fire -- Add fire. + - ``LIQUID`` + Liquid -- Add liquid. + + :type: Literal['SMOKE', 'BOTH', 'FIRE', 'LIQUID'] + + .. attribute:: fuel_amount + + (in [0, 10], default 1.0) + + :type: float + + .. attribute:: noise_texture + + Texture that controls emission strength + + :type: :class:`Texture` | None + + .. attribute:: particle_size + + Particle size in simulation cells (in [0.1, inf], default 1.0) + + :type: float + + .. attribute:: particle_system + + Particle systems emitted from the object + + :type: :class:`ParticleSystem` | None + + .. attribute:: smoke_color + + Color of smoke (array of 3 items, in [0, inf], default (0.7, 0.7, 0.7)) + + :type: :class:`mathutils.Color` + + .. attribute:: subframes + + Number of additional samples to take between frames to improve quality of fast moving flows (in [0, 200], default 0) + + :type: int + + .. attribute:: surface_distance + + Height (in domain grid units) of fluid emission above the mesh surface. Higher values result in emission further away from the mesh surface. If this value and the emitter size are smaller than the domain grid unit, fluid will not be created (in [0, 10], default 1.0) + + :type: float + + .. attribute:: temperature + + Temperature difference to ambient temperature (in [-10, 10], default 1.0) + + :type: float + + .. attribute:: texture_map_type + + Texture mapping type (default ``'AUTO'``) + + - ``AUTO`` + Generated -- Generated coordinates centered to flow object. + - ``UV`` + UV -- Use UV layer for texture coordinates. + + :type: Literal['AUTO', 'UV'] + + .. attribute:: texture_offset + + Z-offset of texture mapping (in [0, 200], default 0.0) + + :type: float + + .. attribute:: texture_size + + Size of texture mapping (in [0.01, 10], default 1.0) + + :type: float + + .. attribute:: use_absolute + + Only allow given density value in emitter area and will not add up (default True) + + :type: bool + + .. attribute:: use_inflow + + Control when to apply fluid flow (default True) + + :type: bool + + .. attribute:: use_initial_velocity + + Fluid has some initial velocity when it is emitted (default False) + + :type: bool + + .. attribute:: use_particle_size + + Set particle size in simulation cells or use nearest cell (default True) + + :type: bool + + .. attribute:: use_plane_init + + Treat this object as a planar and unclosed mesh. Fluid will only be emitted from the mesh surface and based on the surface emission value. (default False) + + :type: bool + + .. attribute:: use_texture + + Use a texture to control emission strength (default False) + + :type: bool + + .. attribute:: uv_layer + + UV map name (default "", never None) + + :type: str + + .. attribute:: velocity_coord + + Additional initial velocity in X, Y and Z direction (added to source velocity) (array of 3 items, in [-1000.1, 1000.1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: velocity_factor + + Multiplier of source velocity passed to fluid (source velocity is non-zero only if object is moving) (in [-100, 100], default 1.0) + + :type: float + + .. attribute:: velocity_normal + + Amount of normal directional velocity (in [-100, 100], default 0.0) + + :type: float + + .. attribute:: velocity_random + + Amount of random velocity (in [0, 10], default 0.0) + + :type: float + + .. attribute:: volume_density + + Controls fluid emission from within the mesh (higher value results in greater emissions from inside the mesh) (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FluidModifier.flow_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidModifier.rst new file mode 100644 index 0000000..a292a64 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FluidModifier.rst @@ -0,0 +1,118 @@ +FluidModifier(Modifier) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: FluidModifier(Modifier) + + Fluid simulation modifier + + .. data:: domain_settings + + (readonly) + + :type: :class:`FluidDomainSettings` | None + + .. data:: effector_settings + + (readonly) + + :type: :class:`FluidEffectorSettings` | None + + .. data:: flow_settings + + (readonly) + + :type: :class:`FluidFlowSettings` | None + + .. attribute:: fluid_type + + (default ``'NONE'``) + + - ``NONE`` + None. + - ``DOMAIN`` + Domain -- Container of the fluid simulation. + - ``FLOW`` + Flow -- Add or remove fluid to a domain object. + - ``EFFECTOR`` + Effector -- Deflect fluids and influence the fluid flow. + + :type: Literal['NONE', 'DOMAIN', 'FLOW', 'EFFECTOR'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FollowPathConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FollowPathConstraint.rst new file mode 100644 index 0000000..ef4ccea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FollowPathConstraint.rst @@ -0,0 +1,135 @@ +FollowPathConstraint(Constraint) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: FollowPathConstraint(Constraint) + + Lock motion to the target path + + .. attribute:: forward_axis + + Axis that points forward along the path (default ``'FORWARD_X'``) + + :type: Literal['FORWARD_X', 'FORWARD_Y', 'FORWARD_Z', 'TRACK_NEGATIVE_X', 'TRACK_NEGATIVE_Y', 'TRACK_NEGATIVE_Z'] + + .. attribute:: offset + + Offset from the position corresponding to the time frame (in [-1.04857e+06, 1.04857e+06], default 0.0) + + :type: float + + .. attribute:: offset_factor + + Percentage value defining target position along length of curve (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: target + + Target Curve object + + :type: :class:`Object` | None + + .. attribute:: up_axis + + Axis that points upward (default ``'UP_X'``) + + :type: Literal['UP_X', 'UP_Y', 'UP_Z'] + + .. attribute:: use_curve_follow + + Object will follow the heading and banking of the curve (default False) + + :type: bool + + .. attribute:: use_curve_radius + + Object is scaled by the curve radius (default False) + + :type: bool + + .. attribute:: use_fixed_location + + Object will stay locked to a single point somewhere along the length of the curve regardless of time (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FollowTrackConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FollowTrackConstraint.rst new file mode 100644 index 0000000..a8a6238 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FollowTrackConstraint.rst @@ -0,0 +1,141 @@ +FollowTrackConstraint(Constraint) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: FollowTrackConstraint(Constraint) + + Lock motion to the target motion track + + .. attribute:: camera + + Camera to which motion is parented (if empty active scene camera is used) + + :type: :class:`Object` | None + + .. attribute:: clip + + Movie Clip to get tracking data from + + :type: :class:`MovieClip` | None + + .. attribute:: depth_object + + Object used to define depth in camera space by projecting onto surface of this object + + :type: :class:`Object` | None + + .. attribute:: frame_method + + How the footage fits in the camera frame (default ``'STRETCH'``) + + :type: Literal['STRETCH', 'FIT', 'CROP'] + + .. attribute:: object + + Movie tracking object to follow (if empty, camera object is used) (default "", never None) + + :type: str + + .. attribute:: track + + Movie tracking track to follow (default "", never None) + + :type: str + + .. attribute:: use_3d_position + + Use 3D position of track to parent to (default False) + + :type: bool + + .. attribute:: use_active_clip + + Use active clip defined in scene (default False) + + :type: bool + + .. attribute:: use_undistorted_position + + Parent to undistorted position of 2D track (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementGenerationItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementGenerationItem.rst new file mode 100644 index 0000000..6c9d108 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementGenerationItem.rst @@ -0,0 +1,103 @@ +ForeachGeometryElementGenerationItem(bpy_struct) +================================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ForeachGeometryElementGenerationItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: domain + + Domain that the field is evaluated on (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeForeachGeometryElementOutput.generation_items` + - :class:`NodeGeometryForeachGeometryElementGenerationItems.new` + - :class:`NodeGeometryForeachGeometryElementGenerationItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementInputItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementInputItem.rst new file mode 100644 index 0000000..2a08b2d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementInputItem.rst @@ -0,0 +1,97 @@ +ForeachGeometryElementInputItem(bpy_struct) +=========================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ForeachGeometryElementInputItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeForeachGeometryElementOutput.input_items` + - :class:`NodeGeometryForeachGeometryElementInputItems.new` + - :class:`NodeGeometryForeachGeometryElementInputItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementMainItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementMainItem.rst new file mode 100644 index 0000000..5b697cb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementMainItem.rst @@ -0,0 +1,97 @@ +ForeachGeometryElementMainItem(bpy_struct) +========================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ForeachGeometryElementMainItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeForeachGeometryElementOutput.main_items` + - :class:`NodeGeometryForeachGeometryElementMainItems.new` + - :class:`NodeGeometryForeachGeometryElementMainItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementZoneViewerPathElem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementZoneViewerPathElem.rst new file mode 100644 index 0000000..a6d6b82 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ForeachGeometryElementZoneViewerPathElem.rst @@ -0,0 +1,79 @@ +ForeachGeometryElementZoneViewerPathElem(ViewerPathElem) +======================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ViewerPathElem` + +.. class:: ForeachGeometryElementZoneViewerPathElem(ViewerPathElem) + + + .. attribute:: zone_output_node_id + + (in [-inf, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ViewerPathElem.type` + - :class:`ViewerPathElem.ui_name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ViewerPathElem.bl_rna_get_subclass` + - :class:`ViewerPathElem.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleLineSet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleLineSet.rst new file mode 100644 index 0000000..d7dc9e9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleLineSet.rst @@ -0,0 +1,323 @@ +FreestyleLineSet(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FreestyleLineSet(bpy_struct) + + Line set for associating lines and style parameters + + .. attribute:: collection + + A collection of objects based on which feature edges are selected + + :type: :class:`Collection` | None + + .. attribute:: collection_negation + + Specify either inclusion or exclusion of feature edges belonging to a collection of objects (default ``'INCLUSIVE'``) + + - ``INCLUSIVE`` + Inclusive -- Select feature edges belonging to some object in the group. + - ``EXCLUSIVE`` + Exclusive -- Select feature edges not belonging to any object in the group. + + :type: Literal['INCLUSIVE', 'EXCLUSIVE'] + + .. attribute:: edge_type_combination + + Specify a logical combination of selection conditions on feature edge types (default ``'OR'``) + + - ``OR`` + Logical OR -- Select feature edges satisfying at least one of edge type conditions. + - ``AND`` + Logical AND -- Select feature edges satisfying all edge type conditions. + + :type: Literal['OR', 'AND'] + + .. attribute:: edge_type_negation + + Specify either inclusion or exclusion of feature edges selected by edge types (default ``'INCLUSIVE'``) + + - ``INCLUSIVE`` + Inclusive -- Select feature edges satisfying the given edge type conditions. + - ``EXCLUSIVE`` + Exclusive -- Select feature edges not satisfying the given edge type conditions. + + :type: Literal['INCLUSIVE', 'EXCLUSIVE'] + + .. attribute:: exclude_border + + Exclude border edges (default False) + + :type: bool + + .. attribute:: exclude_contour + + Exclude contours (default False) + + :type: bool + + .. attribute:: exclude_crease + + Exclude crease edges (default False) + + :type: bool + + .. attribute:: exclude_edge_mark + + Exclude edge marks (default False) + + :type: bool + + .. attribute:: exclude_external_contour + + Exclude external contours (default False) + + :type: bool + + .. attribute:: exclude_material_boundary + + Exclude edges at material boundaries (default False) + + :type: bool + + .. attribute:: exclude_ridge_valley + + Exclude ridges and valleys (default False) + + :type: bool + + .. attribute:: exclude_silhouette + + Exclude silhouette edges (default False) + + :type: bool + + .. attribute:: exclude_suggestive_contour + + Exclude suggestive contours (default False) + + :type: bool + + .. attribute:: face_mark_condition + + Specify a feature edge selection condition based on face marks (default ``'ONE'``) + + - ``ONE`` + One Face -- Select a feature edge if either of its adjacent faces is marked. + - ``BOTH`` + Both Faces -- Select a feature edge if both of its adjacent faces are marked. + + :type: Literal['ONE', 'BOTH'] + + .. attribute:: face_mark_negation + + Specify either inclusion or exclusion of feature edges selected by face marks (default ``'INCLUSIVE'``) + + - ``INCLUSIVE`` + Inclusive -- Select feature edges satisfying the given face mark conditions. + - ``EXCLUSIVE`` + Exclusive -- Select feature edges not satisfying the given face mark conditions. + + :type: Literal['INCLUSIVE', 'EXCLUSIVE'] + + .. attribute:: linestyle + + Line style settings (never None) + + :type: :class:`FreestyleLineStyle` + + .. attribute:: name + + Line set name (default "", never None) + + :type: str + + .. attribute:: qi_end + + Last QI value of the QI range (in [0, inf], default 0) + + :type: int + + .. attribute:: qi_start + + First QI value of the QI range (in [0, inf], default 0) + + :type: int + + .. attribute:: select_border + + Select border edges (open mesh edges) (default False) + + :type: bool + + .. attribute:: select_by_collection + + Select feature edges based on a collection of objects (default False) + + :type: bool + + .. attribute:: select_by_edge_types + + Select feature edges based on edge types (default False) + + :type: bool + + .. attribute:: select_by_face_marks + + Select feature edges by face marks (default False) + + :type: bool + + .. attribute:: select_by_image_border + + Select feature edges by image border (less memory consumption) (default False) + + :type: bool + + .. attribute:: select_by_visibility + + Select feature edges based on visibility (default False) + + :type: bool + + .. attribute:: select_contour + + Select contours (outer silhouettes of each object) (default False) + + :type: bool + + .. attribute:: select_crease + + Select crease edges (those between two faces making an angle smaller than the Crease Angle) (default False) + + :type: bool + + .. attribute:: select_edge_mark + + Select edge marks (edges annotated by Freestyle edge marks) (default False) + + :type: bool + + .. attribute:: select_external_contour + + Select external contours (outer silhouettes of occluding and occluded objects) (default False) + + :type: bool + + .. attribute:: select_material_boundary + + Select edges at material boundaries (default False) + + :type: bool + + .. attribute:: select_ridge_valley + + Select ridges and valleys (boundary lines between convex and concave areas of surface) (default False) + + :type: bool + + .. attribute:: select_silhouette + + Select silhouettes (edges at the boundary of visible and hidden faces) (default False) + + :type: bool + + .. attribute:: select_suggestive_contour + + Select suggestive contours (almost silhouette/contour edges) (default False) + + :type: bool + + .. attribute:: show_render + + Enable or disable this line set during stroke rendering (default False) + + :type: bool + + .. attribute:: visibility + + Determine how to use visibility for feature edge selection (default ``'VISIBLE'``) + + - ``VISIBLE`` + Visible -- Select visible feature edges. + - ``HIDDEN`` + Hidden -- Select hidden feature edges. + - ``RANGE`` + Quantitative Invisibility -- Select feature edges within a range of quantitative invisibility (QI) values. + + :type: Literal['VISIBLE', 'HIDDEN', 'RANGE'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Linesets.active` + - :class:`Linesets.new` + - :class:`Linesets.remove` + - :class:`FreestyleSettings.linesets` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleLineStyle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleLineStyle.rst new file mode 100644 index 0000000..552e237 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleLineStyle.rst @@ -0,0 +1,505 @@ +FreestyleLineStyle(ID) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: FreestyleLineStyle(ID) + + Freestyle line style, reusable by multiple line sets + + .. attribute:: active_texture + + Active texture slot being displayed + + :type: :class:`Texture` | None + + .. attribute:: active_texture_index + + Index of active texture slot (in [0, 17], default 0) + + :type: int + + .. attribute:: alpha + + Base alpha transparency, possibly modified by alpha transparency modifiers (in [0, 1], default 1.0) + + :type: float + + .. data:: alpha_modifiers + + List of alpha transparency modifiers (default None, readonly) + + :type: :class:`LineStyleAlphaModifiers`\ [:class:`LineStyleAlphaModifier`] + + .. attribute:: angle_max + + Maximum 2D angle for splitting chains (in [0, 3.14159], default 0.0) + + :type: float + + .. attribute:: angle_min + + Minimum 2D angle for splitting chains (in [0, 3.14159], default 0.0) + + :type: float + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: caps + + Select the shape of both ends of strokes (default ``'BUTT'``) + + - ``BUTT`` + Butt -- Butt cap (flat). + - ``ROUND`` + Round -- Round cap (half-circle). + - ``SQUARE`` + Square -- Square cap (flat and extended). + + :type: Literal['BUTT', 'ROUND', 'SQUARE'] + + .. attribute:: chain_count + + Chain count for the selection of first N chains (in [0, inf], default 10) + + :type: int + + .. attribute:: chaining + + Select the way how feature edges are jointed to form chains (default ``'PLAIN'``) + + - ``PLAIN`` + Plain -- Plain chaining. + - ``SKETCHY`` + Sketchy -- Sketchy chaining with a multiple touch. + + :type: Literal['PLAIN', 'SKETCHY'] + + .. attribute:: color + + Base line color, possibly modified by line color modifiers (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: color_modifiers + + List of line color modifiers (default None, readonly) + + :type: :class:`LineStyleColorModifiers`\ [:class:`LineStyleColorModifier`] + + .. attribute:: dash1 + + Length of the 1st dash for dashed lines (in [0, 65535], default 0) + + :type: int + + .. attribute:: dash2 + + Length of the 2nd dash for dashed lines (in [0, 65535], default 0) + + :type: int + + .. attribute:: dash3 + + Length of the 3rd dash for dashed lines (in [0, 65535], default 0) + + :type: int + + .. attribute:: gap1 + + Length of the 1st gap for dashed lines (in [0, 65535], default 0) + + :type: int + + .. attribute:: gap2 + + Length of the 2nd gap for dashed lines (in [0, 65535], default 0) + + :type: int + + .. attribute:: gap3 + + Length of the 3rd gap for dashed lines (in [0, 65535], default 0) + + :type: int + + .. data:: geometry_modifiers + + List of stroke geometry modifiers (default None, readonly) + + :type: :class:`LineStyleGeometryModifiers`\ [:class:`LineStyleGeometryModifier`] + + .. attribute:: integration_type + + Select the way how the sort key is computed for each chain (default ``'MEAN'``) + + - ``MEAN`` + Mean -- The value computed for the chain is the mean of the values obtained for chain vertices. + - ``MIN`` + Min -- The value computed for the chain is the minimum of the values obtained for chain vertices. + - ``MAX`` + Max -- The value computed for the chain is the maximum of the values obtained for chain vertices. + - ``FIRST`` + First -- The value computed for the chain is the value obtained for the first chain vertex. + - ``LAST`` + Last -- The value computed for the chain is the value obtained for the last chain vertex. + + :type: Literal['MEAN', 'MIN', 'MAX', 'FIRST', 'LAST'] + + .. attribute:: length_max + + Maximum curvilinear 2D length for the selection of chains (in [0, 10000], default 10000.0) + + :type: float + + .. attribute:: length_min + + Minimum curvilinear 2D length for the selection of chains (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: material_boundary + + If true, chains of feature edges are split at material boundaries (default False) + + :type: bool + + .. data:: node_tree + + Node tree for node-based shaders (readonly) + + :type: :class:`NodeTree` | None + + .. attribute:: panel + + Select the property panel to be shown (default ``'STROKES'``) + + - ``STROKES`` + Strokes -- Show the panel for stroke construction. + - ``COLOR`` + Color -- Show the panel for line color options. + - ``ALPHA`` + Alpha -- Show the panel for alpha transparency options. + - ``THICKNESS`` + Thickness -- Show the panel for line thickness options. + - ``GEOMETRY`` + Geometry -- Show the panel for stroke geometry options. + - ``TEXTURE`` + Texture -- Show the panel for stroke texture options. + + :type: Literal['STROKES', 'COLOR', 'ALPHA', 'THICKNESS', 'GEOMETRY', 'TEXTURE'] + + .. attribute:: rounds + + Number of rounds in a sketchy multiple touch (in [1, 1000], default 3) + + :type: int + + .. attribute:: sort_key + + Select the sort key to determine the stacking order of chains (default ``'DISTANCE_FROM_CAMERA'``) + + - ``DISTANCE_FROM_CAMERA`` + Distance from Camera -- Sort by distance from camera (closer lines lie on top of further lines). + - ``2D_LENGTH`` + 2D Length -- Sort by curvilinear 2D length (longer lines lie on top of shorter lines). + - ``PROJECTED_X`` + Projected X -- Sort by the projected X value in the image coordinate system. + - ``PROJECTED_Y`` + Projected Y -- Sort by the projected Y value in the image coordinate system. + + :type: Literal['DISTANCE_FROM_CAMERA', '2D_LENGTH', 'PROJECTED_X', 'PROJECTED_Y'] + + .. attribute:: sort_order + + Select the sort order (default ``'DEFAULT'``) + + - ``DEFAULT`` + Default -- Default order of the sort key. + - ``REVERSE`` + Reverse -- Reverse order. + + :type: Literal['DEFAULT', 'REVERSE'] + + .. attribute:: split_dash1 + + Length of the 1st dash for splitting (in [0, 65535], default 0) + + :type: int + + .. attribute:: split_dash2 + + Length of the 2nd dash for splitting (in [0, 65535], default 0) + + :type: int + + .. attribute:: split_dash3 + + Length of the 3rd dash for splitting (in [0, 65535], default 0) + + :type: int + + .. attribute:: split_gap1 + + Length of the 1st gap for splitting (in [0, 65535], default 0) + + :type: int + + .. attribute:: split_gap2 + + Length of the 2nd gap for splitting (in [0, 65535], default 0) + + :type: int + + .. attribute:: split_gap3 + + Length of the 3rd gap for splitting (in [0, 65535], default 0) + + :type: int + + .. attribute:: split_length + + Curvilinear 2D length for chain splitting (in [0, 10000], default 100.0) + + :type: float + + .. data:: texture_slots + + Texture slots defining the mapping and influence of textures (default None, readonly) + + :type: :class:`LineStyleTextureSlots`\ [:class:`LineStyleTextureSlot`] + + .. attribute:: texture_spacing + + Spacing for textures along stroke length (in [0.01, 100], default 1.0) + + :type: float + + .. attribute:: thickness + + Base line thickness, possibly modified by line thickness modifiers (in [0, 10000], default 3.0) + + :type: float + + .. data:: thickness_modifiers + + List of line thickness modifiers (default None, readonly) + + :type: :class:`LineStyleThicknessModifiers`\ [:class:`LineStyleThicknessModifier`] + + .. attribute:: thickness_position + + Thickness position of silhouettes and border edges (applicable when plain chaining is used with the Same Object option) (default ``'CENTER'``) + + - ``CENTER`` + Center -- Silhouettes and border edges are centered along stroke geometry. + - ``INSIDE`` + Inside -- Silhouettes and border edges are drawn inside of stroke geometry. + - ``OUTSIDE`` + Outside -- Silhouettes and border edges are drawn outside of stroke geometry. + - ``RELATIVE`` + Relative -- Silhouettes and border edges are shifted by a user-defined ratio. + + :type: Literal['CENTER', 'INSIDE', 'OUTSIDE', 'RELATIVE'] + + .. attribute:: thickness_ratio + + A number between 0 (inside) and 1 (outside) specifying the relative position of stroke thickness (in [0, 1], default 0.5) + + :type: float + + .. attribute:: use_angle_max + + Split chains at points with angles larger than the maximum 2D angle (default False) + + :type: bool + + .. attribute:: use_angle_min + + Split chains at points with angles smaller than the minimum 2D angle (default False) + + :type: bool + + .. attribute:: use_chain_count + + Enable the selection of first N chains (default False) + + :type: bool + + .. attribute:: use_chaining + + Enable chaining of feature edges (default True) + + :type: bool + + .. attribute:: use_dashed_line + + Enable or disable dashed line (default False) + + :type: bool + + .. attribute:: use_length_max + + Enable the selection of chains by a maximum 2D length (default False) + + :type: bool + + .. attribute:: use_length_min + + Enable the selection of chains by a minimum 2D length (default False) + + :type: bool + + .. attribute:: use_nodes + + Use shader nodes for the line style (default False) + + :type: bool + + .. attribute:: use_same_object + + If true, only feature edges of the same object are joined (default True) + + :type: bool + + .. attribute:: use_sorting + + Arrange the stacking order of strokes (default False) + + :type: bool + + .. attribute:: use_split_length + + Enable chain splitting by curvilinear 2D length (default False) + + :type: bool + + .. attribute:: use_split_pattern + + Enable chain splitting by dashed line patterns (default False) + + :type: bool + + .. attribute:: use_texture + + Enable or disable textured strokes (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.line_style` + - :class:`BlendData.linestyles` + - :class:`BlendDataLineStyles.new` + - :class:`BlendDataLineStyles.remove` + - :class:`FreestyleLineSet.linestyle` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleModuleSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleModuleSettings.rst new file mode 100644 index 0000000..a3d0e7d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleModuleSettings.rst @@ -0,0 +1,92 @@ +FreestyleModuleSettings(bpy_struct) +=================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FreestyleModuleSettings(bpy_struct) + + Style module configuration for specifying a style module + + .. attribute:: script + + Python script to define a style module + + :type: :class:`Text` | None + + .. attribute:: use + + Enable or disable this style module during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleModules.new` + - :class:`FreestyleModules.remove` + - :class:`FreestyleSettings.modules` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleModules.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleModules.rst new file mode 100644 index 0000000..cc0ebee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleModules.rst @@ -0,0 +1,92 @@ +FreestyleModules(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: FreestyleModules(bpy_prop_collection) + + A list of style modules (to be applied from top to bottom) + + .. method:: new() + + Add a style module to scene render layer Freestyle settings + + :return: Newly created style module + :rtype: :class:`FreestyleModuleSettings` + + .. method:: remove(module) + + Remove a style module from scene render layer Freestyle settings + + :param module: Style module to remove (never None) + :type module: :class:`FreestyleModuleSettings` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleSettings.modules` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleSettings.rst new file mode 100644 index 0000000..3c17322 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FreestyleSettings.rst @@ -0,0 +1,161 @@ +FreestyleSettings(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: FreestyleSettings(bpy_struct) + + Freestyle settings for a ViewLayer data-block + + .. attribute:: as_render_pass + + Renders Freestyle output to a separate pass instead of overlaying it on the Combined pass (default False) + + :type: bool + + .. attribute:: crease_angle + + Angular threshold for detecting crease edges (in [0, 3.14159], default 0.0) + + :type: float + + .. attribute:: kr_derivative_epsilon + + Kr derivative epsilon for computing suggestive contours (in [-1000, 1000], default 0.0) + + :type: float + + .. data:: linesets + + (default None, readonly) + + :type: :class:`Linesets`\ [:class:`FreestyleLineSet`] + + .. attribute:: mode + + Select the Freestyle control mode (default ``'SCRIPT'``) + + - ``SCRIPT`` + Python Scripting -- Advanced mode for using style modules written in Python. + - ``EDITOR`` + Parameter Editor -- Basic mode for interactive style parameter editing. + + :type: Literal['SCRIPT', 'EDITOR'] + + .. data:: modules + + A list of style modules (to be applied from top to bottom) (default None, readonly) + + :type: :class:`FreestyleModules`\ [:class:`FreestyleModuleSettings`] + + .. attribute:: sphere_radius + + Sphere radius for computing curvatures (in [0, 1000], default 1.0) + + :type: float + + .. attribute:: use_culling + + If enabled, out-of-view edges are ignored (default False) + + :type: bool + + .. attribute:: use_material_boundaries + + Enable material boundaries (default False) + + :type: bool + + .. attribute:: use_ridges_and_valleys + + Enable ridges and valleys (default False) + + :type: bool + + .. attribute:: use_smoothness + + Take face smoothness into account in view map calculation (default False) + + :type: bool + + .. attribute:: use_suggestive_contours + + Enable suggestive contours (default False) + + :type: bool + + .. attribute:: use_view_map_cache + + Keep the computed view map and avoid recalculating it if mesh geometry is unchanged (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ViewLayer.freestyle_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Function.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Function.rst new file mode 100644 index 0000000..bca22ed --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Function.rst @@ -0,0 +1,120 @@ +Function(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Function(bpy_struct) + + RNA function definition + + .. data:: description + + Description of the Function's purpose (default "", readonly, never None) + + :type: str + + .. data:: identifier + + Unique name used in the code and scripting (default "", readonly, never None) + + :type: str + + .. data:: is_registered + + Function is registered as callback as part of type registration (default False, readonly) + + :type: bool + + .. data:: is_registered_optional + + Function is optionally registered as callback part of type registration (default False, readonly) + + :type: bool + + .. data:: parameters + + Parameters for the function (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Property`] + + .. data:: use_self + + Function does not pass itself as an argument (becomes a static method in Python) (default False, readonly) + + :type: bool + + .. data:: use_self_type + + Function passes itself type as an argument (becomes a class method in Python if use_self is false) (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Struct.functions` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNode.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNode.rst new file mode 100644 index 0000000..ccc9f28 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNode.rst @@ -0,0 +1,130 @@ +FunctionNode(NodeInternal) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +subclasses --- +:class:`FunctionNodeAlignEulerToVector`, :class:`FunctionNodeAlignRotationToVector`, :class:`FunctionNodeAxesToRotation`, :class:`FunctionNodeAxisAngleToRotation`, :class:`FunctionNodeBitMath`, :class:`FunctionNodeBooleanMath`, :class:`FunctionNodeCombineColor`, :class:`FunctionNodeCombineMatrix`, :class:`FunctionNodeCombineTransform`, :class:`FunctionNodeCompare`, :class:`FunctionNodeEulerToRotation`, :class:`FunctionNodeFindInString`, :class:`FunctionNodeFloatToInt`, :class:`FunctionNodeFormatString`, :class:`FunctionNodeHashValue`, :class:`FunctionNodeInputBool`, :class:`FunctionNodeInputColor`, :class:`FunctionNodeInputInt`, :class:`FunctionNodeInputRotation`, :class:`FunctionNodeInputSpecialCharacters`, :class:`FunctionNodeInputString`, :class:`FunctionNodeInputVector`, :class:`FunctionNodeIntegerMath`, :class:`FunctionNodeInvertMatrix`, :class:`FunctionNodeInvertRotation`, :class:`FunctionNodeMatchString`, :class:`FunctionNodeMatrixDeterminant`, :class:`FunctionNodeMatrixMultiply`, :class:`FunctionNodeMatrixSVD`, :class:`FunctionNodeProjectPoint`, :class:`FunctionNodeQuaternionToRotation`, :class:`FunctionNodeRandomValue`, :class:`FunctionNodeReplaceString`, :class:`FunctionNodeRotateEuler`, :class:`FunctionNodeRotateRotation`, :class:`FunctionNodeRotateVector`, :class:`FunctionNodeRotationToAxisAngle`, :class:`FunctionNodeRotationToEuler`, :class:`FunctionNodeRotationToQuaternion`, :class:`FunctionNodeSeparateColor`, :class:`FunctionNodeSeparateMatrix`, :class:`FunctionNodeSeparateTransform`, :class:`FunctionNodeSliceString`, :class:`FunctionNodeStringLength`, :class:`FunctionNodeStringToValue`, :class:`FunctionNodeTransformDirection`, :class:`FunctionNodeTransformPoint`, :class:`FunctionNodeTransposeMatrix`, :class:`FunctionNodeValueToString` + +.. class:: FunctionNode(NodeInternal) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAlignEulerToVector.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAlignEulerToVector.rst new file mode 100644 index 0000000..e315a65 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAlignEulerToVector.rst @@ -0,0 +1,183 @@ +FunctionNodeAlignEulerToVector(FunctionNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeAlignEulerToVector(FunctionNode) + + Orient an Euler rotation along the given direction + + .. attribute:: axis + + Axis to align to the vector (default ``'X'``) + + - ``X`` + X -- Align the X axis with the vector. + - ``Y`` + Y -- Align the Y axis with the vector. + - ``Z`` + Z -- Align the Z axis with the vector. + + :type: Literal['X', 'Y', 'Z'] + + .. attribute:: pivot_axis + + Axis to rotate around (default ``'AUTO'``) + + - ``AUTO`` + Auto -- Automatically detect the best rotation axis to rotate towards the vector. + - ``X`` + X -- Rotate around the local X axis. + - ``Y`` + Y -- Rotate around the local Y axis. + - ``Z`` + Z -- Rotate around the local Z axis. + + :type: Literal['AUTO', 'X', 'Y', 'Z'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAlignRotationToVector.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAlignRotationToVector.rst new file mode 100644 index 0000000..b56fe71 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAlignRotationToVector.rst @@ -0,0 +1,183 @@ +FunctionNodeAlignRotationToVector(FunctionNode) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeAlignRotationToVector(FunctionNode) + + Orient a rotation along the given direction + + .. attribute:: axis + + Axis to align to the vector (default ``'X'``) + + - ``X`` + X -- Align the X axis with the vector. + - ``Y`` + Y -- Align the Y axis with the vector. + - ``Z`` + Z -- Align the Z axis with the vector. + + :type: Literal['X', 'Y', 'Z'] + + .. attribute:: pivot_axis + + Axis to rotate around (default ``'AUTO'``) + + - ``AUTO`` + Auto -- Automatically detect the best rotation axis to rotate towards the vector. + - ``X`` + X -- Rotate around the local X axis. + - ``Y`` + Y -- Rotate around the local Y axis. + - ``Z`` + Z -- Rotate around the local Z axis. + + :type: Literal['AUTO', 'X', 'Y', 'Z'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAxesToRotation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAxesToRotation.rst new file mode 100644 index 0000000..d1956e0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAxesToRotation.rst @@ -0,0 +1,167 @@ +FunctionNodeAxesToRotation(FunctionNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeAxesToRotation(FunctionNode) + + Create a rotation from a primary and (ideally orthogonal) secondary axis + + .. attribute:: primary_axis + + Axis that is aligned exactly to the provided primary direction (default ``'X'``) + + :type: Literal['X', 'Y', 'Z'] + + .. attribute:: secondary_axis + + Axis that is aligned as well as possible given the alignment of the primary axis (default ``'X'``) + + :type: Literal['X', 'Y', 'Z'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAxisAngleToRotation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAxisAngleToRotation.rst new file mode 100644 index 0000000..466111d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeAxisAngleToRotation.rst @@ -0,0 +1,155 @@ +FunctionNodeAxisAngleToRotation(FunctionNode) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeAxisAngleToRotation(FunctionNode) + + Build a rotation from an axis and a rotation around that axis + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeBitMath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeBitMath.rst new file mode 100644 index 0000000..5f331ef --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeBitMath.rst @@ -0,0 +1,174 @@ +FunctionNodeBitMath(FunctionNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeBitMath(FunctionNode) + + Perform bitwise operations on 32-bit integers + + .. attribute:: operation + + (default ``'AND'``) + + - ``AND`` + And -- Returns a value where the bits of A and B are both set. + - ``OR`` + Or -- Returns a value where the bits of either A or B are set. + - ``XOR`` + Exclusive Or -- Returns a value where only one bit from A and B is set. + - ``NOT`` + Not -- Returns the opposite bit value of A, in decimal it is equivalent of A = -A - 1. + - ``SHIFT`` + Shift -- Shifts the bit values of A by the specified Shift amount. Positive values shift left, negative values shift right.. + - ``ROTATE`` + Rotate -- Rotates the bit values of A by the specified Shift amount. Positive values rotate left, negative values rotate right.. + + :type: Literal['AND', 'OR', 'XOR', 'NOT', 'SHIFT', 'ROTATE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeBooleanMath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeBooleanMath.rst new file mode 100644 index 0000000..5bd08f9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeBooleanMath.rst @@ -0,0 +1,161 @@ +FunctionNodeBooleanMath(FunctionNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeBooleanMath(FunctionNode) + + Perform a logical operation on the given boolean inputs + + .. attribute:: operation + + (default ``'AND'``) + + :type: Literal[:ref:`rna_enum_node_boolean_math_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCombineColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCombineColor.rst new file mode 100644 index 0000000..699c679 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCombineColor.rst @@ -0,0 +1,161 @@ +FunctionNodeCombineColor(FunctionNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeCombineColor(FunctionNode) + + Combine four channels into a single color, based on a particular color model + + .. attribute:: mode + + Mode of color processing (default ``'RGB'``) + + :type: Literal[:ref:`rna_enum_node_combsep_color_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCombineMatrix.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCombineMatrix.rst new file mode 100644 index 0000000..9fe741a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCombineMatrix.rst @@ -0,0 +1,155 @@ +FunctionNodeCombineMatrix(FunctionNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeCombineMatrix(FunctionNode) + + Construct a 4x4 matrix from its individual values + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCombineTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCombineTransform.rst new file mode 100644 index 0000000..e8b145c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCombineTransform.rst @@ -0,0 +1,155 @@ +FunctionNodeCombineTransform(FunctionNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeCombineTransform(FunctionNode) + + Combine a translation vector, a rotation, and a scale vector into a transformation matrix + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCompare.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCompare.rst new file mode 100644 index 0000000..a115a46 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeCompare.rst @@ -0,0 +1,184 @@ +FunctionNodeCompare(FunctionNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeCompare(FunctionNode) + + Perform a comparison operation on the two given inputs + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. attribute:: mode + + (default ``'ELEMENT'``) + + - ``ELEMENT`` + Element-Wise -- Compare each element of the input vectors. + - ``LENGTH`` + Length -- Compare the length of the input vectors. + - ``AVERAGE`` + Average -- Compare the average of the input vectors elements. + - ``DOT_PRODUCT`` + Dot Product -- Compare the dot products of the input vectors. + - ``DIRECTION`` + Direction -- Compare the direction of the input vectors. + + :type: Literal['ELEMENT', 'LENGTH', 'AVERAGE', 'DOT_PRODUCT', 'DIRECTION'] + + .. attribute:: operation + + (default ``'EQUAL'``) + + :type: Literal[:ref:`rna_enum_node_compare_operation_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeEulerToRotation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeEulerToRotation.rst new file mode 100644 index 0000000..6d8dcf9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeEulerToRotation.rst @@ -0,0 +1,155 @@ +FunctionNodeEulerToRotation(FunctionNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeEulerToRotation(FunctionNode) + + Build a rotation from separate angles around each axis + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeFindInString.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeFindInString.rst new file mode 100644 index 0000000..2515821 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeFindInString.rst @@ -0,0 +1,155 @@ +FunctionNodeFindInString(FunctionNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeFindInString(FunctionNode) + + Find the number of times a given string occurs in another string and the position of the first match + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeFloatToInt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeFloatToInt.rst new file mode 100644 index 0000000..f0cfe61 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeFloatToInt.rst @@ -0,0 +1,161 @@ +FunctionNodeFloatToInt(FunctionNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeFloatToInt(FunctionNode) + + Convert the given floating-point number to an integer, with a choice of methods + + .. attribute:: rounding_mode + + Method used to convert the float to an integer (default ``'ROUND'``) + + :type: Literal[:ref:`rna_enum_node_float_to_int_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeFormatString.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeFormatString.rst new file mode 100644 index 0000000..eaae5f9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeFormatString.rst @@ -0,0 +1,167 @@ +FunctionNodeFormatString(FunctionNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeFormatString(FunctionNode) + + Insert values into a string using a Python and path template compatible formatting syntax + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. data:: format_items + + (default None, readonly) + + :type: :class:`NodeFunctionFormatStringItems`\ [:class:`NodeFunctionFormatStringItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeHashValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeHashValue.rst new file mode 100644 index 0000000..f897f73 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeHashValue.rst @@ -0,0 +1,161 @@ +FunctionNodeHashValue(FunctionNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeHashValue(FunctionNode) + + Generate a randomized integer using the given input value as a seed + + .. attribute:: data_type + + (default ``'INT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputBool.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputBool.rst new file mode 100644 index 0000000..81a0867 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputBool.rst @@ -0,0 +1,161 @@ +FunctionNodeInputBool(FunctionNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeInputBool(FunctionNode) + + Provide a True/False value that can be connected to other nodes in the tree + + .. attribute:: boolean + + Input value used for unconnected socket (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputColor.rst new file mode 100644 index 0000000..1a99c1b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputColor.rst @@ -0,0 +1,161 @@ +FunctionNodeInputColor(FunctionNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeInputColor(FunctionNode) + + Output a color value chosen with the color picker widget + + .. attribute:: value + + (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputInt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputInt.rst new file mode 100644 index 0000000..c1b5125 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputInt.rst @@ -0,0 +1,161 @@ +FunctionNodeInputInt(FunctionNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeInputInt(FunctionNode) + + Provide an integer value that can be connected to other nodes in the tree + + .. attribute:: integer + + Input value used for unconnected socket (in [-inf, inf], default 1) + + :type: int + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputRotation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputRotation.rst new file mode 100644 index 0000000..b656b2d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputRotation.rst @@ -0,0 +1,161 @@ +FunctionNodeInputRotation(FunctionNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeInputRotation(FunctionNode) + + Provide a rotation value that can be connected to other nodes in the tree + + .. attribute:: rotation_euler + + Input value used for unconnected socket (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputSpecialCharacters.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputSpecialCharacters.rst new file mode 100644 index 0000000..67a686c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputSpecialCharacters.rst @@ -0,0 +1,155 @@ +FunctionNodeInputSpecialCharacters(FunctionNode) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeInputSpecialCharacters(FunctionNode) + + Output string characters that cannot be typed directly with the keyboard + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputString.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputString.rst new file mode 100644 index 0000000..445daf8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputString.rst @@ -0,0 +1,161 @@ +FunctionNodeInputString(FunctionNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeInputString(FunctionNode) + + Provide a string value that can be connected to other nodes in the tree + + .. attribute:: string + + (default "", never None) + + :type: str + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputVector.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputVector.rst new file mode 100644 index 0000000..922e091 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInputVector.rst @@ -0,0 +1,161 @@ +FunctionNodeInputVector(FunctionNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeInputVector(FunctionNode) + + Provide a vector value that can be connected to other nodes in the tree + + .. attribute:: vector + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeIntegerMath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeIntegerMath.rst new file mode 100644 index 0000000..441df53 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeIntegerMath.rst @@ -0,0 +1,161 @@ +FunctionNodeIntegerMath(FunctionNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeIntegerMath(FunctionNode) + + Perform various math operations on the given integer inputs + + .. attribute:: operation + + (default ``'ADD'``) + + :type: Literal[:ref:`rna_enum_node_integer_math_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInvertMatrix.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInvertMatrix.rst new file mode 100644 index 0000000..179b0a1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInvertMatrix.rst @@ -0,0 +1,155 @@ +FunctionNodeInvertMatrix(FunctionNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeInvertMatrix(FunctionNode) + + Compute the inverse of the given matrix, if one exists + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInvertRotation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInvertRotation.rst new file mode 100644 index 0000000..bb38a40 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeInvertRotation.rst @@ -0,0 +1,155 @@ +FunctionNodeInvertRotation(FunctionNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeInvertRotation(FunctionNode) + + Compute the inverse of the given rotation + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatchString.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatchString.rst new file mode 100644 index 0000000..d3164fe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatchString.rst @@ -0,0 +1,155 @@ +FunctionNodeMatchString(FunctionNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeMatchString(FunctionNode) + + Check if a given string exists within another string + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatrixDeterminant.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatrixDeterminant.rst new file mode 100644 index 0000000..e887bfa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatrixDeterminant.rst @@ -0,0 +1,155 @@ +FunctionNodeMatrixDeterminant(FunctionNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeMatrixDeterminant(FunctionNode) + + Compute the determinant of the given matrix + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatrixMultiply.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatrixMultiply.rst new file mode 100644 index 0000000..d5b5222 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatrixMultiply.rst @@ -0,0 +1,155 @@ +FunctionNodeMatrixMultiply(FunctionNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeMatrixMultiply(FunctionNode) + + Perform a matrix multiplication on two input matrices + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatrixSVD.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatrixSVD.rst new file mode 100644 index 0000000..b2aad14 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeMatrixSVD.rst @@ -0,0 +1,155 @@ +FunctionNodeMatrixSVD(FunctionNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeMatrixSVD(FunctionNode) + + Compute the singular value decomposition of the 3x3 part of a matrix + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeProjectPoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeProjectPoint.rst new file mode 100644 index 0000000..c939126 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeProjectPoint.rst @@ -0,0 +1,155 @@ +FunctionNodeProjectPoint(FunctionNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeProjectPoint(FunctionNode) + + Project a point using a matrix, using location, rotation, scale, and perspective divide + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeQuaternionToRotation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeQuaternionToRotation.rst new file mode 100644 index 0000000..8e277db --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeQuaternionToRotation.rst @@ -0,0 +1,155 @@ +FunctionNodeQuaternionToRotation(FunctionNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeQuaternionToRotation(FunctionNode) + + Build a rotation from quaternion components + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRandomValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRandomValue.rst new file mode 100644 index 0000000..eead731 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRandomValue.rst @@ -0,0 +1,161 @@ +FunctionNodeRandomValue(FunctionNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeRandomValue(FunctionNode) + + Output a randomized value + + .. attribute:: data_type + + Type of data stored in attribute (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeReplaceString.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeReplaceString.rst new file mode 100644 index 0000000..90a9542 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeReplaceString.rst @@ -0,0 +1,155 @@ +FunctionNodeReplaceString(FunctionNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeReplaceString(FunctionNode) + + Replace a given string segment with another + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotateEuler.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotateEuler.rst new file mode 100644 index 0000000..39c9a34 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotateEuler.rst @@ -0,0 +1,177 @@ +FunctionNodeRotateEuler(FunctionNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeRotateEuler(FunctionNode) + + Apply a secondary Euler rotation to a given Euler rotation + + .. attribute:: rotation_type + + Method used to describe the rotation (default ``'EULER'``) + + - ``AXIS_ANGLE`` + Axis Angle -- Rotate around an axis by an angle. + - ``EULER`` + Euler -- Rotate around the X, Y, and Z axes. + + :type: Literal['AXIS_ANGLE', 'EULER'] + + .. attribute:: space + + Base orientation for rotation (default ``'OBJECT'``) + + - ``OBJECT`` + Object -- Rotate the input rotation in the local space of the object. + - ``LOCAL`` + Local -- Rotate the input rotation in its local space. + + :type: Literal['OBJECT', 'LOCAL'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotateRotation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotateRotation.rst new file mode 100644 index 0000000..079fc93 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotateRotation.rst @@ -0,0 +1,166 @@ +FunctionNodeRotateRotation(FunctionNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeRotateRotation(FunctionNode) + + Apply a secondary rotation to a given rotation value + + .. attribute:: rotation_space + + Base orientation for the rotation (default ``'GLOBAL'``) + + - ``GLOBAL`` + Global -- Rotate the input rotation in global space. + - ``LOCAL`` + Local -- Rotate the input rotation in its local space. + + :type: Literal['GLOBAL', 'LOCAL'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotateVector.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotateVector.rst new file mode 100644 index 0000000..84f7419 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotateVector.rst @@ -0,0 +1,155 @@ +FunctionNodeRotateVector(FunctionNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeRotateVector(FunctionNode) + + Apply a rotation to a given vector + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotationToAxisAngle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotationToAxisAngle.rst new file mode 100644 index 0000000..dd766b2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotationToAxisAngle.rst @@ -0,0 +1,155 @@ +FunctionNodeRotationToAxisAngle(FunctionNode) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeRotationToAxisAngle(FunctionNode) + + Convert a rotation to axis angle components + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotationToEuler.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotationToEuler.rst new file mode 100644 index 0000000..d35c13b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotationToEuler.rst @@ -0,0 +1,155 @@ +FunctionNodeRotationToEuler(FunctionNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeRotationToEuler(FunctionNode) + + Convert a standard rotation value to an Euler rotation + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotationToQuaternion.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotationToQuaternion.rst new file mode 100644 index 0000000..c04d292 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeRotationToQuaternion.rst @@ -0,0 +1,155 @@ +FunctionNodeRotationToQuaternion(FunctionNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeRotationToQuaternion(FunctionNode) + + Retrieve the quaternion components representing a rotation + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSeparateColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSeparateColor.rst new file mode 100644 index 0000000..0d6bc7e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSeparateColor.rst @@ -0,0 +1,161 @@ +FunctionNodeSeparateColor(FunctionNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeSeparateColor(FunctionNode) + + Split a color into separate channels, based on a particular color model + + .. attribute:: mode + + Mode of color processing (default ``'RGB'``) + + :type: Literal[:ref:`rna_enum_node_combsep_color_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSeparateMatrix.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSeparateMatrix.rst new file mode 100644 index 0000000..aa2ae23 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSeparateMatrix.rst @@ -0,0 +1,155 @@ +FunctionNodeSeparateMatrix(FunctionNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeSeparateMatrix(FunctionNode) + + Split a 4x4 matrix into its individual values + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSeparateTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSeparateTransform.rst new file mode 100644 index 0000000..a5d2c58 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSeparateTransform.rst @@ -0,0 +1,155 @@ +FunctionNodeSeparateTransform(FunctionNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeSeparateTransform(FunctionNode) + + Split a transformation matrix into a translation vector, a rotation, and a scale vector + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSliceString.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSliceString.rst new file mode 100644 index 0000000..dffd874 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeSliceString.rst @@ -0,0 +1,155 @@ +FunctionNodeSliceString(FunctionNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeSliceString(FunctionNode) + + Extract a string segment from a larger string + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeStringLength.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeStringLength.rst new file mode 100644 index 0000000..bdee18b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeStringLength.rst @@ -0,0 +1,155 @@ +FunctionNodeStringLength(FunctionNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeStringLength(FunctionNode) + + Output the number of characters in the given string + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeStringToValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeStringToValue.rst new file mode 100644 index 0000000..2ec8202 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeStringToValue.rst @@ -0,0 +1,166 @@ +FunctionNodeStringToValue(FunctionNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeStringToValue(FunctionNode) + + Derive a numeric value from a given string representation + + .. attribute:: data_type + + (default ``'FLOAT'``) + + - ``FLOAT`` + Float -- Floating-point value. + - ``INT`` + Integer -- 32-bit integer. + + :type: Literal['FLOAT', 'INT'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeTransformDirection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeTransformDirection.rst new file mode 100644 index 0000000..2ef598d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeTransformDirection.rst @@ -0,0 +1,155 @@ +FunctionNodeTransformDirection(FunctionNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeTransformDirection(FunctionNode) + + Apply a transformation matrix (excluding translation) to the given vector + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeTransformPoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeTransformPoint.rst new file mode 100644 index 0000000..d492bd3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeTransformPoint.rst @@ -0,0 +1,155 @@ +FunctionNodeTransformPoint(FunctionNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeTransformPoint(FunctionNode) + + Apply a transformation matrix to the given vector + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeTransposeMatrix.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeTransposeMatrix.rst new file mode 100644 index 0000000..fbe5dc4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeTransposeMatrix.rst @@ -0,0 +1,155 @@ +FunctionNodeTransposeMatrix(FunctionNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeTransposeMatrix(FunctionNode) + + Flip a matrix over its diagonal, turning columns into rows and vice-versa + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeValueToString.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeValueToString.rst new file mode 100644 index 0000000..964670b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.FunctionNodeValueToString.rst @@ -0,0 +1,166 @@ +FunctionNodeValueToString(FunctionNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`FunctionNode` + +.. class:: FunctionNodeValueToString(FunctionNode) + + Generate a string representation of the given input value + + .. attribute:: data_type + + (default ``'FLOAT'``) + + - ``FLOAT`` + Float -- Floating-point value. + - ``INT`` + Integer -- 32-bit integer. + + :type: Literal['FLOAT', 'INT'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`FunctionNode.bl_rna_get_subclass` + - :class:`FunctionNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPENCIL_UL_annotation_layer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPENCIL_UL_annotation_layer.rst new file mode 100644 index 0000000..4e88b1d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPENCIL_UL_annotation_layer.rst @@ -0,0 +1,92 @@ +GPENCIL_UL_annotation_layer(UIList) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: GPENCIL_UL_annotation_layer(UIList) + + + .. method:: draw_item(_context, layout, _data, item, _icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPENCIL_UL_matslots.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPENCIL_UL_matslots.rst new file mode 100644 index 0000000..97fcc5e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPENCIL_UL_matslots.rst @@ -0,0 +1,92 @@ +GPENCIL_UL_matslots(UIList) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: GPENCIL_UL_matslots(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPencilInterpolateSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPencilInterpolateSettings.rst new file mode 100644 index 0000000..37e32b9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPencilInterpolateSettings.rst @@ -0,0 +1,84 @@ +GPencilInterpolateSettings(bpy_struct) +====================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GPencilInterpolateSettings(bpy_struct) + + Settings for Grease Pencil interpolation tools + + .. data:: interpolation_curve + + Custom curve to control 'sequence' interpolation between Grease Pencil frames (readonly) + + :type: :class:`CurveMapping` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.gpencil_interpolate` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPencilSculptGuide.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPencilSculptGuide.rst new file mode 100644 index 0000000..593e313 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPencilSculptGuide.rst @@ -0,0 +1,150 @@ +GPencilSculptGuide(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GPencilSculptGuide(bpy_struct) + + Guides for drawing + + .. attribute:: angle + + Direction of lines (in [-6.28319, 6.28319], default 0.0) + + :type: float + + .. attribute:: angle_snap + + Angle snapping (in [-6.28319, 6.28319], default 0.0) + + :type: float + + .. attribute:: location + + Custom reference point for guides (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: reference_object + + Object used for reference point + + :type: :class:`Object` | None + + .. attribute:: reference_point + + Type of speed guide (default ``'CURSOR'``) + + - ``CURSOR`` + Cursor -- Use cursor as reference point. + - ``CUSTOM`` + Custom -- Use custom reference point. + - ``OBJECT`` + Object -- Use object as reference point. + + :type: Literal['CURSOR', 'CUSTOM', 'OBJECT'] + + .. attribute:: spacing + + Guide spacing (in [0, inf], default 20.0) + + :type: float + + .. attribute:: type + + Type of speed guide (default ``'CIRCULAR'``) + + - ``CIRCULAR`` + Circular -- Use single point to create rings. + - ``RADIAL`` + Radial -- Use single point as direction. + - ``PARALLEL`` + Parallel -- Parallel lines. + - ``GRID`` + Grid -- Grid allows horizontal and vertical lines. + - ``ISO`` + Isometric -- Grid allows isometric and vertical lines. + + :type: Literal['CIRCULAR', 'RADIAL', 'PARALLEL', 'GRID', 'ISO'] + + .. attribute:: use_guide + + Enable speed guides (default False) + + :type: bool + + .. attribute:: use_snapping + + Enable snapping to guides angle or spacing options (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GPencilSculptSettings.guide` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPencilSculptSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPencilSculptSettings.rst new file mode 100644 index 0000000..3a8558f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GPencilSculptSettings.rst @@ -0,0 +1,167 @@ +GPencilSculptSettings(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GPencilSculptSettings(bpy_struct) + + General properties for Grease Pencil stroke sculpting tools + + .. data:: guide + + (readonly) + + :type: :class:`GPencilSculptGuide` | None + + .. attribute:: intersection_threshold + + Threshold for stroke intersections (in [0, 10], default 0.1) + + :type: float + + .. attribute:: lock_axis + + (default ``'VIEW'``) + + - ``VIEW`` + View -- Align strokes to current view plane. + - ``AXIS_Y`` + Front (X-Z) -- Project strokes to plane locked to Y. + - ``AXIS_X`` + Side (Y-Z) -- Project strokes to plane locked to X. + - ``AXIS_Z`` + Top (X-Y) -- Project strokes to plane locked to Z. + - ``CURSOR`` + Cursor -- Align strokes to current 3D cursor orientation. + + :type: Literal['VIEW', 'AXIS_Y', 'AXIS_X', 'AXIS_Z', 'CURSOR'] + + .. data:: multiframe_falloff_curve + + Custom curve to control falloff of brush effect by Grease Pencil frames (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: thickness_primitive_curve + + Custom curve to control primitive thickness (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: use_automasking_layer_active + + Affect only the Active Layer (default False) + + :type: bool + + .. attribute:: use_automasking_layer_stroke + + Affect only strokes below the cursor (default False) + + :type: bool + + .. attribute:: use_automasking_material_active + + Affect only the Active Material (default False) + + :type: bool + + .. attribute:: use_automasking_material_stroke + + Affect only strokes below the cursor (default False) + + :type: bool + + .. attribute:: use_automasking_stroke + + Affect only strokes below the cursor (default False) + + :type: bool + + .. attribute:: use_multiframe_falloff + + Use falloff effect when edit in multiframe mode to compute brush effect by frame (default False) + + :type: bool + + .. attribute:: use_scale_thickness + + Scale the stroke thickness when transforming strokes (default False) + + :type: bool + + .. attribute:: use_thickness_curve + + Use curve to define primitive stroke thickness (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.gpencil_sculpt` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GREASE_PENCIL_UL_attributes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GREASE_PENCIL_UL_attributes.rst new file mode 100644 index 0000000..a94e651 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GREASE_PENCIL_UL_attributes.rst @@ -0,0 +1,94 @@ +GREASE_PENCIL_UL_attributes(UIList) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: GREASE_PENCIL_UL_attributes(UIList) + + + .. method:: draw_item(_context, layout, _data, attribute, _icon, _active_data, _active_propname, _index) + + .. method:: filter_items(_context, data, property) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GREASE_PENCIL_UL_masks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GREASE_PENCIL_UL_masks.rst new file mode 100644 index 0000000..3b8f93f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GREASE_PENCIL_UL_masks.rst @@ -0,0 +1,92 @@ +GREASE_PENCIL_UL_masks(UIList) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: GREASE_PENCIL_UL_masks(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GammaCrossStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GammaCrossStrip.rst new file mode 100644 index 0000000..883bddc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GammaCrossStrip.rst @@ -0,0 +1,144 @@ +GammaCrossStrip(EffectStrip) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: GammaCrossStrip(EffectStrip) + + Gamma Crossfade Strip + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. attribute:: input_2 + + Second input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GaussianBlurStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GaussianBlurStrip.rst new file mode 100644 index 0000000..a4912cb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GaussianBlurStrip.rst @@ -0,0 +1,150 @@ +GaussianBlurStrip(EffectStrip) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: GaussianBlurStrip(EffectStrip) + + Sequence strip creating a gaussian blur + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: size_x + + Size of the blur along X axis (in [0, inf], default 0.0) + + :type: float + + .. attribute:: size_y + + Size of the blur along Y axis (in [0, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryAttributeConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryAttributeConstraint.rst new file mode 100644 index 0000000..7fdbcc6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryAttributeConstraint.rst @@ -0,0 +1,165 @@ +GeometryAttributeConstraint(Constraint) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: GeometryAttributeConstraint(Constraint) + + Create a constraint-based relationship with an attribute from geometry + + .. attribute:: apply_target_transform + + Apply the target object's world transform on top of the attribute's transform (default False) + + :type: bool + + .. attribute:: attribute_name + + Name of the attribute to retrieve the transform from (default "", never None) + + :type: str + + .. attribute:: data_type + + Select data type of attribute (default ``'VECTOR'``) + + - ``VECTOR`` + Vector -- Vector data type, affects position. + - ``QUATERNION`` + Quaternion -- Quaternion data type, affects rotation. + - ``FLOAT4X4`` + 4x4 Matrix -- 4x4 Matrix data type, affects transform. + + :type: Literal['VECTOR', 'QUATERNION', 'FLOAT4X4'] + + .. attribute:: domain + + Attribute domain (default ``'POINT'``) + + :type: Literal['POINT', 'EDGE', 'FACE', 'FACE_CORNER', 'CURVE', 'INSTANCE'] + + .. attribute:: mix_loc + + Mix Location (default False) + + :type: bool + + .. attribute:: mix_mode + + Specify how the copied and existing transformations are combined (default ``'REPLACE'``) + + - ``REPLACE`` + Replace -- Replace the original transformation with the transform from the attribute. + - ``BEFORE_FULL`` + Before Original (Full) -- Apply copied transformation before original, using simple matrix multiplication as if the constraint target is a parent in Full Inherit Scale mode. Will create shear when combining rotation and non-uniform scale.. + - ``BEFORE_SPLIT`` + Before Original (Split Channels) -- Apply copied transformation before original, handling location, rotation and scale separately, similar to a sequence of three Copy constraints. + - ``AFTER_FULL`` + After Original (Full) -- Apply copied transformation after original, using simple matrix multiplication as if the constraint target is a child in Full Inherit Scale mode. Will create shear when combining rotation and non-uniform scale.. + - ``AFTER_SPLIT`` + After Original (Split Channels) -- Apply copied transformation after original, handling location, rotation and scale separately, similar to a sequence of three Copy constraints. + + :type: Literal['REPLACE', 'BEFORE_FULL', 'BEFORE_SPLIT', 'AFTER_FULL', 'AFTER_SPLIT'] + + .. attribute:: mix_rot + + Mix Rotation (default False) + + :type: bool + + .. attribute:: mix_scl + + Mix Scale (default False) + + :type: bool + + .. attribute:: sample_index + + Sample Index (in [0, inf], default 0) + + :type: int + + .. attribute:: target + + Target geometry object + + :type: :class:`Object` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNode.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNode.rst new file mode 100644 index 0000000..bb85aa4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNode.rst @@ -0,0 +1,130 @@ +GeometryNode(NodeInternal) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +subclasses --- +:class:`GeometryNodeAccumulateField`, :class:`GeometryNodeAttributeDomainSize`, :class:`GeometryNodeAttributeStatistic`, :class:`GeometryNodeBake`, :class:`GeometryNodeBlurAttribute`, :class:`GeometryNodeBoneInfo`, :class:`GeometryNodeBoundBox`, :class:`GeometryNodeCameraInfo`, :class:`GeometryNodeCaptureAttribute`, :class:`GeometryNodeCollectionInfo`, :class:`GeometryNodeConvexHull`, :class:`GeometryNodeCornersOfEdge`, :class:`GeometryNodeCornersOfFace`, :class:`GeometryNodeCornersOfVertex`, :class:`GeometryNodeCubeGridTopology`, :class:`GeometryNodeCurveArc`, :class:`GeometryNodeCurveEndpointSelection`, :class:`GeometryNodeCurveHandleTypeSelection`, :class:`GeometryNodeCurveLength`, :class:`GeometryNodeCurveOfPoint`, :class:`GeometryNodeCurvePrimitiveBezierSegment`, :class:`GeometryNodeCurvePrimitiveCircle`, :class:`GeometryNodeCurvePrimitiveLine`, :class:`GeometryNodeCurvePrimitiveQuadrilateral`, :class:`GeometryNodeCurveQuadraticBezier`, :class:`GeometryNodeCurveSetHandles`, :class:`GeometryNodeCurveSpiral`, :class:`GeometryNodeCurveSplineType`, :class:`GeometryNodeCurveStar`, :class:`GeometryNodeCurveToMesh`, :class:`GeometryNodeCurveToPoints`, :class:`GeometryNodeCurvesToGreasePencil`, :class:`GeometryNodeCustomGroup`, :class:`GeometryNodeDeformCurvesOnSurface`, :class:`GeometryNodeDeleteGeometry`, :class:`GeometryNodeDistributePointsInGrid`, :class:`GeometryNodeDistributePointsInVolume`, :class:`GeometryNodeDistributePointsOnFaces`, :class:`GeometryNodeDualMesh`, :class:`GeometryNodeDuplicateElements`, :class:`GeometryNodeEdgePathsToCurves`, :class:`GeometryNodeEdgePathsToSelection`, :class:`GeometryNodeEdgesOfCorner`, :class:`GeometryNodeEdgesOfVertex`, :class:`GeometryNodeEdgesToFaceGroups`, :class:`GeometryNodeExtrudeMesh`, :class:`GeometryNodeFaceOfCorner`, :class:`GeometryNodeFieldAtIndex`, :class:`GeometryNodeFieldAverage`, :class:`GeometryNodeFieldMinAndMax`, :class:`GeometryNodeFieldOnDomain`, :class:`GeometryNodeFieldToGrid`, :class:`GeometryNodeFieldToList`, :class:`GeometryNodeFieldVariance`, :class:`GeometryNodeFillCurve`, :class:`GeometryNodeFilletCurve`, :class:`GeometryNodeFlipFaces`, :class:`GeometryNodeForeachGeometryElementInput`, :class:`GeometryNodeForeachGeometryElementOutput`, :class:`GeometryNodeGeometryToInstance`, :class:`GeometryNodeGetGeometryBundle`, :class:`GeometryNodeGetNamedGrid`, :class:`GeometryNodeGizmoDial`, :class:`GeometryNodeGizmoLinear`, :class:`GeometryNodeGizmoTransform`, :class:`GeometryNodeGreasePencilToCurves`, :class:`GeometryNodeGridAdvect`, :class:`GeometryNodeGridClip`, :class:`GeometryNodeGridCurl`, :class:`GeometryNodeGridDilateAndErode`, :class:`GeometryNodeGridDivergence`, :class:`GeometryNodeGridGradient`, :class:`GeometryNodeGridInfo`, :class:`GeometryNodeGridLaplacian`, :class:`GeometryNodeGridMean`, :class:`GeometryNodeGridMedian`, :class:`GeometryNodeGridPrune`, :class:`GeometryNodeGridToMesh`, :class:`GeometryNodeGridToPoints`, :class:`GeometryNodeGridVoxelize`, :class:`GeometryNodeGroup`, :class:`GeometryNodeImageInfo`, :class:`GeometryNodeImageTexture`, :class:`GeometryNodeImportCSV`, :class:`GeometryNodeImportOBJ`, :class:`GeometryNodeImportPLY`, :class:`GeometryNodeImportSTL`, :class:`GeometryNodeImportText`, :class:`GeometryNodeImportVDB`, :class:`GeometryNodeIndexOfNearest`, :class:`GeometryNodeIndexSwitch`, :class:`GeometryNodeInputActiveCamera`, :class:`GeometryNodeInputCollection`, :class:`GeometryNodeInputCurveHandlePositions`, :class:`GeometryNodeInputCurveTilt`, :class:`GeometryNodeInputEdgeSmooth`, :class:`GeometryNodeInputID`, :class:`GeometryNodeInputImage`, :class:`GeometryNodeInputIndex`, :class:`GeometryNodeInputInstanceBounds`, :class:`GeometryNodeInputInstanceRotation`, :class:`GeometryNodeInputInstanceScale`, :class:`GeometryNodeInputMaterial`, :class:`GeometryNodeInputMaterialIndex`, :class:`GeometryNodeInputMeshEdgeAngle`, :class:`GeometryNodeInputMeshEdgeNeighbors`, :class:`GeometryNodeInputMeshEdgeVertices`, :class:`GeometryNodeInputMeshFaceArea`, :class:`GeometryNodeInputMeshFaceIsPlanar`, :class:`GeometryNodeInputMeshFaceNeighbors`, :class:`GeometryNodeInputMeshIsland`, :class:`GeometryNodeInputMeshVertexNeighbors`, :class:`GeometryNodeInputNamedAttribute`, :class:`GeometryNodeInputNamedLayerSelection`, :class:`GeometryNodeInputNormal`, :class:`GeometryNodeInputObject`, :class:`GeometryNodeInputPosition`, :class:`GeometryNodeInputRadius`, :class:`GeometryNodeInputSceneTime`, :class:`GeometryNodeInputShadeSmooth`, :class:`GeometryNodeInputShortestEdgePaths`, :class:`GeometryNodeInputSplineCyclic`, :class:`GeometryNodeInputSplineResolution`, :class:`GeometryNodeInputTangent`, :class:`GeometryNodeInputVoxelIndex`, :class:`GeometryNodeInstanceOnPoints`, :class:`GeometryNodeInstanceTransform`, :class:`GeometryNodeInstancesToPoints`, :class:`GeometryNodeInterpolateCurves`, :class:`GeometryNodeIsViewport`, :class:`GeometryNodeJoinGeometry`, :class:`GeometryNodeListGetItem`, :class:`GeometryNodeListLength`, :class:`GeometryNodeMaterialSelection`, :class:`GeometryNodeMenuSwitch`, :class:`GeometryNodeMergeByDistance`, :class:`GeometryNodeMergeLayers`, :class:`GeometryNodeMeshBoolean`, :class:`GeometryNodeMeshCircle`, :class:`GeometryNodeMeshCone`, :class:`GeometryNodeMeshCube`, :class:`GeometryNodeMeshCylinder`, :class:`GeometryNodeMeshFaceSetBoundaries`, :class:`GeometryNodeMeshGrid`, :class:`GeometryNodeMeshIcoSphere`, :class:`GeometryNodeMeshLine`, :class:`GeometryNodeMeshToCurve`, :class:`GeometryNodeMeshToDensityGrid`, :class:`GeometryNodeMeshToPoints`, :class:`GeometryNodeMeshToSDFGrid`, :class:`GeometryNodeMeshToVolume`, :class:`GeometryNodeMeshUVSphere`, :class:`GeometryNodeObjectInfo`, :class:`GeometryNodeOffsetCornerInFace`, :class:`GeometryNodeOffsetPointInCurve`, :class:`GeometryNodePoints`, :class:`GeometryNodePointsOfCurve`, :class:`GeometryNodePointsToCurves`, :class:`GeometryNodePointsToSDFGrid`, :class:`GeometryNodePointsToVertices`, :class:`GeometryNodePointsToVolume`, :class:`GeometryNodeProximity`, :class:`GeometryNodeRaycast`, :class:`GeometryNodeRealizeInstances`, :class:`GeometryNodeRemoveAttribute`, :class:`GeometryNodeRepeatInput`, :class:`GeometryNodeRepeatOutput`, :class:`GeometryNodeReplaceMaterial`, :class:`GeometryNodeResampleCurve`, :class:`GeometryNodeReverseCurve`, :class:`GeometryNodeRotateInstances`, :class:`GeometryNodeSDFGridBoolean`, :class:`GeometryNodeSDFGridFillet`, :class:`GeometryNodeSDFGridLaplacian`, :class:`GeometryNodeSDFGridMean`, :class:`GeometryNodeSDFGridMeanCurvature`, :class:`GeometryNodeSDFGridMedian`, :class:`GeometryNodeSDFGridOffset`, :class:`GeometryNodeSampleCurve`, :class:`GeometryNodeSampleGrid`, :class:`GeometryNodeSampleGridIndex`, :class:`GeometryNodeSampleIndex`, :class:`GeometryNodeSampleNearest`, :class:`GeometryNodeSampleNearestSurface`, :class:`GeometryNodeSampleUVSurface`, :class:`GeometryNodeScaleElements`, :class:`GeometryNodeScaleInstances`, :class:`GeometryNodeSelfObject`, :class:`GeometryNodeSeparateComponents`, :class:`GeometryNodeSeparateGeometry`, :class:`GeometryNodeSetCurveHandlePositions`, :class:`GeometryNodeSetCurveNormal`, :class:`GeometryNodeSetCurveRadius`, :class:`GeometryNodeSetCurveTilt`, :class:`GeometryNodeSetGeometryBundle`, :class:`GeometryNodeSetGeometryName`, :class:`GeometryNodeSetGreasePencilColor`, :class:`GeometryNodeSetGreasePencilDepth`, :class:`GeometryNodeSetGreasePencilSoftness`, :class:`GeometryNodeSetGridBackground`, :class:`GeometryNodeSetGridTransform`, :class:`GeometryNodeSetID`, :class:`GeometryNodeSetInstanceTransform`, :class:`GeometryNodeSetMaterial`, :class:`GeometryNodeSetMaterialIndex`, :class:`GeometryNodeSetMeshNormal`, :class:`GeometryNodeSetPointRadius`, :class:`GeometryNodeSetPosition`, :class:`GeometryNodeSetShadeSmooth`, :class:`GeometryNodeSetSplineCyclic`, :class:`GeometryNodeSetSplineResolution`, :class:`GeometryNodeSimulationInput`, :class:`GeometryNodeSimulationOutput`, :class:`GeometryNodeSortElements`, :class:`GeometryNodeSplineLength`, :class:`GeometryNodeSplineParameter`, :class:`GeometryNodeSplitEdges`, :class:`GeometryNodeSplitToInstances`, :class:`GeometryNodeStoreNamedAttribute`, :class:`GeometryNodeStoreNamedGrid`, :class:`GeometryNodeStringJoin`, :class:`GeometryNodeStringToCurves`, :class:`GeometryNodeSubdivideCurve`, :class:`GeometryNodeSubdivideMesh`, :class:`GeometryNodeSubdivisionSurface`, :class:`GeometryNodeSwitch`, :class:`GeometryNodeTool3DCursor`, :class:`GeometryNodeToolActiveElement`, :class:`GeometryNodeToolFaceSet`, :class:`GeometryNodeToolMousePosition`, :class:`GeometryNodeToolSelection`, :class:`GeometryNodeToolSetFaceSet`, :class:`GeometryNodeToolSetSelection`, :class:`GeometryNodeTransform`, :class:`GeometryNodeTranslateInstances`, :class:`GeometryNodeTriangulate`, :class:`GeometryNodeTrimCurve`, :class:`GeometryNodeUVPackIslands`, :class:`GeometryNodeUVTangent`, :class:`GeometryNodeUVUnwrap`, :class:`GeometryNodeVertexOfCorner`, :class:`GeometryNodeViewer`, :class:`GeometryNodeViewportTransform`, :class:`GeometryNodeVolumeCube`, :class:`GeometryNodeVolumeToMesh`, :class:`GeometryNodeWarning` + +.. class:: GeometryNode(NodeInternal) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeAccumulateField.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeAccumulateField.rst new file mode 100644 index 0000000..8357475 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeAccumulateField.rst @@ -0,0 +1,177 @@ +GeometryNodeAccumulateField(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeAccumulateField(GeometryNode) + + Add the values of an evaluated field together and output the running total for each element + + .. attribute:: data_type + + Type of data that is accumulated (default ``'FLOAT'``) + + - ``FLOAT`` + Float -- Add floating point values. + - ``INT`` + Integer -- Add integer values. + - ``FLOAT_VECTOR`` + Vector -- Add 3D vector values. + - ``TRANSFORM`` + Transform -- Multiply transformation matrices. + + :type: Literal['FLOAT', 'INT', 'FLOAT_VECTOR', 'TRANSFORM'] + + .. attribute:: domain + + (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeAttributeDomainSize.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeAttributeDomainSize.rst new file mode 100644 index 0000000..cb8eab5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeAttributeDomainSize.rst @@ -0,0 +1,162 @@ +GeometryNodeAttributeDomainSize(GeometryNode) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeAttributeDomainSize(GeometryNode) + + Retrieve the number of elements in a geometry for each attribute domain + + .. attribute:: component + + (default ``'MESH'``) + + :type: Literal[:ref:`rna_enum_geometry_component_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeAttributeStatistic.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeAttributeStatistic.rst new file mode 100644 index 0000000..ef0ce80 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeAttributeStatistic.rst @@ -0,0 +1,168 @@ +GeometryNodeAttributeStatistic(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeAttributeStatistic(GeometryNode) + + Calculate statistics about a data set from a field evaluated on a geometry + + .. attribute:: data_type + + The data type the attribute is converted to before calculating the results (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. attribute:: domain + + Which domain to read the data from (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBake.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBake.rst new file mode 100644 index 0000000..f9267a6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBake.rst @@ -0,0 +1,174 @@ +GeometryNodeBake(GeometryNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeBake(GeometryNode) + + Cache the incoming data so that it can be used without recomputation + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_item + + Index of the active item + + :type: :class:`RepeatItem` | None + + .. data:: bake_items + + (default None, readonly) + + :type: :class:`NodeGeometryBakeItems`\ [:class:`NodeGeometryBakeItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBlurAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBlurAttribute.rst new file mode 100644 index 0000000..88c703e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBlurAttribute.rst @@ -0,0 +1,162 @@ +GeometryNodeBlurAttribute(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeBlurAttribute(GeometryNode) + + Mix attribute values of neighboring elements + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBoneInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBoneInfo.rst new file mode 100644 index 0000000..dbf7449 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBoneInfo.rst @@ -0,0 +1,167 @@ +GeometryNodeBoneInfo(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeBoneInfo(GeometryNode) + + Retrieve information of armature bones + + .. attribute:: transform_space + + The transformation of the vector and geometry outputs (default ``'ORIGINAL'``) + + - ``ORIGINAL`` + Original -- Output the bone pose relative to the armature object transform. + - ``RELATIVE`` + Relative -- Bring the bone pose into the modified object. + + :type: Literal['ORIGINAL', 'RELATIVE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBoundBox.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBoundBox.rst new file mode 100644 index 0000000..24dc1a2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeBoundBox.rst @@ -0,0 +1,156 @@ +GeometryNodeBoundBox(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeBoundBox(GeometryNode) + + Calculate the limits of a geometry's positions and generate a box mesh with those dimensions + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCameraInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCameraInfo.rst new file mode 100644 index 0000000..7923ba3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCameraInfo.rst @@ -0,0 +1,156 @@ +GeometryNodeCameraInfo(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCameraInfo(GeometryNode) + + Retrieve information from a camera object + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCaptureAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCaptureAttribute.rst new file mode 100644 index 0000000..980dca4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCaptureAttribute.rst @@ -0,0 +1,180 @@ +GeometryNodeCaptureAttribute(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCaptureAttribute(GeometryNode) + + Store the result of a field on a geometry and output the data as a node socket. Allows remembering or interpolating data as the geometry changes, such as positions before deformation + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_item + + Index of the active item + + :type: :class:`RepeatItem` | None + + .. data:: capture_items + + (default None, readonly) + + :type: :class:`NodeGeometryCaptureAttributeItems`\ [:class:`NodeGeometryCaptureAttributeItem`] + + .. attribute:: domain + + Which domain to store the data in (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCollectionInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCollectionInfo.rst new file mode 100644 index 0000000..5a80318 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCollectionInfo.rst @@ -0,0 +1,167 @@ +GeometryNodeCollectionInfo(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCollectionInfo(GeometryNode) + + Retrieve geometry instances from a collection + + .. attribute:: transform_space + + The transformation of the instances output. Does not affect the internal geometry (default ``'ORIGINAL'``) + + - ``ORIGINAL`` + Original -- Output the geometry relative to the collection offset. + - ``RELATIVE`` + Relative -- Bring the input collection geometry into the modified object, maintaining the relative position between the objects in the scene. + + :type: Literal['ORIGINAL', 'RELATIVE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeConvexHull.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeConvexHull.rst new file mode 100644 index 0000000..9676cba --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeConvexHull.rst @@ -0,0 +1,156 @@ +GeometryNodeConvexHull(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeConvexHull(GeometryNode) + + Create a mesh that encloses all points in the input geometry with the smallest number of points + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCornersOfEdge.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCornersOfEdge.rst new file mode 100644 index 0000000..07b7433 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCornersOfEdge.rst @@ -0,0 +1,156 @@ +GeometryNodeCornersOfEdge(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCornersOfEdge(GeometryNode) + + Retrieve face corners connected to edges + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCornersOfFace.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCornersOfFace.rst new file mode 100644 index 0000000..dba67e9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCornersOfFace.rst @@ -0,0 +1,156 @@ +GeometryNodeCornersOfFace(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCornersOfFace(GeometryNode) + + Retrieve corners that make up a face + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCornersOfVertex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCornersOfVertex.rst new file mode 100644 index 0000000..1fd3790 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCornersOfVertex.rst @@ -0,0 +1,156 @@ +GeometryNodeCornersOfVertex(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCornersOfVertex(GeometryNode) + + Retrieve face corners connected to vertices + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCubeGridTopology.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCubeGridTopology.rst new file mode 100644 index 0000000..0cb10eb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCubeGridTopology.rst @@ -0,0 +1,156 @@ +GeometryNodeCubeGridTopology(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCubeGridTopology(GeometryNode) + + Create a boolean grid topology with the given dimensions, for use with the Field to Grid node + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveArc.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveArc.rst new file mode 100644 index 0000000..da04447 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveArc.rst @@ -0,0 +1,167 @@ +GeometryNodeCurveArc(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveArc(GeometryNode) + + Generate a poly spline arc + + .. attribute:: mode + + Method used to determine radius and placement (default ``'RADIUS'``) + + - ``POINTS`` + Points -- Define arc by 3 points on circle. Arc is calculated between start and end points. + - ``RADIUS`` + Radius -- Define radius with a float. + + :type: Literal['POINTS', 'RADIUS'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveEndpointSelection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveEndpointSelection.rst new file mode 100644 index 0000000..7cbc4a7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveEndpointSelection.rst @@ -0,0 +1,156 @@ +GeometryNodeCurveEndpointSelection(GeometryNode) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveEndpointSelection(GeometryNode) + + Provide a selection for an arbitrary number of endpoints in each spline + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveHandleTypeSelection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveHandleTypeSelection.rst new file mode 100644 index 0000000..9a906fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveHandleTypeSelection.rst @@ -0,0 +1,177 @@ +GeometryNodeCurveHandleTypeSelection(GeometryNode) +================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveHandleTypeSelection(GeometryNode) + + Provide a selection based on the handle types of Bézier control points + + .. attribute:: handle_type + + (default ``'FREE'``) + + - ``FREE`` + Free -- The handle can be moved anywhere, and does not influence the point's other handle. + - ``AUTO`` + Auto -- The location is automatically calculated to be smooth. + - ``VECTOR`` + Vector -- The location is calculated to point to the next/previous control point. + - ``ALIGN`` + Align -- The location is constrained to point in the opposite direction as the other handle. + + :type: Literal['FREE', 'AUTO', 'VECTOR', 'ALIGN'] + + .. attribute:: mode + + Whether to check the type of left and right handles (default set()) + + :type: set[Literal[:ref:`rna_enum_node_geometry_curve_handle_side_items`]] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveLength.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveLength.rst new file mode 100644 index 0000000..cd86938 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveLength.rst @@ -0,0 +1,156 @@ +GeometryNodeCurveLength(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveLength(GeometryNode) + + Retrieve the length of all splines added together + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveOfPoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveOfPoint.rst new file mode 100644 index 0000000..d6a89aa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveOfPoint.rst @@ -0,0 +1,156 @@ +GeometryNodeCurveOfPoint(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveOfPoint(GeometryNode) + + Retrieve the curve a control point is part of + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveBezierSegment.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveBezierSegment.rst new file mode 100644 index 0000000..8993794 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveBezierSegment.rst @@ -0,0 +1,167 @@ +GeometryNodeCurvePrimitiveBezierSegment(GeometryNode) +===================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurvePrimitiveBezierSegment(GeometryNode) + + Generate a 2D Bézier spline from the given control points and handles + + .. attribute:: mode + + Method used to determine control handles (default ``'POSITION'``) + + - ``POSITION`` + Position -- The start and end handles are fixed positions. + - ``OFFSET`` + Offset -- The start and end handles are offsets from the spline's control points. + + :type: Literal['POSITION', 'OFFSET'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveCircle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveCircle.rst new file mode 100644 index 0000000..22adace --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveCircle.rst @@ -0,0 +1,167 @@ +GeometryNodeCurvePrimitiveCircle(GeometryNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurvePrimitiveCircle(GeometryNode) + + Generate a poly spline circle + + .. attribute:: mode + + Method used to determine radius and placement (default ``'RADIUS'``) + + - ``POINTS`` + Points -- Define the radius and location with three points. + - ``RADIUS`` + Radius -- Define the radius with a float. + + :type: Literal['POINTS', 'RADIUS'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveLine.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveLine.rst new file mode 100644 index 0000000..9426ac4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveLine.rst @@ -0,0 +1,167 @@ +GeometryNodeCurvePrimitiveLine(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurvePrimitiveLine(GeometryNode) + + Generate a poly spline line with two points + + .. attribute:: mode + + Method used to determine radius and placement (default ``'POINTS'``) + + - ``POINTS`` + Points -- Define the start and end points of the line. + - ``DIRECTION`` + Direction -- Define a line with a start point, direction and length. + + :type: Literal['POINTS', 'DIRECTION'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveQuadrilateral.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveQuadrilateral.rst new file mode 100644 index 0000000..8dc2d8e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvePrimitiveQuadrilateral.rst @@ -0,0 +1,173 @@ +GeometryNodeCurvePrimitiveQuadrilateral(GeometryNode) +===================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurvePrimitiveQuadrilateral(GeometryNode) + + Generate a polygon with four points + + .. attribute:: mode + + (default ``'RECTANGLE'``) + + - ``RECTANGLE`` + Rectangle -- Create a rectangle. + - ``PARALLELOGRAM`` + Parallelogram -- Create a parallelogram. + - ``TRAPEZOID`` + Trapezoid -- Create a trapezoid. + - ``KITE`` + Kite -- Create a Kite / Dart. + - ``POINTS`` + Points -- Create a quadrilateral from four points. + + :type: Literal['RECTANGLE', 'PARALLELOGRAM', 'TRAPEZOID', 'KITE', 'POINTS'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveQuadraticBezier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveQuadraticBezier.rst new file mode 100644 index 0000000..e1d2c68 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveQuadraticBezier.rst @@ -0,0 +1,156 @@ +GeometryNodeCurveQuadraticBezier(GeometryNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveQuadraticBezier(GeometryNode) + + Generate a poly spline in a parabola shape with control points positions + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveSetHandles.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveSetHandles.rst new file mode 100644 index 0000000..4454a82 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveSetHandles.rst @@ -0,0 +1,177 @@ +GeometryNodeCurveSetHandles(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveSetHandles(GeometryNode) + + Set the handle type for the control points of a Bézier curve + + .. attribute:: handle_type + + (default ``'FREE'``) + + - ``FREE`` + Free -- The handle can be moved anywhere, and does not influence the point's other handle. + - ``AUTO`` + Auto -- The location is automatically calculated to be smooth. + - ``VECTOR`` + Vector -- The location is calculated to point to the next/previous control point. + - ``ALIGN`` + Align -- The location is constrained to point in the opposite direction as the other handle. + + :type: Literal['FREE', 'AUTO', 'VECTOR', 'ALIGN'] + + .. attribute:: mode + + Whether to update left and right handles (default set()) + + :type: set[Literal[:ref:`rna_enum_node_geometry_curve_handle_side_items`]] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveSpiral.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveSpiral.rst new file mode 100644 index 0000000..e201e74 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveSpiral.rst @@ -0,0 +1,156 @@ +GeometryNodeCurveSpiral(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveSpiral(GeometryNode) + + Generate a poly spline in a spiral shape + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveSplineType.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveSplineType.rst new file mode 100644 index 0000000..63983d2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveSplineType.rst @@ -0,0 +1,162 @@ +GeometryNodeCurveSplineType(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveSplineType(GeometryNode) + + Change the type of curves + + .. attribute:: spline_type + + The curve type to change the selected curves to (default ``'POLY'``) + + :type: Literal[:ref:`rna_enum_curves_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveStar.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveStar.rst new file mode 100644 index 0000000..5800d72 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveStar.rst @@ -0,0 +1,156 @@ +GeometryNodeCurveStar(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveStar(GeometryNode) + + Generate a poly spline in a star pattern by connecting alternating points of two circles + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveToMesh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveToMesh.rst new file mode 100644 index 0000000..341a132 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveToMesh.rst @@ -0,0 +1,156 @@ +GeometryNodeCurveToMesh(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveToMesh(GeometryNode) + + Convert curves into a mesh, optionally with a custom profile shape defined by curves + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveToPoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveToPoints.rst new file mode 100644 index 0000000..e2d649d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurveToPoints.rst @@ -0,0 +1,169 @@ +GeometryNodeCurveToPoints(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurveToPoints(GeometryNode) + + Generate a point cloud by sampling positions along curves + + .. attribute:: mode + + How to generate points from the input curve (default ``'COUNT'``) + + - ``EVALUATED`` + Evaluated -- Create points from the curve's evaluated points, based on the resolution attribute for NURBS and Bézier splines. + - ``COUNT`` + Count -- Sample each spline by evenly distributing the specified number of points. + - ``LENGTH`` + Length -- Sample each spline by splitting it into segments with the specified length. + + :type: Literal['EVALUATED', 'COUNT', 'LENGTH'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvesToGreasePencil.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvesToGreasePencil.rst new file mode 100644 index 0000000..5f5e516 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCurvesToGreasePencil.rst @@ -0,0 +1,156 @@ +GeometryNodeCurvesToGreasePencil(GeometryNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCurvesToGreasePencil(GeometryNode) + + Convert the curves in each top-level instance into Grease Pencil layer + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCustomGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCustomGroup.rst new file mode 100644 index 0000000..8d578c1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeCustomGroup.rst @@ -0,0 +1,135 @@ +GeometryNodeCustomGroup(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeCustomGroup(GeometryNode) + + Custom Geometry Group Node for Python nodes + + .. attribute:: node_tree + + :type: :class:`NodeTree` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDeformCurvesOnSurface.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDeformCurvesOnSurface.rst new file mode 100644 index 0000000..5037cea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDeformCurvesOnSurface.rst @@ -0,0 +1,156 @@ +GeometryNodeDeformCurvesOnSurface(GeometryNode) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeDeformCurvesOnSurface(GeometryNode) + + Translate and rotate curves based on changes between the object's original and evaluated surface mesh + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDeleteGeometry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDeleteGeometry.rst new file mode 100644 index 0000000..5b8556e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDeleteGeometry.rst @@ -0,0 +1,168 @@ +GeometryNodeDeleteGeometry(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeDeleteGeometry(GeometryNode) + + Remove selected elements of a geometry + + .. attribute:: domain + + Which domain to delete in (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_without_corner_items`] + + .. attribute:: mode + + Which parts of the mesh component to delete (default ``'ALL'``) + + :type: Literal['ALL', 'EDGE_FACE', 'ONLY_FACE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDistributePointsInGrid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDistributePointsInGrid.rst new file mode 100644 index 0000000..ec89aff --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDistributePointsInGrid.rst @@ -0,0 +1,167 @@ +GeometryNodeDistributePointsInGrid(GeometryNode) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeDistributePointsInGrid(GeometryNode) + + Generate points inside a volume grid + + .. attribute:: mode + + Method to use for scattering points (default ``'DENSITY_RANDOM'``) + + - ``DENSITY_RANDOM`` + Random -- Distribute points randomly inside of the volume. + - ``DENSITY_GRID`` + Grid -- Distribute the points in a grid pattern inside of the volume. + + :type: Literal['DENSITY_RANDOM', 'DENSITY_GRID'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDistributePointsInVolume.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDistributePointsInVolume.rst new file mode 100644 index 0000000..a1ff2a1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDistributePointsInVolume.rst @@ -0,0 +1,156 @@ +GeometryNodeDistributePointsInVolume(GeometryNode) +================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeDistributePointsInVolume(GeometryNode) + + Generate points inside a volume + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDistributePointsOnFaces.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDistributePointsOnFaces.rst new file mode 100644 index 0000000..157414a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDistributePointsOnFaces.rst @@ -0,0 +1,173 @@ +GeometryNodeDistributePointsOnFaces(GeometryNode) +================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeDistributePointsOnFaces(GeometryNode) + + Generate points spread out on the surface of a mesh + + .. attribute:: distribute_method + + Method to use for scattering points (default ``'RANDOM'``) + + - ``RANDOM`` + Random -- Distribute points randomly on the surface. + - ``POISSON`` + Poisson Disk -- Distribute the points randomly on the surface while taking a minimum distance between points into account. + + :type: Literal['RANDOM', 'POISSON'] + + .. attribute:: use_legacy_normal + + Output the normal and rotation values that have been output before the node started taking smooth normals into account (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDualMesh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDualMesh.rst new file mode 100644 index 0000000..45aff56 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDualMesh.rst @@ -0,0 +1,156 @@ +GeometryNodeDualMesh(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeDualMesh(GeometryNode) + + Convert Faces into vertices and vertices into faces + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDuplicateElements.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDuplicateElements.rst new file mode 100644 index 0000000..9780682 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeDuplicateElements.rst @@ -0,0 +1,162 @@ +GeometryNodeDuplicateElements(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeDuplicateElements(GeometryNode) + + Generate an arbitrary number copies of each selected input element + + .. attribute:: domain + + Which domain to duplicate (default ``'POINT'``) + + :type: Literal['POINT', 'EDGE', 'FACE', 'SPLINE', 'LAYER', 'INSTANCE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgePathsToCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgePathsToCurves.rst new file mode 100644 index 0000000..e5aaf13 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgePathsToCurves.rst @@ -0,0 +1,156 @@ +GeometryNodeEdgePathsToCurves(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeEdgePathsToCurves(GeometryNode) + + Output curves following paths across mesh edges + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgePathsToSelection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgePathsToSelection.rst new file mode 100644 index 0000000..a50f6d5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgePathsToSelection.rst @@ -0,0 +1,156 @@ +GeometryNodeEdgePathsToSelection(GeometryNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeEdgePathsToSelection(GeometryNode) + + Output a selection of edges by following paths across mesh edges + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgesOfCorner.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgesOfCorner.rst new file mode 100644 index 0000000..c1a121a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgesOfCorner.rst @@ -0,0 +1,156 @@ +GeometryNodeEdgesOfCorner(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeEdgesOfCorner(GeometryNode) + + Retrieve the edges on both sides of a face corner + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgesOfVertex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgesOfVertex.rst new file mode 100644 index 0000000..d25fd7b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgesOfVertex.rst @@ -0,0 +1,156 @@ +GeometryNodeEdgesOfVertex(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeEdgesOfVertex(GeometryNode) + + Retrieve the edges connected to each vertex + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgesToFaceGroups.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgesToFaceGroups.rst new file mode 100644 index 0000000..b1659c9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeEdgesToFaceGroups.rst @@ -0,0 +1,156 @@ +GeometryNodeEdgesToFaceGroups(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeEdgesToFaceGroups(GeometryNode) + + Group faces into regions surrounded by the selected boundary edges + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeExtrudeMesh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeExtrudeMesh.rst new file mode 100644 index 0000000..166d9c7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeExtrudeMesh.rst @@ -0,0 +1,162 @@ +GeometryNodeExtrudeMesh(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeExtrudeMesh(GeometryNode) + + Generate new vertices, edges, or faces from selected elements and move them based on an offset while keeping them connected by their boundary + + .. attribute:: mode + + (default ``'FACES'``) + + :type: Literal['VERTICES', 'EDGES', 'FACES'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFaceOfCorner.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFaceOfCorner.rst new file mode 100644 index 0000000..5695ccc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFaceOfCorner.rst @@ -0,0 +1,156 @@ +GeometryNodeFaceOfCorner(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeFaceOfCorner(GeometryNode) + + Retrieve the face each face corner is part of + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldAtIndex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldAtIndex.rst new file mode 100644 index 0000000..54f14b9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldAtIndex.rst @@ -0,0 +1,168 @@ +GeometryNodeFieldAtIndex(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeFieldAtIndex(GeometryNode) + + Retrieve data of other elements in the context's geometry + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. attribute:: domain + + Domain the field is evaluated in (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldAverage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldAverage.rst new file mode 100644 index 0000000..0a01b1d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldAverage.rst @@ -0,0 +1,173 @@ +GeometryNodeFieldAverage(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeFieldAverage(GeometryNode) + + Calculate the mean and median of a given field + + .. attribute:: data_type + + Type of data the outputs are calculated from (default ``'FLOAT'``) + + - ``FLOAT`` + Float -- Floating-point value. + - ``FLOAT_VECTOR`` + Vector -- 3D vector with floating-point values. + + :type: Literal['FLOAT', 'FLOAT_VECTOR'] + + .. attribute:: domain + + (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldMinAndMax.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldMinAndMax.rst new file mode 100644 index 0000000..7b3b71b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldMinAndMax.rst @@ -0,0 +1,175 @@ +GeometryNodeFieldMinAndMax(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeFieldMinAndMax(GeometryNode) + + Calculate the minimum and maximum of a given field + + .. attribute:: data_type + + Type of data the outputs are calculated from (default ``'FLOAT'``) + + - ``FLOAT`` + Float -- Floating-point value. + - ``INT`` + Integer -- 32-bit integer. + - ``FLOAT_VECTOR`` + Vector -- 3D vector with floating-point values. + + :type: Literal['FLOAT', 'INT', 'FLOAT_VECTOR'] + + .. attribute:: domain + + (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldOnDomain.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldOnDomain.rst new file mode 100644 index 0000000..4e59a20 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldOnDomain.rst @@ -0,0 +1,168 @@ +GeometryNodeFieldOnDomain(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeFieldOnDomain(GeometryNode) + + Retrieve values from a field on a different domain besides the domain from the context + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. attribute:: domain + + Domain the field is evaluated in (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToGrid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToGrid.rst new file mode 100644 index 0000000..bec0812 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToGrid.rst @@ -0,0 +1,180 @@ +GeometryNodeFieldToGrid(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeFieldToGrid(GeometryNode) + + Create new grids by evaluating new values on an existing volume grid topology + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_item + + Index of the active item + + :type: :class:`RepeatItem` | None + + .. attribute:: data_type + + Data type for topology grid (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. data:: grid_items + + (default None, readonly) + + :type: :class:`GeometryNodeFieldToGridItems`\ [:class:`GeometryNodeFieldToGridItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToGridItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToGridItem.rst new file mode 100644 index 0000000..7f8fe63 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToGridItem.rst @@ -0,0 +1,103 @@ +GeometryNodeFieldToGridItem(bpy_struct) +======================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GeometryNodeFieldToGridItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. data:: identifier + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: name + + (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeFieldToGrid.grid_items` + - :class:`GeometryNodeFieldToGridItems.new` + - :class:`GeometryNodeFieldToGridItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToGridItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToGridItems.rst new file mode 100644 index 0000000..e67ef57 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToGridItems.rst @@ -0,0 +1,110 @@ +GeometryNodeFieldToGridItems(bpy_prop_collection) +================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: GeometryNodeFieldToGridItems(bpy_prop_collection) + + Collection of field to grid items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`GeometryNodeFieldToGridItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`GeometryNodeFieldToGridItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeFieldToGrid.grid_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToList.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToList.rst new file mode 100644 index 0000000..e5816dd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToList.rst @@ -0,0 +1,174 @@ +GeometryNodeFieldToList(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeFieldToList(GeometryNode) + + Create a list of values + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_item + + Index of the active item + + :type: :class:`GeometryNodeFieldToListItem` | None + + .. data:: list_items + + (default None, readonly) + + :type: :class:`GeometryNodeFieldToListItems`\ [:class:`GeometryNodeFieldToListItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToListItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToListItem.rst new file mode 100644 index 0000000..5651e8e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToListItem.rst @@ -0,0 +1,104 @@ +GeometryNodeFieldToListItem(bpy_struct) +======================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GeometryNodeFieldToListItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: identifier + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeFieldToList.active_item` + - :class:`GeometryNodeFieldToList.list_items` + - :class:`GeometryNodeFieldToListItems.new` + - :class:`GeometryNodeFieldToListItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToListItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToListItems.rst new file mode 100644 index 0000000..3cda8ac --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldToListItems.rst @@ -0,0 +1,110 @@ +GeometryNodeFieldToListItems(bpy_prop_collection) +================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: GeometryNodeFieldToListItems(bpy_prop_collection) + + Collection of field to list items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`GeometryNodeFieldToListItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`GeometryNodeFieldToListItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeFieldToList.list_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldVariance.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldVariance.rst new file mode 100644 index 0000000..6c0f28e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFieldVariance.rst @@ -0,0 +1,173 @@ +GeometryNodeFieldVariance(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeFieldVariance(GeometryNode) + + Calculate the standard deviation and variance of a given field + + .. attribute:: data_type + + Type of data the outputs are calculated from (default ``'FLOAT'``) + + - ``FLOAT`` + Float -- Floating-point value. + - ``FLOAT_VECTOR`` + Vector -- 3D vector with floating-point values. + + :type: Literal['FLOAT', 'FLOAT_VECTOR'] + + .. attribute:: domain + + (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFillCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFillCurve.rst new file mode 100644 index 0000000..26d3543 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFillCurve.rst @@ -0,0 +1,156 @@ +GeometryNodeFillCurve(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeFillCurve(GeometryNode) + + Generate a mesh on the XY plane with faces on the inside of input curves + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFilletCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFilletCurve.rst new file mode 100644 index 0000000..0f68fb5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFilletCurve.rst @@ -0,0 +1,156 @@ +GeometryNodeFilletCurve(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeFilletCurve(GeometryNode) + + Round corners by generating circular arcs on each control point + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFlipFaces.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFlipFaces.rst new file mode 100644 index 0000000..04f5414 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeFlipFaces.rst @@ -0,0 +1,156 @@ +GeometryNodeFlipFaces(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeFlipFaces(GeometryNode) + + Reverse the order of the vertices and edges of selected faces, flipping their normal direction + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeForeachGeometryElementInput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeForeachGeometryElementInput.rst new file mode 100644 index 0000000..937d6cc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeForeachGeometryElementInput.rst @@ -0,0 +1,170 @@ +GeometryNodeForeachGeometryElementInput(GeometryNode) +===================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeForeachGeometryElementInput(GeometryNode) + + + .. data:: paired_output + + Zone output node that this input node is paired with (readonly) + + :type: :class:`Node` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. method:: pair_with_output(output_node) + + Pair a zone input node with an output node. + + :param output_node: Output Node, Zone output node to pair with + :type output_node: :class:`NodeInternal` | None + :return: Result, True if pairing the node was successful + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeForeachGeometryElementOutput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeForeachGeometryElementOutput.rst new file mode 100644 index 0000000..5faf037 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeForeachGeometryElementOutput.rst @@ -0,0 +1,203 @@ +GeometryNodeForeachGeometryElementOutput(GeometryNode) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeForeachGeometryElementOutput(GeometryNode) + + + .. attribute:: active_generation_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_input_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_main_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: domain + + Geometry domain that is iterated over (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. data:: generation_items + + (default None, readonly) + + :type: :class:`NodeGeometryForeachGeometryElementGenerationItems`\ [:class:`ForeachGeometryElementGenerationItem`] + + .. data:: input_items + + (default None, readonly) + + :type: :class:`NodeGeometryForeachGeometryElementInputItems`\ [:class:`ForeachGeometryElementInputItem`] + + .. attribute:: inspection_index + + Iteration index that is used by inspection features like the viewer node or socket inspection (in [-inf, inf], default 0) + + :type: int + + .. data:: main_items + + (default None, readonly) + + :type: :class:`NodeGeometryForeachGeometryElementMainItems`\ [:class:`ForeachGeometryElementMainItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGeometryToInstance.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGeometryToInstance.rst new file mode 100644 index 0000000..a637a3d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGeometryToInstance.rst @@ -0,0 +1,156 @@ +GeometryNodeGeometryToInstance(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGeometryToInstance(GeometryNode) + + Convert each input geometry into an instance, which can be much faster than the Join Geometry node when the inputs are large + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGetGeometryBundle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGetGeometryBundle.rst new file mode 100644 index 0000000..4163d23 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGetGeometryBundle.rst @@ -0,0 +1,156 @@ +GeometryNodeGetGeometryBundle(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGetGeometryBundle(GeometryNode) + + Get the bundle of a geometry + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGetNamedGrid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGetNamedGrid.rst new file mode 100644 index 0000000..2079ef6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGetNamedGrid.rst @@ -0,0 +1,162 @@ +GeometryNodeGetNamedGrid(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGetNamedGrid(GeometryNode) + + Get volume grid from a volume geometry with the specified name + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGizmoDial.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGizmoDial.rst new file mode 100644 index 0000000..4310a2e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGizmoDial.rst @@ -0,0 +1,162 @@ +GeometryNodeGizmoDial(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGizmoDial(GeometryNode) + + Show a dial gizmo in the viewport for a value + + .. attribute:: color_id + + (default ``'PRIMARY'``) + + :type: Literal[:ref:`rna_enum_geometry_nodes_gizmo_color_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGizmoLinear.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGizmoLinear.rst new file mode 100644 index 0000000..f291aa2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGizmoLinear.rst @@ -0,0 +1,168 @@ +GeometryNodeGizmoLinear(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGizmoLinear(GeometryNode) + + Show a linear gizmo in the viewport for a value + + .. attribute:: color_id + + (default ``'PRIMARY'``) + + :type: Literal[:ref:`rna_enum_geometry_nodes_gizmo_color_items`] + + .. attribute:: draw_style + + (default ``'ARROW'``) + + :type: Literal[:ref:`rna_enum_geometry_nodes_linear_gizmo_draw_style_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGizmoTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGizmoTransform.rst new file mode 100644 index 0000000..0045e73 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGizmoTransform.rst @@ -0,0 +1,210 @@ +GeometryNodeGizmoTransform(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGizmoTransform(GeometryNode) + + Show a transform gizmo in the viewport + + .. attribute:: use_rotation_x + + (default False) + + :type: bool + + .. attribute:: use_rotation_y + + (default False) + + :type: bool + + .. attribute:: use_rotation_z + + (default False) + + :type: bool + + .. attribute:: use_scale_x + + (default False) + + :type: bool + + .. attribute:: use_scale_y + + (default False) + + :type: bool + + .. attribute:: use_scale_z + + (default False) + + :type: bool + + .. attribute:: use_translation_x + + (default False) + + :type: bool + + .. attribute:: use_translation_y + + (default False) + + :type: bool + + .. attribute:: use_translation_z + + (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGreasePencilToCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGreasePencilToCurves.rst new file mode 100644 index 0000000..6b2d1d5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGreasePencilToCurves.rst @@ -0,0 +1,156 @@ +GeometryNodeGreasePencilToCurves(GeometryNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGreasePencilToCurves(GeometryNode) + + Convert Grease Pencil layers into curve instances + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridAdvect.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridAdvect.rst new file mode 100644 index 0000000..95fc2fc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridAdvect.rst @@ -0,0 +1,162 @@ +GeometryNodeGridAdvect(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridAdvect(GeometryNode) + + Move grid values through a velocity field using numerical integration. Supports multiple integration schemes for different accuracy and performance trade-offs + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridClip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridClip.rst new file mode 100644 index 0000000..766438c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridClip.rst @@ -0,0 +1,162 @@ +GeometryNodeGridClip(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridClip(GeometryNode) + + Deactivate grid voxels outside minimum and maximum coordinates, setting them to the background value. + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridCurl.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridCurl.rst new file mode 100644 index 0000000..3031f3c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridCurl.rst @@ -0,0 +1,156 @@ +GeometryNodeGridCurl(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridCurl(GeometryNode) + + Calculate the magnitude and direction of circulation of a directional vector grid + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridDilateAndErode.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridDilateAndErode.rst new file mode 100644 index 0000000..cd14059 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridDilateAndErode.rst @@ -0,0 +1,162 @@ +GeometryNodeGridDilateAndErode(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridDilateAndErode(GeometryNode) + + Dilate or erode the active regions of a grid. This changes which voxels are active but does not change their values. + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridDivergence.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridDivergence.rst new file mode 100644 index 0000000..e31530e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridDivergence.rst @@ -0,0 +1,156 @@ +GeometryNodeGridDivergence(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridDivergence(GeometryNode) + + Calculate the flow into and out of each point of a directional vector grid + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridGradient.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridGradient.rst new file mode 100644 index 0000000..f301762 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridGradient.rst @@ -0,0 +1,156 @@ +GeometryNodeGridGradient(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridGradient(GeometryNode) + + Calculate the direction and magnitude of the change in values of a scalar grid + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridInfo.rst new file mode 100644 index 0000000..1f5a953 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridInfo.rst @@ -0,0 +1,162 @@ +GeometryNodeGridInfo(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridInfo(GeometryNode) + + Retrieve information about a volume grid + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridLaplacian.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridLaplacian.rst new file mode 100644 index 0000000..44fcda5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridLaplacian.rst @@ -0,0 +1,156 @@ +GeometryNodeGridLaplacian(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridLaplacian(GeometryNode) + + Compute the divergence of the gradient of the input grid + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridMean.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridMean.rst new file mode 100644 index 0000000..8b4d684 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridMean.rst @@ -0,0 +1,162 @@ +GeometryNodeGridMean(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridMean(GeometryNode) + + Apply mean (box) filter smoothing to a voxel. The mean value from surrounding voxels in a box-shape defined by the radius replaces the voxel value. + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridMedian.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridMedian.rst new file mode 100644 index 0000000..f44b97b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridMedian.rst @@ -0,0 +1,162 @@ +GeometryNodeGridMedian(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridMedian(GeometryNode) + + Apply median (box) filter smoothing to a voxel. The median value from surrounding voxels in a box-shape defined by the radius replaces the voxel value. + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridPrune.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridPrune.rst new file mode 100644 index 0000000..6998a65 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridPrune.rst @@ -0,0 +1,162 @@ +GeometryNodeGridPrune(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridPrune(GeometryNode) + + Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridToMesh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridToMesh.rst new file mode 100644 index 0000000..3323a14 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridToMesh.rst @@ -0,0 +1,156 @@ +GeometryNodeGridToMesh(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridToMesh(GeometryNode) + + Generate a mesh on the "surface" of a volume grid + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridToPoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridToPoints.rst new file mode 100644 index 0000000..a2b1e85 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridToPoints.rst @@ -0,0 +1,162 @@ +GeometryNodeGridToPoints(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridToPoints(GeometryNode) + + Generate a point cloud from a volume grid's active voxels + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridVoxelize.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridVoxelize.rst new file mode 100644 index 0000000..d5230ab --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGridVoxelize.rst @@ -0,0 +1,162 @@ +GeometryNodeGridVoxelize(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGridVoxelize(GeometryNode) + + Remove sparseness from a volume grid by making the active tiles into voxels + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGroup.rst new file mode 100644 index 0000000..ee871cf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeGroup.rst @@ -0,0 +1,159 @@ +GeometryNodeGroup(GeometryNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeGroup(GeometryNode) + + + .. attribute:: node_tree + + :type: :class:`NodeTree` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImageInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImageInfo.rst new file mode 100644 index 0000000..572bc53 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImageInfo.rst @@ -0,0 +1,156 @@ +GeometryNodeImageInfo(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeImageInfo(GeometryNode) + + Retrieve information about an image + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImageTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImageTexture.rst new file mode 100644 index 0000000..fc00c59 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImageTexture.rst @@ -0,0 +1,184 @@ +GeometryNodeImageTexture(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeImageTexture(GeometryNode) + + Sample values from an image texture + + .. attribute:: extension + + How the image is extrapolated past its original bounds (default ``'REPEAT'``) + + - ``REPEAT`` + Repeat -- Cause the image to repeat horizontally and vertically. + - ``EXTEND`` + Extend -- Extend by repeating edge pixels of the image. + - ``CLIP`` + Clip -- Clip to image size and set exterior pixels as transparent. + - ``MIRROR`` + Mirror -- Repeatedly flip the image horizontally and vertically. + + :type: Literal['REPEAT', 'EXTEND', 'CLIP', 'MIRROR'] + + .. attribute:: interpolation + + Method for smoothing values between pixels (default ``'Linear'``) + + - ``Linear`` + Linear -- Linear interpolation. + - ``Closest`` + Closest -- No interpolation (sample closest texel). + - ``Cubic`` + Cubic -- Cubic interpolation. + + :type: Literal['Linear', 'Closest', 'Cubic'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportCSV.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportCSV.rst new file mode 100644 index 0000000..f5eafe3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportCSV.rst @@ -0,0 +1,156 @@ +GeometryNodeImportCSV(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeImportCSV(GeometryNode) + + Import geometry from an CSV file + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportOBJ.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportOBJ.rst new file mode 100644 index 0000000..82fd89d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportOBJ.rst @@ -0,0 +1,156 @@ +GeometryNodeImportOBJ(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeImportOBJ(GeometryNode) + + Import geometry from an OBJ file + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportPLY.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportPLY.rst new file mode 100644 index 0000000..959247a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportPLY.rst @@ -0,0 +1,156 @@ +GeometryNodeImportPLY(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeImportPLY(GeometryNode) + + Import a point cloud from a PLY file + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportSTL.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportSTL.rst new file mode 100644 index 0000000..a322f02 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportSTL.rst @@ -0,0 +1,156 @@ +GeometryNodeImportSTL(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeImportSTL(GeometryNode) + + Import a mesh from an STL file + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportText.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportText.rst new file mode 100644 index 0000000..a0f3bfd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportText.rst @@ -0,0 +1,156 @@ +GeometryNodeImportText(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeImportText(GeometryNode) + + Import a string from a text file + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportVDB.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportVDB.rst new file mode 100644 index 0000000..6ed3ec3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeImportVDB.rst @@ -0,0 +1,156 @@ +GeometryNodeImportVDB(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeImportVDB(GeometryNode) + + Import volume data from a .vdb file + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeIndexOfNearest.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeIndexOfNearest.rst new file mode 100644 index 0000000..13179b8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeIndexOfNearest.rst @@ -0,0 +1,156 @@ +GeometryNodeIndexOfNearest(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeIndexOfNearest(GeometryNode) + + Find the nearest element in a group. Similar to the "Sample Nearest" node + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeIndexSwitch.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeIndexSwitch.rst new file mode 100644 index 0000000..8dd2a23 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeIndexSwitch.rst @@ -0,0 +1,168 @@ +GeometryNodeIndexSwitch(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeIndexSwitch(GeometryNode) + + Choose between an arbitrary number of values with an index + + .. attribute:: data_type + + (default ``'GEOMETRY'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. data:: index_switch_items + + (default None, readonly) + + :type: :class:`NodeIndexSwitchItems`\ [:class:`IndexSwitchItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputActiveCamera.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputActiveCamera.rst new file mode 100644 index 0000000..3bf1f30 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputActiveCamera.rst @@ -0,0 +1,156 @@ +GeometryNodeInputActiveCamera(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputActiveCamera(GeometryNode) + + Retrieve the scene's active camera + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputCollection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputCollection.rst new file mode 100644 index 0000000..53ab59b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputCollection.rst @@ -0,0 +1,160 @@ +GeometryNodeInputCollection(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputCollection(GeometryNode) + + Output a single collection + + .. attribute:: collection + + :type: :class:`Collection` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputCurveHandlePositions.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputCurveHandlePositions.rst new file mode 100644 index 0000000..75e6ee6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputCurveHandlePositions.rst @@ -0,0 +1,156 @@ +GeometryNodeInputCurveHandlePositions(GeometryNode) +=================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputCurveHandlePositions(GeometryNode) + + Retrieve the position of each Bézier control point's handles + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputCurveTilt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputCurveTilt.rst new file mode 100644 index 0000000..089c9ff --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputCurveTilt.rst @@ -0,0 +1,156 @@ +GeometryNodeInputCurveTilt(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputCurveTilt(GeometryNode) + + Retrieve the angle at each control point used to twist the curve's normal around its tangent + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputEdgeSmooth.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputEdgeSmooth.rst new file mode 100644 index 0000000..ad11192 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputEdgeSmooth.rst @@ -0,0 +1,156 @@ +GeometryNodeInputEdgeSmooth(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputEdgeSmooth(GeometryNode) + + Retrieve whether each edge is marked for smooth or split normals + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputID.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputID.rst new file mode 100644 index 0000000..5609480 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputID.rst @@ -0,0 +1,156 @@ +GeometryNodeInputID(GeometryNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputID(GeometryNode) + + Retrieve a stable random identifier value from the "id" attribute on the point domain, or the index if the attribute does not exist + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputImage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputImage.rst new file mode 100644 index 0000000..551b712 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputImage.rst @@ -0,0 +1,160 @@ +GeometryNodeInputImage(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputImage(GeometryNode) + + Input an image data-block + + .. attribute:: image + + :type: :class:`Image` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputIndex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputIndex.rst new file mode 100644 index 0000000..5addccd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputIndex.rst @@ -0,0 +1,156 @@ +GeometryNodeInputIndex(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputIndex(GeometryNode) + + Retrieve an integer value indicating the position of each element in the list, starting at zero + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputInstanceBounds.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputInstanceBounds.rst new file mode 100644 index 0000000..f311e68 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputInstanceBounds.rst @@ -0,0 +1,156 @@ +GeometryNodeInputInstanceBounds(GeometryNode) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputInstanceBounds(GeometryNode) + + Calculate position bounds of each instance's geometry set + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputInstanceRotation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputInstanceRotation.rst new file mode 100644 index 0000000..2a1bb1e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputInstanceRotation.rst @@ -0,0 +1,156 @@ +GeometryNodeInputInstanceRotation(GeometryNode) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputInstanceRotation(GeometryNode) + + Retrieve the rotation of each instance in the geometry + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputInstanceScale.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputInstanceScale.rst new file mode 100644 index 0000000..e473ea3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputInstanceScale.rst @@ -0,0 +1,156 @@ +GeometryNodeInputInstanceScale(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputInstanceScale(GeometryNode) + + Retrieve the scale of each instance in the geometry + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMaterial.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMaterial.rst new file mode 100644 index 0000000..77c3d12 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMaterial.rst @@ -0,0 +1,160 @@ +GeometryNodeInputMaterial(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputMaterial(GeometryNode) + + Output a single material + + .. attribute:: material + + :type: :class:`Material` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMaterialIndex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMaterialIndex.rst new file mode 100644 index 0000000..2aa678b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMaterialIndex.rst @@ -0,0 +1,156 @@ +GeometryNodeInputMaterialIndex(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputMaterialIndex(GeometryNode) + + Retrieve the index of the material used for each element in the geometry's list of materials + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshEdgeAngle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshEdgeAngle.rst new file mode 100644 index 0000000..8ad8743 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshEdgeAngle.rst @@ -0,0 +1,156 @@ +GeometryNodeInputMeshEdgeAngle(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputMeshEdgeAngle(GeometryNode) + + The angle between the normals of connected manifold faces + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshEdgeNeighbors.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshEdgeNeighbors.rst new file mode 100644 index 0000000..2d9cc80 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshEdgeNeighbors.rst @@ -0,0 +1,156 @@ +GeometryNodeInputMeshEdgeNeighbors(GeometryNode) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputMeshEdgeNeighbors(GeometryNode) + + Retrieve the number of faces that use each edge as one of their sides + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshEdgeVertices.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshEdgeVertices.rst new file mode 100644 index 0000000..8c5b648 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshEdgeVertices.rst @@ -0,0 +1,156 @@ +GeometryNodeInputMeshEdgeVertices(GeometryNode) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputMeshEdgeVertices(GeometryNode) + + Retrieve topology information relating to each edge of a mesh + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshFaceArea.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshFaceArea.rst new file mode 100644 index 0000000..18bf7e7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshFaceArea.rst @@ -0,0 +1,156 @@ +GeometryNodeInputMeshFaceArea(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputMeshFaceArea(GeometryNode) + + Calculate the surface area of a mesh's faces + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshFaceIsPlanar.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshFaceIsPlanar.rst new file mode 100644 index 0000000..d70d53b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshFaceIsPlanar.rst @@ -0,0 +1,156 @@ +GeometryNodeInputMeshFaceIsPlanar(GeometryNode) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputMeshFaceIsPlanar(GeometryNode) + + Retrieve whether all triangles in a face are on the same plane, i.e. whether they have the same normal + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshFaceNeighbors.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshFaceNeighbors.rst new file mode 100644 index 0000000..13f26fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshFaceNeighbors.rst @@ -0,0 +1,156 @@ +GeometryNodeInputMeshFaceNeighbors(GeometryNode) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputMeshFaceNeighbors(GeometryNode) + + Retrieve topology information relating to each face of a mesh + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshIsland.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshIsland.rst new file mode 100644 index 0000000..7ec5098 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshIsland.rst @@ -0,0 +1,156 @@ +GeometryNodeInputMeshIsland(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputMeshIsland(GeometryNode) + + Retrieve information about separate connected regions in a mesh + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshVertexNeighbors.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshVertexNeighbors.rst new file mode 100644 index 0000000..ba67275 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputMeshVertexNeighbors.rst @@ -0,0 +1,156 @@ +GeometryNodeInputMeshVertexNeighbors(GeometryNode) +================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputMeshVertexNeighbors(GeometryNode) + + Retrieve topology information relating to each vertex of a mesh + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputNamedAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputNamedAttribute.rst new file mode 100644 index 0000000..2655677 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputNamedAttribute.rst @@ -0,0 +1,162 @@ +GeometryNodeInputNamedAttribute(GeometryNode) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputNamedAttribute(GeometryNode) + + Retrieve the data of a specified attribute + + .. attribute:: data_type + + The data type used to read the attribute values (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputNamedLayerSelection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputNamedLayerSelection.rst new file mode 100644 index 0000000..fb32d48 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputNamedLayerSelection.rst @@ -0,0 +1,156 @@ +GeometryNodeInputNamedLayerSelection(GeometryNode) +================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputNamedLayerSelection(GeometryNode) + + Output a selection of a Grease Pencil layer + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputNormal.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputNormal.rst new file mode 100644 index 0000000..5bc3510 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputNormal.rst @@ -0,0 +1,162 @@ +GeometryNodeInputNormal(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputNormal(GeometryNode) + + Retrieve a unit length vector indicating the direction pointing away from the geometry at each element + + .. attribute:: legacy_corner_normals + + Always use face normals for the face corner domain, matching old behavior of the node (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputObject.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputObject.rst new file mode 100644 index 0000000..4b5a0b6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputObject.rst @@ -0,0 +1,160 @@ +GeometryNodeInputObject(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputObject(GeometryNode) + + Output a single object + + .. attribute:: object + + :type: :class:`Object` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputPosition.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputPosition.rst new file mode 100644 index 0000000..2f5465c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputPosition.rst @@ -0,0 +1,156 @@ +GeometryNodeInputPosition(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputPosition(GeometryNode) + + Retrieve a vector indicating the location of each element + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputRadius.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputRadius.rst new file mode 100644 index 0000000..4940d46 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputRadius.rst @@ -0,0 +1,156 @@ +GeometryNodeInputRadius(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputRadius(GeometryNode) + + Retrieve the radius at each point on curve or point cloud geometry + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputSceneTime.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputSceneTime.rst new file mode 100644 index 0000000..fe3e449 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputSceneTime.rst @@ -0,0 +1,156 @@ +GeometryNodeInputSceneTime(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputSceneTime(GeometryNode) + + Retrieve the current time in the scene's animation in units of seconds or frames + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputShadeSmooth.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputShadeSmooth.rst new file mode 100644 index 0000000..c8a4f55 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputShadeSmooth.rst @@ -0,0 +1,156 @@ +GeometryNodeInputShadeSmooth(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputShadeSmooth(GeometryNode) + + Retrieve whether each face is marked for smooth or sharp normals + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputShortestEdgePaths.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputShortestEdgePaths.rst new file mode 100644 index 0000000..d3752ae --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputShortestEdgePaths.rst @@ -0,0 +1,156 @@ +GeometryNodeInputShortestEdgePaths(GeometryNode) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputShortestEdgePaths(GeometryNode) + + Find the shortest paths along mesh edges to selected end vertices, with customizable cost per edge + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputSplineCyclic.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputSplineCyclic.rst new file mode 100644 index 0000000..98afb26 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputSplineCyclic.rst @@ -0,0 +1,156 @@ +GeometryNodeInputSplineCyclic(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputSplineCyclic(GeometryNode) + + Retrieve whether each spline endpoint connects to the beginning + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputSplineResolution.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputSplineResolution.rst new file mode 100644 index 0000000..f0d3520 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputSplineResolution.rst @@ -0,0 +1,156 @@ +GeometryNodeInputSplineResolution(GeometryNode) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputSplineResolution(GeometryNode) + + Retrieve the number of evaluated points that will be generated for every control point on curves + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputTangent.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputTangent.rst new file mode 100644 index 0000000..2c124b1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputTangent.rst @@ -0,0 +1,156 @@ +GeometryNodeInputTangent(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputTangent(GeometryNode) + + Retrieve the direction of curves at each control point + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputVoxelIndex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputVoxelIndex.rst new file mode 100644 index 0000000..9d43c8a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInputVoxelIndex.rst @@ -0,0 +1,156 @@ +GeometryNodeInputVoxelIndex(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInputVoxelIndex(GeometryNode) + + Retrieve the integer coordinates of the voxel that the field is evaluated on + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInstanceOnPoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInstanceOnPoints.rst new file mode 100644 index 0000000..b171f18 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInstanceOnPoints.rst @@ -0,0 +1,156 @@ +GeometryNodeInstanceOnPoints(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInstanceOnPoints(GeometryNode) + + Generate a reference to geometry at each of the input points, without duplicating its underlying data + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInstanceTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInstanceTransform.rst new file mode 100644 index 0000000..2411067 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInstanceTransform.rst @@ -0,0 +1,156 @@ +GeometryNodeInstanceTransform(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInstanceTransform(GeometryNode) + + Retrieve the full transformation of each instance in the geometry + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInstancesToPoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInstancesToPoints.rst new file mode 100644 index 0000000..c4702d1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInstancesToPoints.rst @@ -0,0 +1,157 @@ +GeometryNodeInstancesToPoints(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInstancesToPoints(GeometryNode) + + Generate points at the origins of instances. + Note: Nested instances are not affected by this node + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInterpolateCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInterpolateCurves.rst new file mode 100644 index 0000000..7439be3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeInterpolateCurves.rst @@ -0,0 +1,156 @@ +GeometryNodeInterpolateCurves(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeInterpolateCurves(GeometryNode) + + Generate new curves on points by interpolating between existing curves + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeIsViewport.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeIsViewport.rst new file mode 100644 index 0000000..9fc7eea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeIsViewport.rst @@ -0,0 +1,156 @@ +GeometryNodeIsViewport(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeIsViewport(GeometryNode) + + Retrieve whether the nodes are being evaluated for the viewport rather than the final render + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeJoinGeometry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeJoinGeometry.rst new file mode 100644 index 0000000..f02d429 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeJoinGeometry.rst @@ -0,0 +1,156 @@ +GeometryNodeJoinGeometry(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeJoinGeometry(GeometryNode) + + Merge separately generated geometries into a single one + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeListGetItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeListGetItem.rst new file mode 100644 index 0000000..00912bd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeListGetItem.rst @@ -0,0 +1,168 @@ +GeometryNodeListGetItem(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeListGetItem(GeometryNode) + + Retrieve a value from a list + + .. attribute:: socket_type + + Value may be implicitly converted if the type does not match (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. attribute:: structure_type + + What kind of higher order types are expected to flow through this socket (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_node_socket_structure_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeListLength.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeListLength.rst new file mode 100644 index 0000000..98401d8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeListLength.rst @@ -0,0 +1,162 @@ +GeometryNodeListLength(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeListLength(GeometryNode) + + Count how many items are in a given list + + .. attribute:: data_type + + (default ``'GEOMETRY'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMaterialSelection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMaterialSelection.rst new file mode 100644 index 0000000..d37ceaa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMaterialSelection.rst @@ -0,0 +1,156 @@ +GeometryNodeMaterialSelection(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMaterialSelection(GeometryNode) + + Provide a selection of faces that use the specified material + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMenuSwitch.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMenuSwitch.rst new file mode 100644 index 0000000..05cf620 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMenuSwitch.rst @@ -0,0 +1,186 @@ +GeometryNodeMenuSwitch(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMenuSwitch(GeometryNode) + + Select from multiple inputs by name + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_item + + Active item + + :type: :class:`NodeEnumItem` | None + + .. attribute:: data_type + + (default ``'GEOMETRY'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. data:: enum_definition + + The enum definition can now be accessed directly on the node. This exists for backward compatibility. (readonly) + + :type: :class:`Node` | None + + .. data:: enum_items + + (default None, readonly) + + :type: :class:`NodeMenuSwitchItems`\ [:class:`NodeEnumItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMergeByDistance.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMergeByDistance.rst new file mode 100644 index 0000000..d6b6a2e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMergeByDistance.rst @@ -0,0 +1,156 @@ +GeometryNodeMergeByDistance(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMergeByDistance(GeometryNode) + + Merge vertices or points within a given distance + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMergeLayers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMergeLayers.rst new file mode 100644 index 0000000..e47f217 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMergeLayers.rst @@ -0,0 +1,167 @@ +GeometryNodeMergeLayers(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMergeLayers(GeometryNode) + + Join groups of Grease Pencil layers into one + + .. attribute:: mode + + Determines how to choose which layers are merged (default ``'MERGE_BY_NAME'``) + + - ``MERGE_BY_NAME`` + By Name -- Combine all layers which have the same name. + - ``MERGE_BY_ID`` + By Group ID -- Provide a custom group ID for each layer and all layers with the same ID will be merged into one. + + :type: Literal['MERGE_BY_NAME', 'MERGE_BY_ID'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshBoolean.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshBoolean.rst new file mode 100644 index 0000000..35e8013 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshBoolean.rst @@ -0,0 +1,182 @@ +GeometryNodeMeshBoolean(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshBoolean(GeometryNode) + + Cut, subtract, or join multiple mesh inputs + + .. attribute:: operation + + (default ``'INTERSECT'``) + + - ``INTERSECT`` + Intersect -- Keep the part of the mesh that is common between all operands. + - ``UNION`` + Union -- Combine meshes in an additive way. + - ``DIFFERENCE`` + Difference -- Combine meshes in a subtractive way. + + :type: Literal['INTERSECT', 'UNION', 'DIFFERENCE'] + + .. attribute:: solver + + (default ``'FLOAT'``) + + - ``EXACT`` + Exact -- Slower solver with the best results for coplanar faces. + - ``FLOAT`` + Float -- Simple solver with good performance, without support for overlapping geometry. + - ``MANIFOLD`` + Manifold -- Fastest solver that works only on manifold meshes but gives better results. + + :type: Literal['EXACT', 'FLOAT', 'MANIFOLD'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCircle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCircle.rst new file mode 100644 index 0000000..768fb98 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCircle.rst @@ -0,0 +1,162 @@ +GeometryNodeMeshCircle(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshCircle(GeometryNode) + + Generate a circular ring of edges + + .. attribute:: fill_type + + (default ``'NONE'``) + + :type: Literal[:ref:`rna_enum_node_geometry_mesh_circle_fill_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCone.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCone.rst new file mode 100644 index 0000000..0173248 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCone.rst @@ -0,0 +1,162 @@ +GeometryNodeMeshCone(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshCone(GeometryNode) + + Generate a cone mesh + + .. attribute:: fill_type + + (default ``'NGON'``) + + :type: Literal[:ref:`rna_enum_node_geometry_mesh_circle_fill_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCube.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCube.rst new file mode 100644 index 0000000..03d9590 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCube.rst @@ -0,0 +1,156 @@ +GeometryNodeMeshCube(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshCube(GeometryNode) + + Generate a cuboid mesh with variable side lengths and subdivisions + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCylinder.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCylinder.rst new file mode 100644 index 0000000..279c298 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshCylinder.rst @@ -0,0 +1,162 @@ +GeometryNodeMeshCylinder(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshCylinder(GeometryNode) + + Generate a cylinder mesh + + .. attribute:: fill_type + + (default ``'NGON'``) + + :type: Literal[:ref:`rna_enum_node_geometry_mesh_circle_fill_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshFaceSetBoundaries.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshFaceSetBoundaries.rst new file mode 100644 index 0000000..42134af --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshFaceSetBoundaries.rst @@ -0,0 +1,156 @@ +GeometryNodeMeshFaceSetBoundaries(GeometryNode) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshFaceSetBoundaries(GeometryNode) + + Find edges on the boundaries between groups of faces with the same ID value + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshGrid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshGrid.rst new file mode 100644 index 0000000..a240ae1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshGrid.rst @@ -0,0 +1,156 @@ +GeometryNodeMeshGrid(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshGrid(GeometryNode) + + Generate a planar mesh on the XY plane + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshIcoSphere.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshIcoSphere.rst new file mode 100644 index 0000000..2cfcbf9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshIcoSphere.rst @@ -0,0 +1,156 @@ +GeometryNodeMeshIcoSphere(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshIcoSphere(GeometryNode) + + Generate a spherical mesh that consists of equally sized triangles + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshLine.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshLine.rst new file mode 100644 index 0000000..59034f1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshLine.rst @@ -0,0 +1,178 @@ +GeometryNodeMeshLine(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshLine(GeometryNode) + + Generate vertices in a line and connect them with edges + + .. attribute:: count_mode + + (default ``'TOTAL'``) + + - ``TOTAL`` + Count -- Specify the total number of vertices. + - ``RESOLUTION`` + Resolution -- Specify the distance between vertices. + + :type: Literal['TOTAL', 'RESOLUTION'] + + .. attribute:: mode + + (default ``'OFFSET'``) + + - ``OFFSET`` + Offset -- Specify the offset from one vertex to the next. + - ``END_POINTS`` + End Points -- Specify the line's start and end points. + + :type: Literal['OFFSET', 'END_POINTS'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToCurve.rst new file mode 100644 index 0000000..0fdda07 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToCurve.rst @@ -0,0 +1,167 @@ +GeometryNodeMeshToCurve(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshToCurve(GeometryNode) + + Generate a curve from a mesh + + .. attribute:: mode + + (default ``'EDGES'``) + + - ``EDGES`` + Edges -- Convert mesh edges to curve segments. Attributes are propagated to curve points.. + - ``FACES`` + Faces -- Convert each mesh face to a cyclic curve. Face attributes are propagated to curves.. + + :type: Literal['EDGES', 'FACES'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToDensityGrid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToDensityGrid.rst new file mode 100644 index 0000000..5745da9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToDensityGrid.rst @@ -0,0 +1,156 @@ +GeometryNodeMeshToDensityGrid(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshToDensityGrid(GeometryNode) + + Create a filled volume grid from a mesh + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToPoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToPoints.rst new file mode 100644 index 0000000..635fdeb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToPoints.rst @@ -0,0 +1,171 @@ +GeometryNodeMeshToPoints(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshToPoints(GeometryNode) + + Generate a point cloud from a mesh's vertices + + .. attribute:: mode + + (default ``'VERTICES'``) + + - ``VERTICES`` + Vertices -- Create a point in the point cloud for each selected vertex. + - ``EDGES`` + Edges -- Create a point in the point cloud for each selected edge. + - ``FACES`` + Faces -- Create a point in the point cloud for each selected face. + - ``CORNERS`` + Corners -- Create a point in the point cloud for each selected face corner. + + :type: Literal['VERTICES', 'EDGES', 'FACES', 'CORNERS'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToSDFGrid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToSDFGrid.rst new file mode 100644 index 0000000..ecabf70 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToSDFGrid.rst @@ -0,0 +1,156 @@ +GeometryNodeMeshToSDFGrid(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshToSDFGrid(GeometryNode) + + Create a signed distance volume grid from a mesh + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToVolume.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToVolume.rst new file mode 100644 index 0000000..b8d80c0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshToVolume.rst @@ -0,0 +1,156 @@ +GeometryNodeMeshToVolume(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshToVolume(GeometryNode) + + Create a fog volume with the shape of the input mesh's surface + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshUVSphere.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshUVSphere.rst new file mode 100644 index 0000000..8719673 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeMeshUVSphere.rst @@ -0,0 +1,156 @@ +GeometryNodeMeshUVSphere(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeMeshUVSphere(GeometryNode) + + Generate a spherical mesh with quads, except for triangles at the top and bottom + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeObjectInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeObjectInfo.rst new file mode 100644 index 0000000..64966e2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeObjectInfo.rst @@ -0,0 +1,167 @@ +GeometryNodeObjectInfo(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeObjectInfo(GeometryNode) + + Retrieve information from an object + + .. attribute:: transform_space + + The transformation of the vector and geometry outputs (default ``'ORIGINAL'``) + + - ``ORIGINAL`` + Original -- Output the geometry relative to the input object transform, and the location, rotation and scale relative to the world origin. + - ``RELATIVE`` + Relative -- Bring the input object geometry, location, rotation and scale into the modified object, maintaining the relative position between the two objects in the scene. + + :type: Literal['ORIGINAL', 'RELATIVE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeOffsetCornerInFace.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeOffsetCornerInFace.rst new file mode 100644 index 0000000..fe55ec7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeOffsetCornerInFace.rst @@ -0,0 +1,156 @@ +GeometryNodeOffsetCornerInFace(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeOffsetCornerInFace(GeometryNode) + + Retrieve corners in the same face as another + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeOffsetPointInCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeOffsetPointInCurve.rst new file mode 100644 index 0000000..41eaaa6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeOffsetPointInCurve.rst @@ -0,0 +1,156 @@ +GeometryNodeOffsetPointInCurve(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeOffsetPointInCurve(GeometryNode) + + Offset a control point index within its curve + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePoints.rst new file mode 100644 index 0000000..241f6fc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePoints.rst @@ -0,0 +1,156 @@ +GeometryNodePoints(GeometryNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodePoints(GeometryNode) + + Generate a point cloud with positions and radii defined by fields + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsOfCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsOfCurve.rst new file mode 100644 index 0000000..db2f4e8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsOfCurve.rst @@ -0,0 +1,156 @@ +GeometryNodePointsOfCurve(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodePointsOfCurve(GeometryNode) + + Retrieve a point index within a curve + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToCurves.rst new file mode 100644 index 0000000..f49ac11 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToCurves.rst @@ -0,0 +1,156 @@ +GeometryNodePointsToCurves(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodePointsToCurves(GeometryNode) + + Split all points to curve by its group ID and reorder by weight + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToSDFGrid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToSDFGrid.rst new file mode 100644 index 0000000..a430e2f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToSDFGrid.rst @@ -0,0 +1,156 @@ +GeometryNodePointsToSDFGrid(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodePointsToSDFGrid(GeometryNode) + + Create a signed distance volume grid from points + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToVertices.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToVertices.rst new file mode 100644 index 0000000..74760b4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToVertices.rst @@ -0,0 +1,156 @@ +GeometryNodePointsToVertices(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodePointsToVertices(GeometryNode) + + Generate a mesh vertex for each point cloud point + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToVolume.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToVolume.rst new file mode 100644 index 0000000..5ec6154 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodePointsToVolume.rst @@ -0,0 +1,156 @@ +GeometryNodePointsToVolume(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodePointsToVolume(GeometryNode) + + Generate a fog volume sphere around every point + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeProximity.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeProximity.rst new file mode 100644 index 0000000..de39eb9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeProximity.rst @@ -0,0 +1,169 @@ +GeometryNodeProximity(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeProximity(GeometryNode) + + Compute the closest location on the target geometry + + .. attribute:: target_element + + Element of the target geometry to calculate the distance from (default ``'FACES'``) + + - ``POINTS`` + Points -- Calculate the proximity to the target's points (faster than the other modes). + - ``EDGES`` + Edges -- Calculate the proximity to the target's edges. + - ``FACES`` + Faces -- Calculate the proximity to the target's faces. + + :type: Literal['POINTS', 'EDGES', 'FACES'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRaycast.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRaycast.rst new file mode 100644 index 0000000..8adc231 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRaycast.rst @@ -0,0 +1,162 @@ +GeometryNodeRaycast(GeometryNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeRaycast(GeometryNode) + + Cast rays from the context geometry onto a target geometry, and retrieve information from each hit point + + .. attribute:: data_type + + Type of data stored in attribute (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRealizeInstances.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRealizeInstances.rst new file mode 100644 index 0000000..1155c51 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRealizeInstances.rst @@ -0,0 +1,162 @@ +GeometryNodeRealizeInstances(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeRealizeInstances(GeometryNode) + + Convert instances into real geometry data + + .. attribute:: realize_to_point_domain + + Propagate instance attributes to the point domain rather than the curve domain. This property exists for compatibility with 5.0 and earlier. (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRemoveAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRemoveAttribute.rst new file mode 100644 index 0000000..0854e0a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRemoveAttribute.rst @@ -0,0 +1,156 @@ +GeometryNodeRemoveAttribute(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeRemoveAttribute(GeometryNode) + + Delete an attribute with a specified name from a geometry. Typically used to optimize performance + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRepeatInput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRepeatInput.rst new file mode 100644 index 0000000..4e6c9a3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRepeatInput.rst @@ -0,0 +1,170 @@ +GeometryNodeRepeatInput(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeRepeatInput(GeometryNode) + + + .. data:: paired_output + + Zone output node that this input node is paired with (readonly) + + :type: :class:`Node` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. method:: pair_with_output(output_node) + + Pair a zone input node with an output node. + + :param output_node: Output Node, Zone output node to pair with + :type output_node: :class:`NodeInternal` | None + :return: Result, True if pairing the node was successful + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRepeatOutput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRepeatOutput.rst new file mode 100644 index 0000000..ce9239e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRepeatOutput.rst @@ -0,0 +1,179 @@ +GeometryNodeRepeatOutput(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeRepeatOutput(GeometryNode) + + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_item + + Index of the active item + + :type: :class:`RepeatItem` | None + + .. attribute:: inspection_index + + Iteration index that is used by inspection features like the viewer node or socket inspection (in [-inf, inf], default 0) + + :type: int + + .. data:: repeat_items + + (default None, readonly) + + :type: :class:`NodeGeometryRepeatOutputItems`\ [:class:`RepeatItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeReplaceMaterial.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeReplaceMaterial.rst new file mode 100644 index 0000000..17d898c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeReplaceMaterial.rst @@ -0,0 +1,156 @@ +GeometryNodeReplaceMaterial(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeReplaceMaterial(GeometryNode) + + Swap one material with another + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeResampleCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeResampleCurve.rst new file mode 100644 index 0000000..13466ee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeResampleCurve.rst @@ -0,0 +1,162 @@ +GeometryNodeResampleCurve(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeResampleCurve(GeometryNode) + + Generate a poly spline for each input spline + + .. attribute:: keep_last_segment + + Do not collapse curves to single points if they are shorter than the given length. The collapsing behavior exists for compatibility reasons. (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeReverseCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeReverseCurve.rst new file mode 100644 index 0000000..4d2c996 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeReverseCurve.rst @@ -0,0 +1,156 @@ +GeometryNodeReverseCurve(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeReverseCurve(GeometryNode) + + Change the direction of curves by swapping their start and end data + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRotateInstances.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRotateInstances.rst new file mode 100644 index 0000000..37ff27d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeRotateInstances.rst @@ -0,0 +1,156 @@ +GeometryNodeRotateInstances(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeRotateInstances(GeometryNode) + + Rotate geometry instances in local or global space + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridBoolean.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridBoolean.rst new file mode 100644 index 0000000..7c40d94 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridBoolean.rst @@ -0,0 +1,169 @@ +GeometryNodeSDFGridBoolean(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSDFGridBoolean(GeometryNode) + + Cut, subtract, or join multiple SDF volume grid inputs + + .. attribute:: operation + + (default ``'DIFFERENCE'``) + + - ``INTERSECT`` + Intersect -- Keep the part of the grids that is common between all operands. + - ``UNION`` + Union -- Combine grids in an additive way. + - ``DIFFERENCE`` + Difference -- Combine grids in a subtractive way. + + :type: Literal['INTERSECT', 'UNION', 'DIFFERENCE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridFillet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridFillet.rst new file mode 100644 index 0000000..669cd99 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridFillet.rst @@ -0,0 +1,156 @@ +GeometryNodeSDFGridFillet(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSDFGridFillet(GeometryNode) + + Round off concave internal corners in a signed distance field. Only affects areas with negative principal curvature, creating smoother transitions between surfaces + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridLaplacian.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridLaplacian.rst new file mode 100644 index 0000000..0e69c69 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridLaplacian.rst @@ -0,0 +1,156 @@ +GeometryNodeSDFGridLaplacian(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSDFGridLaplacian(GeometryNode) + + Apply Laplacian flow smoothing to a signed distance field. Computationally efficient alternative to mean curvature flow, ideal when combined with SDF normalization + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridMean.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridMean.rst new file mode 100644 index 0000000..70fb228 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridMean.rst @@ -0,0 +1,156 @@ +GeometryNodeSDFGridMean(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSDFGridMean(GeometryNode) + + Apply mean (box) filter smoothing to a signed distance field. Fast separable averaging filter for general smoothing of the distance field + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridMeanCurvature.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridMeanCurvature.rst new file mode 100644 index 0000000..379ca88 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridMeanCurvature.rst @@ -0,0 +1,156 @@ +GeometryNodeSDFGridMeanCurvature(GeometryNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSDFGridMeanCurvature(GeometryNode) + + Apply mean curvature flow smoothing to a signed distance field. Evolves the surface based on its mean curvature, naturally smoothing high-curvature regions more than flat areas + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridMedian.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridMedian.rst new file mode 100644 index 0000000..3249ce7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridMedian.rst @@ -0,0 +1,156 @@ +GeometryNodeSDFGridMedian(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSDFGridMedian(GeometryNode) + + Apply median filter to a signed distance field. Reduces noise while preserving sharp features and edges in the distance field + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridOffset.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridOffset.rst new file mode 100644 index 0000000..99b7bd0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSDFGridOffset.rst @@ -0,0 +1,156 @@ +GeometryNodeSDFGridOffset(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSDFGridOffset(GeometryNode) + + Offset a signed distance field surface by a world-space distance. Dilates (positive) or erodes (negative) while maintaining the signed distance property + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleCurve.rst new file mode 100644 index 0000000..a0dc432 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleCurve.rst @@ -0,0 +1,179 @@ +GeometryNodeSampleCurve(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSampleCurve(GeometryNode) + + Retrieve data from a point on a curve at a certain distance from its start + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. attribute:: mode + + Method for sampling input (default ``'FACTOR'``) + + - ``FACTOR`` + Factor -- Find sample positions on the curve using a factor of its total length. + - ``LENGTH`` + Length -- Find sample positions on the curve using a distance from its beginning. + + :type: Literal['FACTOR', 'LENGTH'] + + .. attribute:: use_all_curves + + Sample lengths based on the total length of all curves, rather than using a length inside each selected curve (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleGrid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleGrid.rst new file mode 100644 index 0000000..36ddb49 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleGrid.rst @@ -0,0 +1,162 @@ +GeometryNodeSampleGrid(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSampleGrid(GeometryNode) + + Retrieve values from the specified volume grid + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleGridIndex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleGridIndex.rst new file mode 100644 index 0000000..be46099 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleGridIndex.rst @@ -0,0 +1,162 @@ +GeometryNodeSampleGridIndex(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSampleGridIndex(GeometryNode) + + Retrieve volume grid values at specific voxels + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleIndex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleIndex.rst new file mode 100644 index 0000000..1804ffc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleIndex.rst @@ -0,0 +1,174 @@ +GeometryNodeSampleIndex(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSampleIndex(GeometryNode) + + Retrieve values from specific geometry elements + + .. attribute:: clamp + + Clamp the indices to the size of the attribute domain instead of outputting a default value for invalid indices (default False) + + :type: bool + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. attribute:: domain + + (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleNearest.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleNearest.rst new file mode 100644 index 0000000..10192aa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleNearest.rst @@ -0,0 +1,162 @@ +GeometryNodeSampleNearest(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSampleNearest(GeometryNode) + + Find the element of a geometry closest to a position. Similar to the "Index of Nearest" node + + .. attribute:: domain + + (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_only_mesh_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleNearestSurface.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleNearestSurface.rst new file mode 100644 index 0000000..01da176 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleNearestSurface.rst @@ -0,0 +1,162 @@ +GeometryNodeSampleNearestSurface(GeometryNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSampleNearestSurface(GeometryNode) + + Calculate the interpolated value of a mesh attribute on the closest point of its surface + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleUVSurface.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleUVSurface.rst new file mode 100644 index 0000000..5e33cca --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSampleUVSurface.rst @@ -0,0 +1,162 @@ +GeometryNodeSampleUVSurface(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSampleUVSurface(GeometryNode) + + Calculate the interpolated values of a mesh attribute at a UV coordinate + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeScaleElements.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeScaleElements.rst new file mode 100644 index 0000000..a9d85f1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeScaleElements.rst @@ -0,0 +1,167 @@ +GeometryNodeScaleElements(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeScaleElements(GeometryNode) + + Scale groups of connected edges and faces + + .. attribute:: domain + + Element type to transform (default ``'FACE'``) + + - ``FACE`` + Face -- Scale individual faces or neighboring face islands. + - ``EDGE`` + Edge -- Scale individual edges or neighboring edge islands. + + :type: Literal['FACE', 'EDGE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeScaleInstances.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeScaleInstances.rst new file mode 100644 index 0000000..2cd77c3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeScaleInstances.rst @@ -0,0 +1,156 @@ +GeometryNodeScaleInstances(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeScaleInstances(GeometryNode) + + Scale geometry instances in local or global space + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSelfObject.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSelfObject.rst new file mode 100644 index 0000000..d4f99ec --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSelfObject.rst @@ -0,0 +1,156 @@ +GeometryNodeSelfObject(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSelfObject(GeometryNode) + + Retrieve the object that contains the geometry nodes modifier currently being executed + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSeparateComponents.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSeparateComponents.rst new file mode 100644 index 0000000..c5b9451 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSeparateComponents.rst @@ -0,0 +1,156 @@ +GeometryNodeSeparateComponents(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSeparateComponents(GeometryNode) + + Split a geometry into a separate output for each type of data in the geometry + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSeparateGeometry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSeparateGeometry.rst new file mode 100644 index 0000000..3d6d202 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSeparateGeometry.rst @@ -0,0 +1,162 @@ +GeometryNodeSeparateGeometry(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSeparateGeometry(GeometryNode) + + Split a geometry into two geometry outputs based on a selection + + .. attribute:: domain + + Which domain to separate on (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_without_corner_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveHandlePositions.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveHandlePositions.rst new file mode 100644 index 0000000..31693e1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveHandlePositions.rst @@ -0,0 +1,162 @@ +GeometryNodeSetCurveHandlePositions(GeometryNode) +================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetCurveHandlePositions(GeometryNode) + + Set the positions for the handles of Bézier curves + + .. attribute:: mode + + Whether to update left and right handles (default ``'LEFT'``) + + :type: Literal[:ref:`rna_enum_node_geometry_curve_handle_side_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveNormal.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveNormal.rst new file mode 100644 index 0000000..1cc7292 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveNormal.rst @@ -0,0 +1,156 @@ +GeometryNodeSetCurveNormal(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetCurveNormal(GeometryNode) + + Set the evaluation mode for curve normals + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveRadius.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveRadius.rst new file mode 100644 index 0000000..1b7968f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveRadius.rst @@ -0,0 +1,156 @@ +GeometryNodeSetCurveRadius(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetCurveRadius(GeometryNode) + + Set the radius of the curve at each control point + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveTilt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveTilt.rst new file mode 100644 index 0000000..65b5723 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetCurveTilt.rst @@ -0,0 +1,156 @@ +GeometryNodeSetCurveTilt(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetCurveTilt(GeometryNode) + + Set the tilt angle at each curve control point + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGeometryBundle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGeometryBundle.rst new file mode 100644 index 0000000..b676bf1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGeometryBundle.rst @@ -0,0 +1,156 @@ +GeometryNodeSetGeometryBundle(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetGeometryBundle(GeometryNode) + + Set the bundle of a geometry + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGeometryName.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGeometryName.rst new file mode 100644 index 0000000..3fb6f47 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGeometryName.rst @@ -0,0 +1,156 @@ +GeometryNodeSetGeometryName(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetGeometryName(GeometryNode) + + Set the name of a geometry for easier debugging + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGreasePencilColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGreasePencilColor.rst new file mode 100644 index 0000000..3d55aea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGreasePencilColor.rst @@ -0,0 +1,167 @@ +GeometryNodeSetGreasePencilColor(GeometryNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetGreasePencilColor(GeometryNode) + + Set color and opacity attributes on Grease Pencil geometry + + .. attribute:: mode + + (default ``'STROKE'``) + + - ``STROKE`` + Stroke -- Set the color and opacity for the points of the stroke. + - ``FILL`` + Fill -- Set the color and opacity for the stroke fills. + + :type: Literal['STROKE', 'FILL'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGreasePencilDepth.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGreasePencilDepth.rst new file mode 100644 index 0000000..7e7e0f3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGreasePencilDepth.rst @@ -0,0 +1,162 @@ +GeometryNodeSetGreasePencilDepth(GeometryNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetGreasePencilDepth(GeometryNode) + + Set the Grease Pencil depth order to use + + .. attribute:: depth_order + + (default ``'2D'``) + + :type: Literal[:ref:`rna_enum_stroke_depth_order_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGreasePencilSoftness.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGreasePencilSoftness.rst new file mode 100644 index 0000000..e4097ea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGreasePencilSoftness.rst @@ -0,0 +1,156 @@ +GeometryNodeSetGreasePencilSoftness(GeometryNode) +================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetGreasePencilSoftness(GeometryNode) + + Set softness attribute on Grease Pencil geometry + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGridBackground.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGridBackground.rst new file mode 100644 index 0000000..0346745 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGridBackground.rst @@ -0,0 +1,162 @@ +GeometryNodeSetGridBackground(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetGridBackground(GeometryNode) + + Set the background value used for inactive voxels and tiles + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGridTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGridTransform.rst new file mode 100644 index 0000000..46281fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetGridTransform.rst @@ -0,0 +1,162 @@ +GeometryNodeSetGridTransform(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetGridTransform(GeometryNode) + + Set the transform for the grid from index space into object space. + + .. attribute:: data_type + + Node socket data type (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetID.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetID.rst new file mode 100644 index 0000000..fb03e09 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetID.rst @@ -0,0 +1,156 @@ +GeometryNodeSetID(GeometryNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetID(GeometryNode) + + Set the id attribute on the input geometry, mainly used internally for randomizing + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetInstanceTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetInstanceTransform.rst new file mode 100644 index 0000000..1be9217 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetInstanceTransform.rst @@ -0,0 +1,156 @@ +GeometryNodeSetInstanceTransform(GeometryNode) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetInstanceTransform(GeometryNode) + + Set the transformation matrix of every instance + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetMaterial.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetMaterial.rst new file mode 100644 index 0000000..5649451 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetMaterial.rst @@ -0,0 +1,156 @@ +GeometryNodeSetMaterial(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetMaterial(GeometryNode) + + Assign a material to geometry elements + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetMaterialIndex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetMaterialIndex.rst new file mode 100644 index 0000000..eced8fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetMaterialIndex.rst @@ -0,0 +1,156 @@ +GeometryNodeSetMaterialIndex(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetMaterialIndex(GeometryNode) + + Set the material index for each selected geometry element + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetMeshNormal.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetMeshNormal.rst new file mode 100644 index 0000000..e5360d7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetMeshNormal.rst @@ -0,0 +1,175 @@ +GeometryNodeSetMeshNormal(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetMeshNormal(GeometryNode) + + Store a normal vector for each mesh element + + .. attribute:: domain + + Attribute domain to store free custom normals (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_only_mesh_no_edge_items`] + + .. attribute:: mode + + Storage mode for custom normal data (default ``'SHARPNESS'``) + + - ``SHARPNESS`` + Sharpness -- Store the sharpness of each face or edge. Similar to the "Shade Smooth" and "Shade Flat" operators.. + - ``FREE`` + Free -- Store custom normals as simple vectors in the local space of the mesh. Values are not necessarily updated automatically later on as the mesh is deformed.. + - ``TANGENT_SPACE`` + Tangent Space -- Store normals in a deformation dependent custom transformation space. This method is slower, but can be better when subsequent operations change the mesh without handling normals specifically.. + + :type: Literal['SHARPNESS', 'FREE', 'TANGENT_SPACE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetPointRadius.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetPointRadius.rst new file mode 100644 index 0000000..59ef9cf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetPointRadius.rst @@ -0,0 +1,156 @@ +GeometryNodeSetPointRadius(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetPointRadius(GeometryNode) + + Set the display size of point cloud points + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetPosition.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetPosition.rst new file mode 100644 index 0000000..070d338 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetPosition.rst @@ -0,0 +1,156 @@ +GeometryNodeSetPosition(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetPosition(GeometryNode) + + Set the location of each point + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetShadeSmooth.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetShadeSmooth.rst new file mode 100644 index 0000000..8f5a5a2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetShadeSmooth.rst @@ -0,0 +1,162 @@ +GeometryNodeSetShadeSmooth(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetShadeSmooth(GeometryNode) + + Control the smoothness of mesh normals around each face by changing the "shade smooth" attribute + + .. attribute:: domain + + (default ``'EDGE'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_edge_face_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetSplineCyclic.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetSplineCyclic.rst new file mode 100644 index 0000000..7ef1a9e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetSplineCyclic.rst @@ -0,0 +1,156 @@ +GeometryNodeSetSplineCyclic(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetSplineCyclic(GeometryNode) + + Control whether each spline loops back on itself by changing the "cyclic" attribute + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetSplineResolution.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetSplineResolution.rst new file mode 100644 index 0000000..14a168c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSetSplineResolution.rst @@ -0,0 +1,156 @@ +GeometryNodeSetSplineResolution(GeometryNode) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSetSplineResolution(GeometryNode) + + Control how many evaluated points should be generated on every curve segment + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSimulationInput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSimulationInput.rst new file mode 100644 index 0000000..4205aa9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSimulationInput.rst @@ -0,0 +1,171 @@ +GeometryNodeSimulationInput(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSimulationInput(GeometryNode) + + Input data for the simulation zone + + .. data:: paired_output + + Zone output node that this input node is paired with (readonly) + + :type: :class:`Node` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. method:: pair_with_output(output_node) + + Pair a zone input node with an output node. + + :param output_node: Output Node, Zone output node to pair with + :type output_node: :class:`NodeInternal` | None + :return: Result, True if pairing the node was successful + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSimulationOutput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSimulationOutput.rst new file mode 100644 index 0000000..a7241b9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSimulationOutput.rst @@ -0,0 +1,174 @@ +GeometryNodeSimulationOutput(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSimulationOutput(GeometryNode) + + Output data from the simulation zone + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_item + + Index of the active item + + :type: :class:`SimulationStateItem` | None + + .. data:: state_items + + (default None, readonly) + + :type: :class:`NodeGeometrySimulationOutputItems`\ [:class:`SimulationStateItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSortElements.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSortElements.rst new file mode 100644 index 0000000..f505355 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSortElements.rst @@ -0,0 +1,173 @@ +GeometryNodeSortElements(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSortElements(GeometryNode) + + Rearrange geometry elements, changing their indices + + .. attribute:: domain + + (default ``'POINT'``) + + - ``POINT`` + Point -- Attribute on point. + - ``EDGE`` + Edge -- Attribute on mesh edge. + - ``FACE`` + Face -- Attribute on mesh faces. + - ``CURVE`` + Spline -- Attribute on spline. + - ``INSTANCE`` + Instance -- Attribute on instance. + + :type: Literal['POINT', 'EDGE', 'FACE', 'CURVE', 'INSTANCE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplineLength.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplineLength.rst new file mode 100644 index 0000000..578d8a6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplineLength.rst @@ -0,0 +1,156 @@ +GeometryNodeSplineLength(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSplineLength(GeometryNode) + + Retrieve the total length of each spline, as a distance or as a number of points + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplineParameter.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplineParameter.rst new file mode 100644 index 0000000..9e50401 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplineParameter.rst @@ -0,0 +1,156 @@ +GeometryNodeSplineParameter(GeometryNode) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSplineParameter(GeometryNode) + + Retrieve how far along each spline a control point is + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplitEdges.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplitEdges.rst new file mode 100644 index 0000000..ce7000b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplitEdges.rst @@ -0,0 +1,156 @@ +GeometryNodeSplitEdges(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSplitEdges(GeometryNode) + + Duplicate mesh edges and break connections with the surrounding faces + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplitToInstances.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplitToInstances.rst new file mode 100644 index 0000000..33b6db4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSplitToInstances.rst @@ -0,0 +1,162 @@ +GeometryNodeSplitToInstances(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSplitToInstances(GeometryNode) + + Create separate geometries containing the elements from the same group + + .. attribute:: domain + + Attribute domain for the Selection and Group ID inputs (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_without_corner_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStoreNamedAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStoreNamedAttribute.rst new file mode 100644 index 0000000..0bb7a42 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStoreNamedAttribute.rst @@ -0,0 +1,168 @@ +GeometryNodeStoreNamedAttribute(GeometryNode) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeStoreNamedAttribute(GeometryNode) + + Store the result of a field on a geometry as an attribute with the specified name + + .. attribute:: data_type + + Type of data stored in attribute (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. attribute:: domain + + Which domain to store the data in (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStoreNamedGrid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStoreNamedGrid.rst new file mode 100644 index 0000000..f107009 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStoreNamedGrid.rst @@ -0,0 +1,162 @@ +GeometryNodeStoreNamedGrid(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeStoreNamedGrid(GeometryNode) + + Store grid data in a volume geometry with the specified name + + .. attribute:: data_type + + Type of grid data (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_volume_grid_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStringJoin.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStringJoin.rst new file mode 100644 index 0000000..3a5cb7f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStringJoin.rst @@ -0,0 +1,156 @@ +GeometryNodeStringJoin(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeStringJoin(GeometryNode) + + Combine any number of input strings + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStringToCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStringToCurves.rst new file mode 100644 index 0000000..b571b32 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeStringToCurves.rst @@ -0,0 +1,156 @@ +GeometryNodeStringToCurves(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeStringToCurves(GeometryNode) + + Generate a paragraph of text with a specific font, using a curve instance to store each character + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSubdivideCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSubdivideCurve.rst new file mode 100644 index 0000000..d67b716 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSubdivideCurve.rst @@ -0,0 +1,156 @@ +GeometryNodeSubdivideCurve(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSubdivideCurve(GeometryNode) + + Dividing each curve segment into a specified number of pieces + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSubdivideMesh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSubdivideMesh.rst new file mode 100644 index 0000000..4c5565b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSubdivideMesh.rst @@ -0,0 +1,156 @@ +GeometryNodeSubdivideMesh(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSubdivideMesh(GeometryNode) + + Divide mesh faces into smaller ones without changing the shape or volume, using linear interpolation to place the new vertices + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSubdivisionSurface.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSubdivisionSurface.rst new file mode 100644 index 0000000..e6e34fe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSubdivisionSurface.rst @@ -0,0 +1,156 @@ +GeometryNodeSubdivisionSurface(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSubdivisionSurface(GeometryNode) + + Divide mesh faces to form a smooth surface, using the Catmull-Clark subdivision method + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSwitch.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSwitch.rst new file mode 100644 index 0000000..4debcc1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeSwitch.rst @@ -0,0 +1,162 @@ +GeometryNodeSwitch(GeometryNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeSwitch(GeometryNode) + + Switch between two inputs + + .. attribute:: input_type + + (default ``'GEOMETRY'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTool3DCursor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTool3DCursor.rst new file mode 100644 index 0000000..c7fde84 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTool3DCursor.rst @@ -0,0 +1,156 @@ +GeometryNodeTool3DCursor(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeTool3DCursor(GeometryNode) + + The scene's 3D cursor location and rotation + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolActiveElement.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolActiveElement.rst new file mode 100644 index 0000000..6fe272b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolActiveElement.rst @@ -0,0 +1,162 @@ +GeometryNodeToolActiveElement(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeToolActiveElement(GeometryNode) + + Active element indices of the edited geometry, for tool execution + + .. attribute:: domain + + (default ``'POINT'``) + + :type: Literal['POINT', 'EDGE', 'FACE', 'LAYER'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolFaceSet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolFaceSet.rst new file mode 100644 index 0000000..d04f3bb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolFaceSet.rst @@ -0,0 +1,156 @@ +GeometryNodeToolFaceSet(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeToolFaceSet(GeometryNode) + + Each face's sculpt face set value + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolMousePosition.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolMousePosition.rst new file mode 100644 index 0000000..970715d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolMousePosition.rst @@ -0,0 +1,156 @@ +GeometryNodeToolMousePosition(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeToolMousePosition(GeometryNode) + + Retrieve the position of the mouse cursor + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolSelection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolSelection.rst new file mode 100644 index 0000000..c10d66d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolSelection.rst @@ -0,0 +1,156 @@ +GeometryNodeToolSelection(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeToolSelection(GeometryNode) + + User selection of the edited geometry, for tool execution + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolSetFaceSet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolSetFaceSet.rst new file mode 100644 index 0000000..5ef16bd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolSetFaceSet.rst @@ -0,0 +1,156 @@ +GeometryNodeToolSetFaceSet(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeToolSetFaceSet(GeometryNode) + + Set sculpt face set values for faces + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolSetSelection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolSetSelection.rst new file mode 100644 index 0000000..e436389 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeToolSetSelection.rst @@ -0,0 +1,173 @@ +GeometryNodeToolSetSelection(GeometryNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeToolSetSelection(GeometryNode) + + Set selection of the edited geometry, for tool execution + + .. attribute:: domain + + (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_point_edge_face_curve_items`] + + .. attribute:: selection_type + + (default ``'BOOLEAN'``) + + - ``BOOLEAN`` + Boolean -- Store true or false selection values in edit mode. + - ``FLOAT`` + Float -- Store floating point selection values. For mesh geometry, stored inverted as the sculpt mode mask. + + :type: Literal['BOOLEAN', 'FLOAT'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTransform.rst new file mode 100644 index 0000000..0b68ec0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTransform.rst @@ -0,0 +1,156 @@ +GeometryNodeTransform(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeTransform(GeometryNode) + + Translate, rotate or scale the geometry + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTranslateInstances.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTranslateInstances.rst new file mode 100644 index 0000000..85a9f86 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTranslateInstances.rst @@ -0,0 +1,156 @@ +GeometryNodeTranslateInstances(GeometryNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeTranslateInstances(GeometryNode) + + Move top-level geometry instances in local or global space + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTree.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTree.rst new file mode 100644 index 0000000..f674bb2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTree.rst @@ -0,0 +1,212 @@ +GeometryNodeTree(NodeTree) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`NodeTree` + +.. class:: GeometryNodeTree(NodeTree) + + Node tree consisting of linked nodes used for geometries + + .. attribute:: is_mode_edit + + The node group is used in edit mode (default False) + + :type: bool + + .. attribute:: is_mode_object + + The node group is used in object mode (default False) + + :type: bool + + .. attribute:: is_mode_paint + + The node group is used in paint mode (default False) + + :type: bool + + .. attribute:: is_mode_sculpt + + The node group is used in sculpt mode (default False) + + :type: bool + + .. attribute:: is_modifier + + The node group is used as a geometry modifier (default False) + + :type: bool + + .. attribute:: is_tool + + The node group is used as a tool (default False) + + :type: bool + + .. attribute:: is_type_curve + + The node group is used for curves (default False) + + :type: bool + + .. attribute:: is_type_grease_pencil + + The node group is used for Grease Pencil (default False) + + :type: bool + + .. attribute:: is_type_mesh + + The node group is used for meshes (default False) + + :type: bool + + .. attribute:: is_type_pointcloud + + The node group is used for point clouds (default False) + + :type: bool + + .. attribute:: node_tool_idname + + Unique operator identifier for the node tool (default "", never None) + + :type: str + + .. attribute:: show_modifier_manage_panel + + Turn on the option to display the manage panel when creating a modifier (default True) + + :type: bool + + .. attribute:: use_wait_for_click + + Wait for mouse click input before running the operator from a menu (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`NodeTree.color_tag` + - :class:`NodeTree.default_group_node_width` + - :class:`NodeTree.view_center` + - :class:`NodeTree.description` + - :class:`NodeTree.animation_data` + - :class:`NodeTree.nodes` + - :class:`NodeTree.links` + - :class:`NodeTree.annotation` + - :class:`NodeTree.type` + - :class:`NodeTree.interface` + - :class:`NodeTree.bl_idname` + - :class:`NodeTree.bl_label` + - :class:`NodeTree.bl_description` + - :class:`NodeTree.bl_icon` + - :class:`NodeTree.bl_use_group_interface` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`NodeTree.interface_update` + - :class:`NodeTree.contains_tree` + - :class:`NodeTree.poll` + - :class:`NodeTree.update` + - :class:`NodeTree.get_from_context` + - :class:`NodeTree.valid_socket_type` + - :class:`NodeTree.debug_lazy_function_graph` + - :class:`NodeTree.bl_rna_get_subclass` + - :class:`NodeTree.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTriangulate.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTriangulate.rst new file mode 100644 index 0000000..f3ca4c0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTriangulate.rst @@ -0,0 +1,156 @@ +GeometryNodeTriangulate(GeometryNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeTriangulate(GeometryNode) + + Convert all faces in a mesh to triangular faces + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTrimCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTrimCurve.rst new file mode 100644 index 0000000..d847121 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeTrimCurve.rst @@ -0,0 +1,167 @@ +GeometryNodeTrimCurve(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeTrimCurve(GeometryNode) + + Shorten curves by removing portions at the start or end + + .. attribute:: mode + + How to find endpoint positions for the trimmed spline (default ``'FACTOR'``) + + - ``FACTOR`` + Factor -- Find the endpoint positions using a factor of each spline's length. + - ``LENGTH`` + Length -- Find the endpoint positions using a length from the start of each spline. + + :type: Literal['FACTOR', 'LENGTH'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeUVPackIslands.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeUVPackIslands.rst new file mode 100644 index 0000000..65c30ac --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeUVPackIslands.rst @@ -0,0 +1,156 @@ +GeometryNodeUVPackIslands(GeometryNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeUVPackIslands(GeometryNode) + + Scale islands of a UV map and move them so they fill the UV space as much as possible + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeUVTangent.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeUVTangent.rst new file mode 100644 index 0000000..55592ed --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeUVTangent.rst @@ -0,0 +1,156 @@ +GeometryNodeUVTangent(GeometryNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeUVTangent(GeometryNode) + + Generate tangent directions based on a UV map + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeUVUnwrap.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeUVUnwrap.rst new file mode 100644 index 0000000..6ddfb72 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeUVUnwrap.rst @@ -0,0 +1,156 @@ +GeometryNodeUVUnwrap(GeometryNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeUVUnwrap(GeometryNode) + + Generate a UV map based on seam edges + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeVertexOfCorner.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeVertexOfCorner.rst new file mode 100644 index 0000000..89b1003 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeVertexOfCorner.rst @@ -0,0 +1,156 @@ +GeometryNodeVertexOfCorner(GeometryNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeVertexOfCorner(GeometryNode) + + Retrieve the vertex each face corner is attached to + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeViewer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeViewer.rst new file mode 100644 index 0000000..ec3fff6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeViewer.rst @@ -0,0 +1,184 @@ +GeometryNodeViewer(GeometryNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeViewer(GeometryNode) + + Display the input data in the Spreadsheet Editor + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_item + + :type: :class:`NodeGeometryViewerItem` | None + + .. attribute:: domain + + Domain to evaluate fields on (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_with_auto_items`] + + .. attribute:: ui_shortcut + + (in [-32768, 32767], default 0) + + :type: int + + .. data:: viewer_items + + (default None, readonly) + + :type: :class:`NodeGeometryViewerItems`\ [:class:`NodeGeometryViewerItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeViewportTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeViewportTransform.rst new file mode 100644 index 0000000..f328b99 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeViewportTransform.rst @@ -0,0 +1,156 @@ +GeometryNodeViewportTransform(GeometryNode) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeViewportTransform(GeometryNode) + + Retrieve the view direction and location of the 3D viewport + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeVolumeCube.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeVolumeCube.rst new file mode 100644 index 0000000..c8260d5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeVolumeCube.rst @@ -0,0 +1,156 @@ +GeometryNodeVolumeCube(GeometryNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeVolumeCube(GeometryNode) + + Generate a dense volume with a field that controls the density at each grid voxel based on its position + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeVolumeToMesh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeVolumeToMesh.rst new file mode 100644 index 0000000..0e4eed5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeVolumeToMesh.rst @@ -0,0 +1,156 @@ +GeometryNodeVolumeToMesh(GeometryNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeVolumeToMesh(GeometryNode) + + Generate a mesh on the "surface" of a volume + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeWarning.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeWarning.rst new file mode 100644 index 0000000..9b11840 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometryNodeWarning.rst @@ -0,0 +1,162 @@ +GeometryNodeWarning(GeometryNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`GeometryNode` + +.. class:: GeometryNodeWarning(GeometryNode) + + Create custom warnings in node groups + + .. attribute:: warning_type + + (default ``'ERROR'``) + + :type: Literal[:ref:`rna_enum_node_warning_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`GeometryNode.poll` + - :class:`GeometryNode.bl_rna_get_subclass` + - :class:`GeometryNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometrySet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometrySet.rst new file mode 100644 index 0000000..152e801 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GeometrySet.rst @@ -0,0 +1,96 @@ +GeometrySet +=========== + + +Accessing Evaluated Geometry +++++++++++++++++++++++++++++ + +.. literalinclude:: ./examples/bpy.types.GeometrySet.0.py + :lines: 5- + +.. class:: GeometrySet + + Stores potentially multiple geometry components of different types. + For example, it might contain a mesh, curves and nested instances. + + .. method:: instance_references() + + This returns a list of geometries that is indexed by the ``.reference_index`` + attribute of the pointcloud returned by + :func:`bpy.types.GeometrySet.instances_pointcloud`. + It may contain other geometry sets, objects, collections and None values. + + :rtype: list[None | bpy.types.Object | bpy.types.Collection | bpy.types.GeometrySet] + + + .. method:: instances_pointcloud() + + Get a pointcloud that encodes information about the instances of the geometry. + The returned pointcloud should not be modified. + There is a point per instance and per-instance data is stored in point attributes. + The local transforms are stored in the ``instance_transform`` attribute. + The data instanced by each point is referenced by the ``.reference_index`` attribute, + indexing into the list returned by :func:`bpy.types.GeometrySet.instance_references`. + + :rtype: bpy.types.PointCloud + + + .. attribute:: curves + + The curves data-block in the geometry set. + + :type: :class:`bpy.types.Curves` + + + .. attribute:: grease_pencil + + The Grease Pencil data-block in the geometry set. + + :type: :class:`bpy.types.GreasePencil` + + + .. attribute:: mesh + + The mesh data-block in the geometry set. + + :type: :class:`bpy.types.Mesh` + + + .. attribute:: mesh_base + + The mesh data-block in the geometry set without final subdivision. + + :type: :class:`bpy.types.Mesh` + + + .. attribute:: name + + The name of the geometry set. It can be used for debugging purposes and is not unique. + + :type: str + + + .. attribute:: pointcloud + + The point cloud data-block in the geometry set. + + :type: :class:`bpy.types.PointCloud` + + + .. attribute:: volume + + The volume data-block in the geometry set. + + :type: :class:`bpy.types.Volume` + + + .. staticmethod:: from_evaluated_object(evaluated_object) + + Create a geometry set from the evaluated geometry of an evaluated object. + Typically, it's more convenient to use :func:`bpy.types.Object.evaluated_geometry`. + + :param evaluated_object: The evaluated object to create a geometry set from. + :type evaluated_object: bpy.types.Object + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Gizmo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Gizmo.rst new file mode 100644 index 0000000..73b114e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Gizmo.rst @@ -0,0 +1,458 @@ +Gizmo(bpy_struct) +================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Gizmo(bpy_struct) + + Collection of gizmos + + .. attribute:: alpha + + (in [0, 1], default 0.0) + + :type: float + + .. attribute:: alpha_highlight + + (in [0, 1], default 0.0) + + :type: float + + .. attribute:: bl_idname + + (default "", never None) + + :type: str + + .. attribute:: color + + (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: color_highlight + + (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: group + + Gizmo group this gizmo is a member of (readonly) + + :type: :class:`GizmoGroup` | None + + .. attribute:: hide + + (default False) + + :type: bool + + .. attribute:: hide_keymap + + Ignore the key-map for this gizmo (default False) + + :type: bool + + .. attribute:: hide_select + + (default False) + + :type: bool + + .. data:: is_highlight + + (default False, readonly) + + :type: bool + + .. data:: is_modal + + (default False, readonly) + + :type: bool + + .. attribute:: line_width + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: matrix_basis + + (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: matrix_offset + + (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: matrix_space + + (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. data:: matrix_world + + (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), readonly) + + :type: :class:`mathutils.Matrix` + + .. data:: properties + + (readonly, never None) + + :type: :class:`GizmoProperties` + + .. attribute:: scale_basis + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: select + + (default False) + + :type: bool + + .. attribute:: select_bias + + Depth bias used for selection (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: use_draw_hover + + (default False) + + :type: bool + + .. attribute:: use_draw_modal + + Show while dragging (default False) + + :type: bool + + .. attribute:: use_draw_offset_scale + + Scale the offset matrix (use to apply screen-space offset) (default False) + + :type: bool + + .. attribute:: use_draw_scale + + Use scale when calculating the matrix (default True) + + :type: bool + + .. attribute:: use_draw_value + + Show an indicator for the current value while dragging (default False) + + :type: bool + + .. attribute:: use_event_handle_all + + When highlighted, do not pass events through to be handled by other keymaps (default False) + + :type: bool + + .. attribute:: use_grab_cursor + + (default False) + + :type: bool + + .. attribute:: use_operator_tool_properties + + Merge active tool properties on activation (does not overwrite existing) (default False) + + :type: bool + + .. attribute:: use_select_background + + Don't write into the depth buffer (default False) + + :type: bool + + .. attribute:: use_tooltip + + Use tooltips when hovering over this gizmo (default True) + + :type: bool + + .. method:: draw(context) + + + + :param context: (never None) + :type context: :class:`Context` | None + + .. method:: draw_select(context, *, select_id=0) + + + + :param context: (never None) + :type context: :class:`Context` | None + :param select_id: (in [0, inf], optional) + :type select_id: int + + .. method:: test_select(context, location) + + + + :param context: (never None) + :type context: :class:`Context` | None + :param location: Location, Region coordinates (array of 2 items, in [-inf, inf], never None) + :type location: Sequence[int] + :return: Use -1 to skip this gizmo (in [-1, inf]) + :rtype: int + + .. method:: modal(context, event, tweak) + + + + :param context: (never None) + :type context: :class:`Context` | None + :param event: (never None) + :type event: :class:`Event` | None + :param tweak: Tweak + :type tweak: set[Literal['PRECISE', 'SNAP']] + :return: result + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + + .. method:: setup() + + + + + .. method:: invoke(context, event) + + + + :param context: (never None) + :type context: :class:`Context` | None + :param event: (never None) + :type event: :class:`Event` | None + :return: result + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + + .. method:: exit(context, cancel) + + + + :param context: (never None) + :type context: :class:`Context` | None + :param cancel: Cancel, otherwise confirm + :type cancel: bool + + .. method:: select_refresh() + + + + + .. method:: draw_preset_box(matrix, *, select_id=-1) + + Draw a box + + :param matrix: The matrix to transform (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param select_id: ID to use when gizmo is selectable. Use -1 when not selecting., (in [-1, inf], optional) + :type select_id: int + + .. method:: draw_preset_arrow(matrix, *, axis='POS_Z', select_id=-1) + + Draw a box + + :param matrix: The matrix to transform (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param axis: Arrow Orientation (optional) + :type axis: Literal[:ref:`rna_enum_object_axis_items`] + :param select_id: ID to use when gizmo is selectable. Use -1 when not selecting., (in [-1, inf], optional) + :type select_id: int + + .. method:: draw_preset_circle(matrix, *, axis='POS_Z', select_id=-1) + + Draw a box + + :param matrix: The matrix to transform (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param axis: Arrow Orientation (optional) + :type axis: Literal[:ref:`rna_enum_object_axis_items`] + :param select_id: ID to use when gizmo is selectable. Use -1 when not selecting., (in [-1, inf], optional) + :type select_id: int + + .. method:: target_set_prop(target, data, property, *, index=-1) + + + + :param target: Target property (never None) + :type target: str + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param index: (in [-1, inf], optional) + :type index: int + + .. method:: target_set_operator(operator, *, index=0) + + Operator to run when activating the gizmo (overrides property targets) + + :param operator: Target operator (never None) + :type operator: str + :param index: Part index, (in [0, 255], optional) + :type index: int + :return: Operator properties to fill in + :rtype: :class:`OperatorProperties` + + .. method:: target_is_valid(property) + + + + :param property: Property identifier (never None) + :type property: str + :rtype: bool + + .. method:: draw_custom_shape(shape, *, matrix=None, select_id=None) + + Draw a shape created form :class:`Gizmo.draw_custom_shape`. + + :param shape: The cached shape to draw. + :type shape: Any + :param matrix: 4x4 matrix, when not given :class:`Gizmo.matrix_world` is used. + :type matrix: :class:`mathutils.Matrix` | None + :param select_id: The selection id. + Only use when drawing within :class:`Gizmo.draw_select`. + :type select_id: int | None + + .. staticmethod:: new_custom_shape(type, verts) + + Create a new shape that can be passed to :class:`Gizmo.draw_custom_shape`. + + :param type: The type of shape to create. + :type type: Literal['POINTS', 'LINES', 'TRIS', 'LINE_STRIP'] + :param verts: Sequence of 2D or 3D coordinates. + :type verts: Sequence[Sequence[float]] + :return: The newly created shape (the return type make change). + :rtype: Any + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + + .. method:: target_get_range(target) + + Get the range for this target property. + + :param target: Target property name. + :return: The range of this property (min, max). + :rtype: tuple[float, float] + + + .. method:: target_get_value(target) + + Get the value of this target property. + + :param target: Target property name. + :type target: str + :return: The value of the target property as a value or array based on the target type. + :rtype: float | tuple[float, ...] + + + .. method:: target_set_handler(target, get, set, range=None) + + Assigns callbacks to a gizmos property. + + :param target: Target property name. + :type target: str + :param get: Function that returns the value for this property (single value or sequence). + :type get: Callable[[], float | Sequence[float]] + :param set: Function that takes a single value argument and applies it. + :type set: Callable[[tuple[float, ...]], Any] + :param range: Function that returns a (min, max) tuple for gizmos that use a range. The returned value is not used. + :type range: Callable[[], tuple[float, float]] | None + + + .. method:: target_set_value(target) + + Set the value of this target property. + + :param target: Target property name. + :type target: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GizmoGroup.gizmos` + - :class:`GizmoGroup.invoke_prepare` + - :class:`Gizmos.new` + - :class:`Gizmos.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GizmoGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GizmoGroup.rst new file mode 100644 index 0000000..94efda0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GizmoGroup.rst @@ -0,0 +1,195 @@ +GizmoGroup(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GizmoGroup(bpy_struct) + + Storage of an operator being executed, or registered after execution + + .. attribute:: bl_idname + + (default "", never None) + + :type: str + + .. attribute:: bl_label + + (default "", never None) + + :type: str + + .. attribute:: bl_options + + Options for this operator type (default set()) + + - ``3D`` + 3D -- Use in 3D viewport. + - ``SCALE`` + Scale -- Scale to respect zoom (otherwise zoom independent display size). + - ``DEPTH_3D`` + Depth 3D -- Supports culled depth by other objects in the view. + - ``SELECT`` + Select -- Supports selection. + - ``PERSISTENT`` + Persistent. + - ``SHOW_MODAL_ALL`` + Show Modal All -- Show all while interacting, as well as this group when another is being interacted with. + - ``EXCLUDE_MODAL`` + Exclude Modal -- Show all except this group while interacting. + - ``TOOL_INIT`` + Tool Init -- Postpone running until tool operator run (when used with a tool). + - ``TOOL_FALLBACK_KEYMAP`` + Use fallback tools keymap -- Add fallback tools keymap to this gizmo type. + - ``VR_REDRAWS`` + VR Redraws -- The gizmos are made for use with virtual reality sessions and require special redraw management. + + :type: set[Literal['3D', 'SCALE', 'DEPTH_3D', 'SELECT', 'PERSISTENT', 'SHOW_MODAL_ALL', 'EXCLUDE_MODAL', 'TOOL_INIT', 'TOOL_FALLBACK_KEYMAP', 'VR_REDRAWS']] + + .. attribute:: bl_owner_id + + (default "", never None) + + :type: str + + .. attribute:: bl_region_type + + The region where the panel is going to be used in (default ``'WINDOW'``) + + :type: Literal[:ref:`rna_enum_region_type_items`] + + .. attribute:: bl_space_type + + The space where the panel is going to be used in (default ``'EMPTY'``) + + :type: Literal[:ref:`rna_enum_space_type_items`] + + .. data:: gizmos + + List of gizmos in the Gizmo Map (default None, readonly) + + :type: :class:`Gizmos`\ [:class:`Gizmo`] + + .. data:: name + + (default "", readonly, never None) + + :type: str + + .. classmethod:: poll(context) + + Test if the gizmo group can be called or not + + :param context: (never None) + :type context: :class:`Context` | None + :rtype: bool + + .. classmethod:: setup_keymap(keyconfig) + + Initialize keymaps for this gizmo group, use fallback keymap when not present + + :param keyconfig: (never None) + :type keyconfig: :class:`KeyConfig` | None + :return: (never None) + :rtype: :class:`KeyMap` + + .. method:: setup(context) + + Create gizmos function for the gizmo group + + :param context: (never None) + :type context: :class:`Context` | None + + .. method:: refresh(context) + + Refresh data (called on common state changes such as selection) + + :param context: (never None) + :type context: :class:`Context` | None + + .. method:: draw_prepare(context) + + Run before each redraw + + :param context: (never None) + :type context: :class:`Context` | None + + .. method:: invoke_prepare(context, gizmo) + + Run before invoke + + :param context: (never None) + :type context: :class:`Context` | None + :param gizmo: (never None) + :type gizmo: :class:`Gizmo` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Context.gizmo_group` + - :class:`Gizmo.group` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GizmoGroupProperties.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GizmoGroupProperties.rst new file mode 100644 index 0000000..eb2ac42 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GizmoGroupProperties.rst @@ -0,0 +1,87 @@ +GizmoGroupProperties(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GizmoGroupProperties(bpy_struct) + + Input properties of a Gizmo Group + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WorkSpaceTool.gizmo_group_properties` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GizmoProperties.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GizmoProperties.rst new file mode 100644 index 0000000..a1e88f0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GizmoProperties.rst @@ -0,0 +1,87 @@ +GizmoProperties(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GizmoProperties(bpy_struct) + + Input properties of a Gizmo + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Gizmo.properties` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Gizmos.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Gizmos.rst new file mode 100644 index 0000000..a533613 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Gizmos.rst @@ -0,0 +1,99 @@ +Gizmos(bpy_prop_collection) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: Gizmos(bpy_prop_collection) + + Collection of gizmos + + .. method:: new(type) + + Add gizmo + + :param type: Gizmo identifier (never None) + :type type: str + :return: New gizmo + :rtype: :class:`Gizmo` + + .. method:: remove(gizmo) + + Delete gizmo + + :param gizmo: New gizmo (never None) + :type gizmo: :class:`Gizmo` | None + + .. method:: clear() + + Delete all gizmos + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GizmoGroup.gizmos` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GlowStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GlowStrip.rst new file mode 100644 index 0000000..ac91e6b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GlowStrip.rst @@ -0,0 +1,174 @@ +GlowStrip(EffectStrip) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: GlowStrip(EffectStrip) + + Sequence strip creating a glow effect + + .. attribute:: blur_radius + + Radius of glow effect (in [0.5, 20], default 0.0) + + :type: float + + .. attribute:: boost_factor + + Brightness multiplier (in [0, 10], default 0.0) + + :type: float + + .. attribute:: clamp + + Brightness limit of intensity (in [0, 1], default 0.0) + + :type: float + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: quality + + Accuracy of the blur effect (in [1, 5], default 0) + + :type: int + + .. attribute:: threshold + + Minimum intensity to trigger a glow (in [0, 1], default 0.0) + + :type: float + + .. attribute:: use_only_boost + + Show the glow buffer only (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpPaint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpPaint.rst new file mode 100644 index 0000000..83e7213 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpPaint.rst @@ -0,0 +1,114 @@ +GpPaint(Paint) +============== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Paint` + +.. class:: GpPaint(Paint) + + + .. attribute:: color_mode + + Paint Mode (default ``'MATERIAL'``) + + - ``MATERIAL`` + Material -- Paint using the active material base color. + - ``VERTEXCOLOR`` + Color Attribute -- Paint the material with a color attribute. + + :type: Literal['MATERIAL', 'VERTEXCOLOR'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Paint.brush` + - :class:`Paint.brush_asset_reference` + - :class:`Paint.eraser_brush` + - :class:`Paint.eraser_brush_asset_reference` + - :class:`Paint.palette` + - :class:`Paint.show_brush` + - :class:`Paint.show_brush_on_surface` + - :class:`Paint.show_low_resolution` + - :class:`Paint.use_sculpt_delay_updates` + - :class:`Paint.show_bvh_nodes` + - :class:`Paint.use_symmetry_x` + - :class:`Paint.use_symmetry_y` + - :class:`Paint.use_symmetry_z` + - :class:`Paint.use_symmetry_feather` + - :class:`Paint.cavity_curve` + - :class:`Paint.use_cavity` + - :class:`Paint.tile_offset` + - :class:`Paint.tile_x` + - :class:`Paint.tile_y` + - :class:`Paint.tile_z` + - :class:`Paint.show_strength_curve` + - :class:`Paint.show_size_curve` + - :class:`Paint.show_jitter_curve` + - :class:`Paint.unified_paint_settings` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Paint.bl_rna_get_subclass` + - :class:`Paint.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.gpencil_paint` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpSculptPaint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpSculptPaint.rst new file mode 100644 index 0000000..e57b122 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpSculptPaint.rst @@ -0,0 +1,103 @@ +GpSculptPaint(Paint) +==================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Paint` + +.. class:: GpSculptPaint(Paint) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Paint.brush` + - :class:`Paint.brush_asset_reference` + - :class:`Paint.eraser_brush` + - :class:`Paint.eraser_brush_asset_reference` + - :class:`Paint.palette` + - :class:`Paint.show_brush` + - :class:`Paint.show_brush_on_surface` + - :class:`Paint.show_low_resolution` + - :class:`Paint.use_sculpt_delay_updates` + - :class:`Paint.show_bvh_nodes` + - :class:`Paint.use_symmetry_x` + - :class:`Paint.use_symmetry_y` + - :class:`Paint.use_symmetry_z` + - :class:`Paint.use_symmetry_feather` + - :class:`Paint.cavity_curve` + - :class:`Paint.use_cavity` + - :class:`Paint.tile_offset` + - :class:`Paint.tile_x` + - :class:`Paint.tile_y` + - :class:`Paint.tile_z` + - :class:`Paint.show_strength_curve` + - :class:`Paint.show_size_curve` + - :class:`Paint.show_jitter_curve` + - :class:`Paint.unified_paint_settings` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Paint.bl_rna_get_subclass` + - :class:`Paint.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.gpencil_sculpt_paint` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpVertexPaint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpVertexPaint.rst new file mode 100644 index 0000000..6edcc42 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpVertexPaint.rst @@ -0,0 +1,103 @@ +GpVertexPaint(Paint) +==================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Paint` + +.. class:: GpVertexPaint(Paint) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Paint.brush` + - :class:`Paint.brush_asset_reference` + - :class:`Paint.eraser_brush` + - :class:`Paint.eraser_brush_asset_reference` + - :class:`Paint.palette` + - :class:`Paint.show_brush` + - :class:`Paint.show_brush_on_surface` + - :class:`Paint.show_low_resolution` + - :class:`Paint.use_sculpt_delay_updates` + - :class:`Paint.show_bvh_nodes` + - :class:`Paint.use_symmetry_x` + - :class:`Paint.use_symmetry_y` + - :class:`Paint.use_symmetry_z` + - :class:`Paint.use_symmetry_feather` + - :class:`Paint.cavity_curve` + - :class:`Paint.use_cavity` + - :class:`Paint.tile_offset` + - :class:`Paint.tile_x` + - :class:`Paint.tile_y` + - :class:`Paint.tile_z` + - :class:`Paint.show_strength_curve` + - :class:`Paint.show_size_curve` + - :class:`Paint.show_jitter_curve` + - :class:`Paint.unified_paint_settings` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Paint.bl_rna_get_subclass` + - :class:`Paint.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.gpencil_vertex_paint` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpWeightPaint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpWeightPaint.rst new file mode 100644 index 0000000..04260d1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GpWeightPaint.rst @@ -0,0 +1,103 @@ +GpWeightPaint(Paint) +==================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Paint` + +.. class:: GpWeightPaint(Paint) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Paint.brush` + - :class:`Paint.brush_asset_reference` + - :class:`Paint.eraser_brush` + - :class:`Paint.eraser_brush_asset_reference` + - :class:`Paint.palette` + - :class:`Paint.show_brush` + - :class:`Paint.show_brush_on_surface` + - :class:`Paint.show_low_resolution` + - :class:`Paint.use_sculpt_delay_updates` + - :class:`Paint.show_bvh_nodes` + - :class:`Paint.use_symmetry_x` + - :class:`Paint.use_symmetry_y` + - :class:`Paint.use_symmetry_z` + - :class:`Paint.use_symmetry_feather` + - :class:`Paint.cavity_curve` + - :class:`Paint.use_cavity` + - :class:`Paint.tile_offset` + - :class:`Paint.tile_x` + - :class:`Paint.tile_y` + - :class:`Paint.tile_z` + - :class:`Paint.show_strength_curve` + - :class:`Paint.show_size_curve` + - :class:`Paint.show_jitter_curve` + - :class:`Paint.unified_paint_settings` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Paint.bl_rna_get_subclass` + - :class:`Paint.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.gpencil_weight_paint` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencil.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencil.rst new file mode 100644 index 0000000..5679576 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencil.rst @@ -0,0 +1,259 @@ +GreasePencil(ID) +================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: GreasePencil(ID) + + Grease Pencil data-block + + .. attribute:: after_color + + Base color for ghosts after the active frame (array of 3 items, in [0, 1], default (0.12549, 0.082353, 0.529412)) + + :type: :class:`mathutils.Color` + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. data:: attributes + + Geometry attributes (default None, readonly) + + :type: :class:`AttributeGroupGreasePencil`\ [:class:`Attribute`] + + .. attribute:: before_color + + Base color for ghosts before the active frame (array of 3 items, in [0, 1], default (0.145098, 0.419608, 0.137255)) + + :type: :class:`mathutils.Color` + + .. data:: color_attributes + + Geometry color attributes (default None, readonly) + + :type: :class:`AttributeGroupGreasePencil`\ [:class:`Attribute`] + + .. attribute:: ghost_after_range + + Maximum number of frames to show after current frame (0 = don't show any frames after current) (in [0, 120], default 1) + + :type: int + + .. attribute:: ghost_before_range + + Maximum number of frames to show before current frame (0 = don't show any frames before current) (in [0, 120], default 1) + + :type: int + + .. data:: layer_groups + + Grease Pencil layer groups (default None, readonly) + + :type: :class:`GreasePencilv3LayerGroup`\ [:class:`GreasePencilLayerGroup`] + + .. data:: layers + + Grease Pencil layers (default None, readonly) + + :type: :class:`GreasePencilv3Layers`\ [:class:`GreasePencilLayer`] + + .. data:: materials + + (default None, readonly) + + :type: :class:`IDMaterials`\ [:class:`Material`] + + .. attribute:: onion_factor + + Change fade opacity of displayed onion frames (in [0, 1], default 0.5) + + :type: float + + .. attribute:: onion_keyframe_type + + Type of keyframe (for filtering) (default ``'ALL'``) + + - ``ALL`` + All -- Include all Keyframe types. + - ``KEYFRAME`` + Keyframe -- Normal keyframe, e.g. for key poses. + - ``BREAKDOWN`` + Breakdown -- A breakdown pose, e.g. for transitions between key poses. + - ``MOVING_HOLD`` + Moving Hold -- A keyframe that is part of a moving hold. + - ``EXTREME`` + Extreme -- An 'extreme' pose, or some other purpose as needed. + - ``JITTER`` + Jitter -- A filler or baked keyframe for keying on ones, or some other purpose as needed. + - ``GENERATED`` + Generated -- A key generated automatically by a tool, not manually created. + + :type: Literal['ALL', 'KEYFRAME', 'BREAKDOWN', 'MOVING_HOLD', 'EXTREME', 'JITTER', 'GENERATED'] + + .. attribute:: onion_mode + + Mode to display frames (default ``'ABSOLUTE'``) + + - ``ABSOLUTE`` + Frames -- Frames in absolute range of the scene frame. + - ``RELATIVE`` + Keyframes -- Frames in relative range of the Grease Pencil keyframes. + - ``SELECTED`` + Selected -- Only selected keyframes. + + :type: Literal['ABSOLUTE', 'RELATIVE', 'SELECTED'] + + .. data:: root_nodes + + The root nodes of the layer tree. Ordered by stack order, meaning the first node is the bottom most node in the layer tree. (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`GreasePencilTreeNode`] + + .. attribute:: stroke_depth_order + + Defines how the strokes are ordered in 3D space (for objects not displayed 'In Front') (default ``'2D'``) + + :type: Literal[:ref:`rna_enum_stroke_depth_order_items`] + + .. attribute:: use_autolock_layers + + Automatically lock all layers except the active one to avoid accidental changes (default False) + + :type: bool + + .. attribute:: use_ghost_custom_colors + + Use custom colors for ghost frames (default False) + + :type: bool + + .. attribute:: use_onion_fade + + Display onion keyframes with a fade in color transparency (default False) + + :type: bool + + .. attribute:: use_onion_loop + + Display onion keyframes for looping animations (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.annotation_data` + - :mod:`bpy.context.gpencil` + - :mod:`bpy.context.grease_pencil` + - :class:`BlendData.grease_pencils` + - :class:`BlendDataGreasePencilsV3.new` + - :class:`BlendDataGreasePencilsV3.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilArmatureModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilArmatureModifier.rst new file mode 100644 index 0000000..c538f1c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilArmatureModifier.rst @@ -0,0 +1,127 @@ +GreasePencilArmatureModifier(Modifier) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilArmatureModifier(Modifier) + + Deform stroke points using armature object + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: object + + Armature object to deform with + + :type: :class:`Object` | None + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: use_bone_envelopes + + Bind Bone envelopes to armature modifier (default False) + + :type: bool + + .. attribute:: use_deform_preserve_volume + + Deform rotation interpolation with quaternions (default False) + + :type: bool + + .. attribute:: use_vertex_groups + + Bind vertex groups to armature modifier (default True) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilArrayModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilArrayModifier.rst new file mode 100644 index 0000000..340e1e1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilArrayModifier.rst @@ -0,0 +1,259 @@ +GreasePencilArrayModifier(Modifier) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilArrayModifier(Modifier) + + Create grid of duplicate instances + + .. attribute:: constant_offset + + Value for the distance between items (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: count + + Number of items (in [1, 32767], default 2) + + :type: int + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: offset_object + + Use the location and rotation of another object to determine the distance and rotational change between arrayed items + + :type: :class:`Object` | None + + .. attribute:: open_constant_offset_panel + + (default False) + + :type: bool + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: open_object_offset_panel + + (default False) + + :type: bool + + .. attribute:: open_randomize_panel + + (default False) + + :type: bool + + .. attribute:: open_relative_offset_panel + + (default False) + + :type: bool + + .. attribute:: random_offset + + Value for changes in location (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: random_rotation + + Value for changes in rotation (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: random_scale + + Value for changes in scale (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: relative_offset + + The size of the geometry will determine the distance between arrayed items (array of 3 items, in [-inf, inf], default (1.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: replace_material + + Index of the material used for generated strokes (0 keep original material) (in [0, 32767], default 0) + + :type: int + + .. attribute:: seed + + Random seed (in [0, inf], default 1) + + :type: int + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_constant_offset + + Enable offset (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_object_offset + + Add another object's transformation to the total offset (default False) + + :type: bool + + .. attribute:: use_relative_offset + + Add an offset relative to the object's bounding box (default True) + + :type: bool + + .. attribute:: use_uniform_random_scale + + Use the same random seed for each scale axis for a uniform scale (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilBuildModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilBuildModifier.rst new file mode 100644 index 0000000..bbb9ab0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilBuildModifier.rst @@ -0,0 +1,309 @@ +GreasePencilBuildModifier(Modifier) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilBuildModifier(Modifier) + + Animate strokes appearing and disappearing + + .. attribute:: concurrent_time_alignment + + How should strokes start to appear/disappear (default ``'START'``) + + - ``START`` + Align Start -- All strokes start at same time (i.e. short strokes finish earlier). + - ``END`` + Align End -- All strokes end at same time (i.e. short strokes start later). + + :type: Literal['START', 'END'] + + .. attribute:: fade_factor + + Defines how much of the stroke is fading in/out (in [0, 1], default 0.0) + + :type: float + + .. attribute:: fade_opacity_strength + + How much strength fading applies on top of stroke opacity (in [0, 1], default 0.0) + + :type: float + + .. attribute:: fade_thickness_strength + + How much strength fading applies on top of stroke thickness (in [0, 1], default 0.0) + + :type: float + + .. attribute:: frame_end + + End Frame (when Restrict Frame Range is enabled) (in [-1.04857e+06, 1.04857e+06], default 125.0) + + :type: float + + .. attribute:: frame_start + + Start Frame (when Restrict Frame Range is enabled) (in [-1.04857e+06, 1.04857e+06], default 1.0) + + :type: float + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: length + + Maximum number of frames that the build effect can run for (unless another GP keyframe occurs before this time has elapsed) (in [1, 1.04857e+06], default 100.0) + + :type: float + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: mode + + How strokes are being built (default ``'SEQUENTIAL'``) + + - ``SEQUENTIAL`` + Sequential -- Strokes appear/disappear one after the other, but only a single one changes at a time. + - ``CONCURRENT`` + Concurrent -- Multiple strokes appear/disappear at once. + - ``ADDITIVE`` + Additive -- Builds only new strokes (assuming 'additive' drawing). + + :type: Literal['SEQUENTIAL', 'CONCURRENT', 'ADDITIVE'] + + .. attribute:: object + + Object used as build starting position + + :type: :class:`Object` | None + + .. attribute:: open_fading_panel + + (default False) + + :type: bool + + .. attribute:: open_frame_range_panel + + (default False) + + :type: bool + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: percentage_factor + + Defines how much of the stroke is visible (in [0, 1], default 0.0) + + :type: float + + .. attribute:: speed_factor + + Multiply recorded drawing speed by a factor (in [0, 100], default 1.2) + + :type: float + + .. attribute:: speed_maxgap + + The maximum gap between strokes in seconds (in [0, 100], default 0.5) + + :type: float + + .. attribute:: start_delay + + Number of frames after each GP keyframe before the modifier has any effect (in [0, 1.04857e+06], default 0.0) + + :type: float + + .. attribute:: target_vertex_group + + Output Vertex group (default "", never None) + + :type: str + + .. attribute:: time_mode + + Use drawing speed, a number of frames, or a manual factor to build strokes (default ``'FRAMES'``) + + - ``DRAWSPEED`` + Natural Drawing Speed -- Use recorded speed multiplied by a factor. + - ``FRAMES`` + Number of Frames -- Set a fixed number of frames for all build animations. + - ``PERCENTAGE`` + Percentage Factor -- Set a manual percentage to build. + + :type: Literal['DRAWSPEED', 'FRAMES', 'PERCENTAGE'] + + .. attribute:: transition + + How are strokes animated (i.e. are they appearing or disappearing) (default ``'GROW'``) + + - ``GROW`` + Grow -- Show points in the order they occur in each stroke (e.g. for animating lines being drawn). + - ``SHRINK`` + Shrink -- Hide points from the end of each stroke to the start (e.g. for animating lines being erased). + - ``FADE`` + Vanish -- Hide points in the order they occur in each stroke (e.g. for animating ink fading or vanishing after getting drawn). + + :type: Literal['GROW', 'SHRINK', 'FADE'] + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_fading + + Fade out strokes instead of directly cutting off (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_percentage + + Use a percentage factor to determine the visible points (default False) + + :type: bool + + .. attribute:: use_restrict_frame_range + + Only modify strokes during the specified frame range (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilColorModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilColorModifier.rst new file mode 100644 index 0000000..c71b214 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilColorModifier.rst @@ -0,0 +1,199 @@ +GreasePencilColorModifier(Modifier) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilColorModifier(Modifier) + + + .. attribute:: color_mode + + Attributes to modify (default ``'BOTH'``) + + - ``BOTH`` + Stroke & Fill -- Modify fill and stroke colors. + - ``STROKE`` + Stroke -- Modify stroke color only. + - ``FILL`` + Fill -- Modify fill color only. + + :type: Literal['BOTH', 'STROKE', 'FILL'] + + .. data:: custom_curve + + Custom curve to apply effect (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: hue + + Color hue offset (in [0, 1], default 0.5) + + :type: float + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: saturation + + Color saturation factor (in [0, inf], default 0.5) + + :type: float + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_custom_curve + + Use a custom curve to define a factor along the strokes (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: value + + Color value factor (in [0, inf], default 0.5) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilDashModifierData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilDashModifierData.rst new file mode 100644 index 0000000..6374818 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilDashModifierData.rst @@ -0,0 +1,175 @@ +GreasePencilDashModifierData(Modifier) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilDashModifierData(Modifier) + + Create dot-dash effect for strokes + + .. attribute:: dash_offset + + Offset into each stroke before the beginning of the dashed segment generation (in [-inf, inf], default 0) + + :type: int + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: segment_active_index + + Active index in the segment list (in [0, inf], default 0) + + :type: int + + .. data:: segments + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`GreasePencilDashModifierSegment`] + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilDashModifierSegment.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilDashModifierSegment.rst new file mode 100644 index 0000000..a1d6aca --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilDashModifierSegment.rst @@ -0,0 +1,120 @@ +GreasePencilDashModifierSegment(bpy_struct) +=========================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GreasePencilDashModifierSegment(bpy_struct) + + Configuration for a single dash segment + + .. attribute:: dash + + The number of consecutive points from the original stroke to include in this segment (in [1, 32767], default 2) + + :type: int + + .. attribute:: gap + + The number of points skipped after this segment (in [0, 32767], default 1) + + :type: int + + .. attribute:: material_index + + Use this index on generated segment. -1 means using the existing material. (in [-1, 32767], default -1) + + :type: int + + .. attribute:: name + + Name of the dash segment (default "", never None) + + :type: str + + .. attribute:: opacity + + The factor to apply to the original point's opacity for the new points (in [0, 1], default 1.0) + + :type: float + + .. attribute:: radius + + The factor to apply to the original point's radius for the new points (in [0, 1], default 1.0) + + :type: float + + .. attribute:: use_cyclic + + Enable cyclic on individual stroke dashes (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencilDashModifierData.segments` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilDrawing.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilDrawing.rst new file mode 100644 index 0000000..e32af7b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilDrawing.rst @@ -0,0 +1,209 @@ +GreasePencilDrawing(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GreasePencilDrawing(bpy_struct) + + A Grease Pencil drawing + + .. data:: attributes + + Geometry attributes (default None, readonly) + + :type: :class:`AttributeGroupGreasePencilDrawing`\ [:class:`Attribute`] + + .. data:: color_attributes + + Geometry color attributes (default None, readonly) + + :type: :class:`AttributeGroupGreasePencilDrawing`\ [:class:`Attribute`] + + .. data:: curve_offsets + + Offset indices of the first point of each curve (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`IntAttributeValue`] + + .. data:: type + + Drawing type (default ``'DRAWING'``, readonly) + + :type: Literal['DRAWING', 'REFERENCE'] + + .. data:: user_count + + The number of keyframes this drawing is used by (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: strokes + + Return a collection of all the Grease Pencil strokes in this drawing. + + .. note:: + + This API should *not* be used for performance critical operations. + Use the :class:`GreasePencilDrawing.attributes` API instead. + + .. note:: + + When point/curves count of a drawing is changed, the slice returned by this + call prior to the change is no longer valid. You need to get the new stroke + slice via ``drawing.strokes[n]``. + + (readonly) + + .. method:: add_strokes(sizes) + + Add new strokes with provided sizes at the end + + :param sizes: Sizes, The number of points in each stroke (array of 1 items, in [1, inf]) + :type sizes: Sequence[int] + + .. method:: remove_strokes(*, indices=(0,)) + + Remove all strokes. If indices are provided, remove only the strokes with the given indices. + + :param indices: Indices, The indices of the strokes to remove (array of 1 items, in [0, inf], optional) + :type indices: Sequence[int] + + .. method:: resize_strokes(sizes, *, indices=(0,)) + + Resize all existing strokes. If indices are provided, resize only the strokes with the given indices. If the new size for a stroke is smaller, the stroke is trimmed. If the new size for a stroke is larger, the new end values are default initialized. + + :param sizes: Sizes, The number of points in each stroke (array of 1 items, in [1, inf]) + :type sizes: Sequence[int] + :param indices: Indices, The indices of the stroke to resize (array of 1 items, in [0, inf], optional) + :type indices: Sequence[int] + + .. method:: reorder_strokes(new_indices) + + Reorder the strokes by the new indices. + + :param new_indices: New indices, The new index for each of the strokes (array of 1 items, in [0, inf]) + :type new_indices: Sequence[int] + + .. method:: set_types(*, type='CATMULL_ROM', indices=(0,)) + + Set the curve type. If indices are provided, set only the types with the given curve indices. + + :param type: Type, (optional) + :type type: Literal[:ref:`rna_enum_curves_type_items`] + :param indices: Indices, The indices of the curves to resize (array of 1 items, in [0, inf], optional) + :type indices: Sequence[int] + + .. method:: tag_positions_changed() + + Indicate that the positions of points in the drawing have changed + + + .. method:: vertex_group_assign(vgroup_name, indices_ptr, weight) + + Assign points to vertex group + + :param vgroup_name: Vertex Group Name, Name of the vertex group (never None) + :type vgroup_name: str + :param indices_ptr: Indices, The point indices to assign the weight to (array of 1 items, in [-inf, inf]) + :type indices_ptr: Sequence[int] + :param weight: Vertex weight (in [0, 1]) + :type weight: float + + .. method:: vertex_group_remove(vgroup_name, indices_ptr) + + Remove points from vertex group + + :param vgroup_name: Vertex Group Name, Name of the vertex group (never None) + :type vgroup_name: str + :param indices_ptr: Indices, The point indices to remove from the vertex group (array of 1 items, in [-inf, inf]) + :type indices_ptr: Sequence[int] + + .. method:: set_vertex_weights(vertex_group_name, indices, weights, *, assign_mode='REPLACE') + + Set the weights of vertices in a grease pencil drawing + + :param vertex_group_name: Vertex Group Name, Name of the vertex group (never None) + :type vertex_group_name: str + :param indices: Indices, The point indices in the vertex group to modify (array of 1 items, in [-inf, inf]) + :type indices: Sequence[int] + :param weights: Weights, The weight for each corresponding index in the indices array (array of 1 items, in [0, 1]) + :type weights: Sequence[float] + :param assign_mode: (optional) + + - ``REPLACE`` + Replace -- Replace. + - ``ADD`` + Add -- Add. + - ``SUBTRACT`` + Subtract -- Subtract. + :type assign_mode: Literal['REPLACE', 'ADD', 'SUBTRACT'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencilFrame.drawing` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilEnvelopeModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilEnvelopeModifier.rst new file mode 100644 index 0000000..61f26ca --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilEnvelopeModifier.rst @@ -0,0 +1,212 @@ +GreasePencilEnvelopeModifier(Modifier) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilEnvelopeModifier(Modifier) + + Envelope stroke effect modifier + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: mat_nr + + The material to use for the new strokes (in [-1, 32767], default -1) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: mode + + Algorithm to use for generating the envelope (default ``'SEGMENTS'``) + + - ``DEFORM`` + Deform -- Deform the stroke to best match the envelope shape. + - ``SEGMENTS`` + Segments -- Add segments to create the envelope. Keep the original stroke.. + - ``FILLS`` + Fills -- Add fill segments to create the envelope. Don't keep the original stroke.. + + :type: Literal['DEFORM', 'SEGMENTS', 'FILLS'] + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: skip + + The number of generated segments to skip to reduce complexity (in [0, inf], default 0) + + :type: int + + .. attribute:: spread + + The number of points to skip to create straight segments (in [1, inf], default 10) + + :type: int + + .. attribute:: strength + + Multiplier for the strength of the new strokes (in [0, inf], default 1.0) + + :type: float + + .. attribute:: thickness + + Multiplier for the thickness of the new strokes (in [0, inf], default 1.0) + + :type: float + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilFrame.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilFrame.rst new file mode 100644 index 0000000..443053b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilFrame.rst @@ -0,0 +1,120 @@ +GreasePencilFrame(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GreasePencilFrame(bpy_struct) + + A Grease Pencil keyframe + + .. attribute:: drawing + + A Grease Pencil drawing + + :type: :class:`GreasePencilDrawing` | None + + .. data:: frame_number + + The frame number in the scene (in [-1048574, 1048574], default 0, readonly) + + :type: int + + .. attribute:: keyframe_type + + Type of keyframe (default ``'KEYFRAME'``) + + - ``KEYFRAME`` + Keyframe -- Normal keyframe, e.g. for key poses. + - ``BREAKDOWN`` + Breakdown -- A breakdown pose, e.g. for transitions between key poses. + - ``MOVING_HOLD`` + Moving Hold -- A keyframe that is part of a moving hold. + - ``EXTREME`` + Extreme -- An 'extreme' pose, or some other purpose as needed. + - ``JITTER`` + Jitter -- A filler or baked keyframe for keying on ones, or some other purpose as needed. + - ``GENERATED`` + Generated -- A key generated automatically by a tool, not manually created. + + :type: Literal['KEYFRAME', 'BREAKDOWN', 'MOVING_HOLD', 'EXTREME', 'JITTER', 'GENERATED'] + + .. attribute:: select + + Frame Selection in the Dope Sheet (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencilFrames.copy` + - :class:`GreasePencilFrames.move` + - :class:`GreasePencilFrames.new` + - :class:`GreasePencilLayer.current_frame` + - :class:`GreasePencilLayer.frames` + - :class:`GreasePencilLayer.get_frame_at` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilFrames.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilFrames.rst new file mode 100644 index 0000000..2ea2bb7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilFrames.rst @@ -0,0 +1,118 @@ +GreasePencilFrames(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: GreasePencilFrames(bpy_prop_collection) + + Collection of Grease Pencil frames + + .. method:: new(frame_number) + + Add a new Grease Pencil frame + + :param frame_number: Frame Number, The frame on which the drawing appears (in [-1048574, 1048574]) + :type frame_number: int + :return: The newly created frame + :rtype: :class:`GreasePencilFrame` + + .. method:: remove(frame_number) + + Remove a Grease Pencil frame + + :param frame_number: Frame Number, The frame number of the frame to remove (in [-1048574, 1048574]) + :type frame_number: int + + .. method:: copy(from_frame_number, to_frame_number, *, instance_drawing=False) + + Copy a Grease Pencil frame + + :param from_frame_number: Source Frame Number, The frame number of the source frame (in [-1048574, 1048574]) + :type from_frame_number: int + :param to_frame_number: Frame Number of Copy, The frame number to copy the frame to (in [-1048574, 1048574]) + :type to_frame_number: int + :param instance_drawing: Instance Drawing, Let the copied frame use the same drawing as the source (optional) + :type instance_drawing: bool + :return: The newly copied frame + :rtype: :class:`GreasePencilFrame` + + .. method:: move(from_frame_number, to_frame_number) + + Move a Grease Pencil frame + + :param from_frame_number: Source Frame Number, The frame number of the source frame (in [-1048574, 1048574]) + :type from_frame_number: int + :param to_frame_number: Target Frame Number, The frame number to move the frame to (in [-1048574, 1048574]) + :type to_frame_number: int + :return: The moved frame + :rtype: :class:`GreasePencilFrame` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencilLayer.frames` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilHookModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilHookModifier.rst new file mode 100644 index 0000000..d7b8a6f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilHookModifier.rst @@ -0,0 +1,235 @@ +GreasePencilHookModifier(Modifier) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilHookModifier(Modifier) + + Hook modifier to modify the location of stroke points + + .. attribute:: center + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: custom_curve + + Custom curve to apply effect (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: falloff_radius + + If not zero, the distance from the hook where influence ends (in [0, inf], default 0.0) + + :type: float + + .. attribute:: falloff_type + + (default ``'SMOOTH'``) + + :type: Literal['NONE', 'CURVE', 'SMOOTH', 'SPHERE', 'ROOT', 'INVERSE_SQUARE', 'SHARP', 'LINEAR', 'CONSTANT'] + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: matrix_inverse + + Reverse the transformation between this object and its target (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((1.0, 0.0, 0.0, 0.0), (0.0, 1.0, 0.0, 0.0), (0.0, 0.0, 1.0, 0.0), (0.0, 0.0, 0.0, 1.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: object + + Parent Object for hook, also recalculates and clears offset + + :type: :class:`Object` | None + + .. attribute:: open_falloff_panel + + (default False) + + :type: bool + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: strength + + Relative force of the hook (in [0, 1], default 0.5) + + :type: float + + .. attribute:: subtarget + + Name of Parent Bone for hook (if applicable), also recalculates and clears offset (default "", never None) + + :type: str + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_custom_curve + + Use a custom curve to define a factor along the strokes (default False) + + :type: bool + + .. attribute:: use_falloff_uniform + + Compensate for non-uniform object scale (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLatticeModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLatticeModifier.rst new file mode 100644 index 0000000..87cd751 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLatticeModifier.rst @@ -0,0 +1,181 @@ +GreasePencilLatticeModifier(Modifier) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilLatticeModifier(Modifier) + + Deform strokes using a lattice object + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: object + + Lattice object to deform with + + :type: :class:`Object` | None + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: strength + + Strength of modifier effect (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayer.rst new file mode 100644 index 0000000..91eaab4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayer.rst @@ -0,0 +1,232 @@ +GreasePencilLayer(GreasePencilTreeNode) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`GreasePencilTreeNode` + +.. class:: GreasePencilLayer(GreasePencilTreeNode) + + Collection of related drawings + + .. attribute:: blend_mode + + Blend mode (default ``'REGULAR'``) + + :type: Literal['REGULAR', 'HARDLIGHT', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE'] + + .. data:: frames + + Grease Pencil frames (default None, readonly) + + :type: :class:`GreasePencilFrames`\ [:class:`GreasePencilFrame`] + + .. attribute:: ignore_locked_materials + + Allow editing strokes even if they use locked materials (default False) + + :type: bool + + .. attribute:: lock_frame + + Lock current frame displayed by layer (default False) + + :type: bool + + .. data:: mask_layers + + List of Masking Layers (default None, readonly) + + :type: :class:`GreasePencilLayerMasks`\ [:class:`GreasePencilLayerMask`] + + .. data:: matrix_local + + Local transformation matrix of the layer (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), readonly) + + :type: :class:`mathutils.Matrix` + + .. data:: matrix_parent_inverse + + Inverse of layer's parent transformation matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), readonly) + + :type: :class:`mathutils.Matrix` + + .. attribute:: opacity + + Layer Opacity (in [0, 1], default 0.0) + + :type: float + + .. attribute:: parent + + Parent object + + :type: :class:`Object` | None + + .. attribute:: parent_bone + + Name of parent bone. Only used when the parent object is an armature. (default "", never None) + + :type: str + + .. attribute:: pass_index + + Index number for the "Layer Index" pass (in [0, inf], default 0) + + :type: int + + .. attribute:: radius_offset + + Radius change to apply to current strokes (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: rotation + + Euler rotation of the layer (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: scale + + Scale of the layer (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: tint_color + + Color for tinting stroke colors (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: tint_factor + + Factor of tinting color (in [0, 1], default 0.0) + + :type: float + + .. attribute:: translation + + Translation of the layer (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: use_lights + + Enable the use of lights on stroke and fill materials (default False) + + :type: bool + + .. attribute:: use_viewlayer_masks + + Include the mask layers when rendering the view-layer (default True) + + :type: bool + + .. attribute:: viewlayer_render + + Only include Layer in this View Layer render output (leave blank to include always) (default "", never None) + + :type: str + + .. method:: get_frame_at(frame_number) + + Get the frame at given frame number + + :param frame_number: Frame Number, (in [-1048574, 1048574]) + :type frame_number: int + :return: Frame + :rtype: :class:`GreasePencilFrame` + + .. method:: current_frame() + + The Grease Pencil frame at the current scene time on this layer + + :rtype: :class:`GreasePencilFrame` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`GreasePencilTreeNode.name` + - :class:`GreasePencilTreeNode.hide` + - :class:`GreasePencilTreeNode.lock` + - :class:`GreasePencilTreeNode.select` + - :class:`GreasePencilTreeNode.use_onion_skinning` + - :class:`GreasePencilTreeNode.use_masks` + - :class:`GreasePencilTreeNode.channel_color` + - :class:`GreasePencilTreeNode.next_node` + - :class:`GreasePencilTreeNode.prev_node` + - :class:`GreasePencilTreeNode.parent_group` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`GreasePencilTreeNode.bl_rna_get_subclass` + - :class:`GreasePencilTreeNode.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencil.layers` + - :class:`GreasePencilv3Layers.active` + - :class:`GreasePencilv3Layers.move` + - :class:`GreasePencilv3Layers.move_bottom` + - :class:`GreasePencilv3Layers.move_to_layer_group` + - :class:`GreasePencilv3Layers.move_top` + - :class:`GreasePencilv3Layers.new` + - :class:`GreasePencilv3Layers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayerGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayerGroup.rst new file mode 100644 index 0000000..dd62280 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayerGroup.rst @@ -0,0 +1,120 @@ +GreasePencilLayerGroup(GreasePencilTreeNode) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`GreasePencilTreeNode` + +.. class:: GreasePencilLayerGroup(GreasePencilTreeNode) + + Group of Grease Pencil layers + + .. data:: children + + The direct children of this layer group. Ordered by stack order, meaning the first child is the bottom most child in the layer tree. (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`GreasePencilTreeNode`] + + .. attribute:: color_tag + + (default ``'COLOR1'``) + + :type: Literal['NONE', 'COLOR1', 'COLOR2', 'COLOR3', 'COLOR4', 'COLOR5', 'COLOR6', 'COLOR7', 'COLOR8'] + + .. attribute:: is_expanded + + The layer group is expanded in the UI (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`GreasePencilTreeNode.name` + - :class:`GreasePencilTreeNode.hide` + - :class:`GreasePencilTreeNode.lock` + - :class:`GreasePencilTreeNode.select` + - :class:`GreasePencilTreeNode.use_onion_skinning` + - :class:`GreasePencilTreeNode.use_masks` + - :class:`GreasePencilTreeNode.channel_color` + - :class:`GreasePencilTreeNode.next_node` + - :class:`GreasePencilTreeNode.prev_node` + - :class:`GreasePencilTreeNode.parent_group` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`GreasePencilTreeNode.bl_rna_get_subclass` + - :class:`GreasePencilTreeNode.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencil.layer_groups` + - :class:`GreasePencilTreeNode.parent_group` + - :class:`GreasePencilv3LayerGroup.active` + - :class:`GreasePencilv3LayerGroup.move` + - :class:`GreasePencilv3LayerGroup.move_bottom` + - :class:`GreasePencilv3LayerGroup.move_to_layer_group` + - :class:`GreasePencilv3LayerGroup.move_to_layer_group` + - :class:`GreasePencilv3LayerGroup.move_top` + - :class:`GreasePencilv3LayerGroup.new` + - :class:`GreasePencilv3LayerGroup.new` + - :class:`GreasePencilv3LayerGroup.remove` + - :class:`GreasePencilv3Layers.move_to_layer_group` + - :class:`GreasePencilv3Layers.new` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayerMask.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayerMask.rst new file mode 100644 index 0000000..342e972 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayerMask.rst @@ -0,0 +1,96 @@ +GreasePencilLayerMask(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GreasePencilLayerMask(bpy_struct) + + List of Mask Layers + + .. attribute:: hide + + Set mask Visibility (default False) + + :type: bool + + .. attribute:: invert + + Invert mask (default False) + + :type: bool + + .. attribute:: name + + Mask layer name (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencilLayer.mask_layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayerMasks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayerMasks.rst new file mode 100644 index 0000000..7915957 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLayerMasks.rst @@ -0,0 +1,84 @@ +GreasePencilLayerMasks(bpy_prop_collection) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: GreasePencilLayerMasks(bpy_prop_collection) + + Collection of Grease Pencil masking layers + + .. attribute:: active_mask_index + + Active index in layer mask array (in [0, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencilLayer.mask_layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLengthModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLengthModifier.rst new file mode 100644 index 0000000..05e8af1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLengthModifier.rst @@ -0,0 +1,276 @@ +GreasePencilLengthModifier(Modifier) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilLengthModifier(Modifier) + + Stretch or shrink strokes + + .. attribute:: end_factor + + Added length to the end of each stroke relative to its length (in [-inf, inf], default 0.1) + + :type: float + + .. attribute:: end_length + + Absolute added length to the end of each stroke (in [-inf, inf], default 0.1) + + :type: float + + .. attribute:: invert_curvature + + Invert the curvature of the stroke's extension (default False) + + :type: bool + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: max_angle + + Ignore points on the stroke that deviate from their neighbors by more than this angle when determining the extrapolation shape (in [0, 3.14159], default 2.96706) + + :type: float + + .. attribute:: mode + + Mode to define length (default ``'RELATIVE'``) + + - ``RELATIVE`` + Relative -- Length in ratio to the stroke's length. + - ``ABSOLUTE`` + Absolute -- Length in geometry space. + + :type: Literal['RELATIVE', 'ABSOLUTE'] + + .. attribute:: open_curvature_panel + + (default False) + + :type: bool + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: open_random_panel + + (default False) + + :type: bool + + .. attribute:: overshoot_factor + + Defines what portion of the stroke is used for the calculation of the extension (in [0, 1], default 0.1) + + :type: float + + .. attribute:: point_density + + Multiplied by Start/End for the total added point count (in [0.1, 1000], default 30.0) + + :type: float + + .. attribute:: random_end_factor + + Size of random length added to the end of each stroke (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: random_offset + + Smoothly offset each stroke's random value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: random_start_factor + + Size of random length added to the start of each stroke (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: seed + + Random seed (in [0, inf], default 0) + + :type: int + + .. attribute:: segment_influence + + Factor to determine how much the length of the individual segments should influence the final computed curvature. Higher factors makes small segments influence the overall curvature less. (in [-2, 3], default 0.0) + + :type: float + + .. attribute:: start_factor + + Added length to the start of each stroke relative to its length (in [-inf, inf], default 0.1) + + :type: float + + .. attribute:: start_length + + Absolute added length to the start of each stroke (in [-inf, inf], default 0.1) + + :type: float + + .. attribute:: step + + Number of frames between randomization steps (in [1, 100], default 4) + + :type: int + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_curvature + + Follow the curvature of the stroke (default True) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_random + + Use random values over time (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLineartModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLineartModifier.rst new file mode 100644 index 0000000..329009c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilLineartModifier.rst @@ -0,0 +1,478 @@ +GreasePencilLineartModifier(Modifier) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilLineartModifier(Modifier) + + Generate Line Art strokes from selected source + + .. attribute:: chaining_image_threshold + + Segments with an image distance smaller than this will be chained together (in [0, 0.3], default 0.001) + + :type: float + + .. attribute:: crease_threshold + + Angles smaller than this will be treated as creases. Crease angle priority: object Line Art crease override > mesh auto smooth angle > Line Art default crease. (in [0, 3.14159], default 2.44346) + + :type: float + + .. attribute:: invert_source_vertex_group + + Invert source vertex group values (default False) + + :type: bool + + .. attribute:: is_baked + + This modifier has baked data (default False) + + :type: bool + + .. attribute:: level_end + + Maximum number of occlusions for the generated strokes (in [0, 128], default 0) + + :type: int + + .. attribute:: level_start + + Minimum number of occlusions for the generated strokes (in [0, 128], default 0) + + :type: int + + .. attribute:: light_contour_object + + Use this light object to generate light contour + + :type: :class:`Object` | None + + .. attribute:: opacity + + The strength value for the generate strokes (in [0, 1], default 1.0) + + :type: float + + .. attribute:: overscan + + A margin to prevent strokes from ending abruptly at the edge of the image (in [0, 0.5], default 0.1) + + :type: float + + .. attribute:: radius + + The radius for the generated strokes (in [0, 1], default 0.0025) + + :type: float + + .. attribute:: shadow_camera_far + + Far clipping distance of shadow camera (in [0, 10000], default 200.0) + + :type: float + + .. attribute:: shadow_camera_near + + Near clipping distance of shadow camera (in [0, 10000], default 0.1) + + :type: float + + .. attribute:: shadow_camera_size + + Represents the "Orthographic Scale" of an orthographic camera. If the camera is positioned at the light's location with this scale, it will represent the coverage of the shadow "camera". (in [0, 10000], default 200.0) + + :type: float + + .. attribute:: shadow_region_filtering + + Select feature lines that comes from lit or shaded regions. Will not affect cast shadow and light contour since they are at the border. (default ``'NONE'``) + + - ``NONE`` + None -- Not filtering any lines based on illumination region. + - ``ILLUMINATED`` + Illuminated -- Only selecting lines from illuminated regions. + - ``SHADED`` + Shaded -- Only selecting lines from shaded regions. + - ``ILLUMINATED_ENCLOSED`` + Illuminated (Enclosed Shapes) -- Selecting lines from lit regions, and make the combination of contour, light contour and shadow lines into enclosed shapes. + + :type: Literal['NONE', 'ILLUMINATED', 'SHADED', 'ILLUMINATED_ENCLOSED'] + + .. attribute:: silhouette_filtering + + Select contour or silhouette (default ``'NONE'``) + + :type: Literal['NONE', 'GROUP', 'INDIVIDUAL'] + + .. attribute:: smooth_tolerance + + Strength of smoothing applied on jagged chains (in [0, 30], default 0.0) + + :type: float + + .. attribute:: source_camera + + Use specified camera object for generating Line Art strokes + + :type: :class:`Object` | None + + .. attribute:: source_collection + + Generate strokes from the objects in this collection + + :type: :class:`Collection` | None + + .. attribute:: source_object + + Generate strokes from this object + + :type: :class:`Object` | None + + .. attribute:: source_type + + Line Art stroke source type (default ``'COLLECTION'``) + + :type: Literal['COLLECTION', 'OBJECT', 'SCENE'] + + .. attribute:: source_vertex_group + + Match the beginning of vertex group names from mesh objects, match all when left empty (default "", never None) + + :type: str + + .. attribute:: split_angle + + Angle in screen space below which a stroke is split in two (in [0, 3.14159], default 0.0) + + :type: float + + .. attribute:: stroke_depth_offset + + Move strokes slightly towards the camera to avoid clipping while preserve depth for the viewport (in [-0.1, inf], default 0.05) + + :type: float + + .. attribute:: target_layer + + Grease Pencil layer to which assign the generated strokes (default "", never None) + + :type: str + + .. attribute:: target_material + + Grease Pencil material assigned to the generated strokes + + :type: :class:`Material` | None + + .. attribute:: use_back_face_culling + + Remove all back faces to speed up calculation, this will create edges in different occlusion levels than when disabled (default False) + + :type: bool + + .. attribute:: use_cache + + Use cached scene data from the first Line Art modifier in the stack. Certain settings will be unavailable. (default False) + + :type: bool + + .. attribute:: use_clip_plane_boundaries + + Allow lines generated by the near/far clipping plane to be shown (default True) + + :type: bool + + .. attribute:: use_contour + + Generate strokes from contours lines (default False) + + :type: bool + + .. attribute:: use_crease + + Generate strokes from creased edges (default False) + + :type: bool + + .. attribute:: use_crease_on_sharp + + Allow crease to show on sharp edges (default True) + + :type: bool + + .. attribute:: use_crease_on_smooth + + Allow crease edges to show inside smooth surfaces (default False) + + :type: bool + + .. attribute:: use_custom_camera + + Use custom camera instead of the active camera (default False) + + :type: bool + + .. attribute:: use_detail_preserve + + Keep the zig-zag "noise" in initial chaining (default False) + + :type: bool + + .. attribute:: use_edge_mark + + Generate strokes from Freestyle marked edges (default False) + + :type: bool + + .. attribute:: use_edge_overlap + + Allow edges in the same location (i.e. from edge split) to show properly. May run slower. (default False) + + :type: bool + + .. attribute:: use_face_mark + + Filter feature lines using Freestyle face marks (default False) + + :type: bool + + .. attribute:: use_face_mark_boundaries + + Filter feature lines based on face mark boundaries (default False) + + :type: bool + + .. attribute:: use_face_mark_invert + + Invert face mark filtering (default False) + + :type: bool + + .. attribute:: use_face_mark_keep_contour + + Preserve contour lines while filtering (default True) + + :type: bool + + .. attribute:: use_fuzzy_all + + Treat all lines as the same line type so they can be chained together (default False) + + :type: bool + + .. attribute:: use_fuzzy_intersections + + Treat intersection and contour lines as if they were the same type so they can be chained together (default False) + + :type: bool + + .. attribute:: use_geometry_space_chain + + Use geometry distance for chaining instead of image space (default False) + + :type: bool + + .. attribute:: use_image_boundary_trimming + + Trim all edges right at the boundary of image (including overscan region) (default False) + + :type: bool + + .. attribute:: use_intersection + + Generate strokes from intersections (default False) + + :type: bool + + .. attribute:: use_intersection_mask + + Mask bits to match from Collection Line Art settings (array of 8 items, default (False, False, False, False, False, False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: use_intersection_match + + Require matching all intersection masks instead of just one (default False) + + :type: bool + + .. attribute:: use_invert_collection + + Select everything except lines from specified collection (default False) + + :type: bool + + .. attribute:: use_invert_silhouette + + Select anti-silhouette lines (default False) + + :type: bool + + .. attribute:: use_light_contour + + Generate light/shadow separation lines from a reference light object (default False) + + :type: bool + + .. attribute:: use_loose + + Generate strokes from loose edges (default False) + + :type: bool + + .. attribute:: use_loose_as_contour + + Loose edges will have contour type (default False) + + :type: bool + + .. attribute:: use_loose_edge_chain + + Allow loose edges to be chained together (default False) + + :type: bool + + .. attribute:: use_material + + Generate strokes from borders between materials (default False) + + :type: bool + + .. attribute:: use_material_mask + + Use material masks to filter out occluded strokes (default False) + + :type: bool + + .. attribute:: use_material_mask_bits + + Mask bits to match from Material Line Art settings (array of 8 items, default (False, False, False, False, False, False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: use_material_mask_match + + Require matching all material masks instead of just one (default False) + + :type: bool + + .. attribute:: use_multiple_levels + + Generate strokes from a range of occlusion levels (default False) + + :type: bool + + .. attribute:: use_object_instances + + Allow particle objects and face/vertex instances to show in Line Art (default True) + + :type: bool + + .. attribute:: use_offset_towards_custom_camera + + Offset strokes towards selected camera instead of the active camera (default False) + + :type: bool + + .. attribute:: use_output_vertex_group_match_by_name + + Match output vertex group based on name (default True) + + :type: bool + + .. attribute:: use_overlap_edge_type_support + + Allow an edge to have multiple overlapping types. This will create a separate stroke for each overlapping type. (default False) + + :type: bool + + .. attribute:: use_shadow + + Project contour lines using a light source object (default False) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name for selected strokes (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilMirrorModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilMirrorModifier.rst new file mode 100644 index 0000000..78a7cb2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilMirrorModifier.rst @@ -0,0 +1,180 @@ +GreasePencilMirrorModifier(Modifier) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilMirrorModifier(Modifier) + + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: object + + Object used as center + + :type: :class:`Object` | None + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_axis_x + + Mirror the X axis (default True) + + :type: bool + + .. attribute:: use_axis_y + + Mirror the Y axis (default False) + + :type: bool + + .. attribute:: use_axis_z + + Mirror the Z axis (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilMultiplyModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilMultiplyModifier.rst new file mode 100644 index 0000000..80168c1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilMultiplyModifier.rst @@ -0,0 +1,205 @@ +GreasePencilMultiplyModifier(Modifier) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilMultiplyModifier(Modifier) + + Generate multiple strokes from one stroke + + .. attribute:: distance + + Distance of duplications (in [-inf, inf], default 0.1) + + :type: float + + .. attribute:: duplicates + + How many copies of strokes be displayed (in [0, 999], default 3) + + :type: int + + .. attribute:: fading_center + + Fade center (in [0, 1], default 0.5) + + :type: float + + .. attribute:: fading_opacity + + Fade influence of stroke's opacity (in [0, 1], default 0.5) + + :type: float + + .. attribute:: fading_thickness + + Fade influence of stroke's thickness (in [0, 1], default 0.5) + + :type: float + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: offset + + Offset of duplicates, -1 to 1 (inner to outer) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: open_fading_panel + + (default False) + + :type: bool + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_fade + + Fade the stroke thickness for each generated stroke (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilNoiseModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilNoiseModifier.rst new file mode 100644 index 0000000..ac39541 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilNoiseModifier.rst @@ -0,0 +1,252 @@ +GreasePencilNoiseModifier(Modifier) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilNoiseModifier(Modifier) + + Noise effect modifier + + .. data:: custom_curve + + Custom curve to apply effect (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: factor + + Amount of noise to apply (in [0, inf], default 0.5) + + :type: float + + .. attribute:: factor_strength + + Amount of noise to apply to opacity (in [0, inf], default 0.0) + + :type: float + + .. attribute:: factor_thickness + + Amount of noise to apply to thickness (in [0, inf], default 0.0) + + :type: float + + .. attribute:: factor_uvs + + Amount of noise to apply to UV rotation (in [0, inf], default 0.0) + + :type: float + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: noise_offset + + Offset the noise along the strokes (in [0, inf], default 0.0) + + :type: float + + .. attribute:: noise_scale + + Scale the noise frequency (in [0, 1], default 0.0) + + :type: float + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: open_random_panel + + (default False) + + :type: bool + + .. attribute:: random_mode + + Where to perform randomization (default ``'STEP'``) + + - ``STEP`` + Steps -- Randomize every number of frames. + - ``KEYFRAME`` + Keyframes -- Randomize on keyframes only. + + :type: Literal['STEP', 'KEYFRAME'] + + .. attribute:: seed + + Random seed (in [0, inf], default 1) + + :type: int + + .. attribute:: step + + Number of frames between randomization steps (in [1, 100], default 4) + + :type: int + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_custom_curve + + Use a custom curve to define a factor along the strokes (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_random + + Use random values over time (default True) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilOffsetModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilOffsetModifier.rst new file mode 100644 index 0000000..da0e210 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilOffsetModifier.rst @@ -0,0 +1,249 @@ +GreasePencilOffsetModifier(Modifier) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilOffsetModifier(Modifier) + + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: location + + Values for change location (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: offset_mode + + (default ``'RANDOM'``) + + - ``RANDOM`` + Random -- Randomize stroke offset. + - ``LAYER`` + Layer -- Offset layers by the same factor. + - ``STROKE`` + Stroke -- Offset strokes by the same factor based on stroke draw order. + - ``MATERIAL`` + Material -- Offset materials by the same factor. + + :type: Literal['RANDOM', 'LAYER', 'STROKE', 'MATERIAL'] + + .. attribute:: open_general_panel + + (default False) + + :type: bool + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: rotation + + Values for changes in rotation (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: scale + + Values for changes in scale (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: seed + + Random seed (in [0, inf], default 0) + + :type: int + + .. attribute:: stroke_location + + Value for changes in location (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: stroke_rotation + + Value for changes in rotation (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: stroke_scale + + Value for changes in scale (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: stroke_start_offset + + Offset starting point (in [0, inf], default 0) + + :type: int + + .. attribute:: stroke_step + + Number of elements that will be grouped (in [1, 500], default 1) + + :type: int + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_uniform_random_scale + + Use the same random seed for each scale axis for a uniform scale (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilOpacityModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilOpacityModifier.rst new file mode 100644 index 0000000..c35203c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilOpacityModifier.rst @@ -0,0 +1,219 @@ +GreasePencilOpacityModifier(Modifier) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilOpacityModifier(Modifier) + + + .. attribute:: color_factor + + Factor of opacity (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: color_mode + + Attributes to modify (default ``'BOTH'``) + + - ``BOTH`` + Stroke & Fill -- Modify fill and stroke colors. + - ``STROKE`` + Stroke -- Modify stroke color only. + - ``FILL`` + Fill -- Modify fill color only. + - ``HARDNESS`` + Hardness -- Modify stroke hardness. + + :type: Literal['BOTH', 'STROKE', 'FILL', 'HARDNESS'] + + .. data:: custom_curve + + Custom curve to apply effect (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: hardness_factor + + Factor of stroke hardness (in [0, inf], default 1.0) + + :type: float + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_custom_curve + + Use a custom curve to define a factor along the strokes (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_uniform_opacity + + Replace the stroke opacity instead of modulating each point (default False) + + :type: bool + + .. attribute:: use_weight_as_factor + + Use vertex group weight as factor instead of influence (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilOutlineModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilOutlineModifier.rst new file mode 100644 index 0000000..f3df2b7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilOutlineModifier.rst @@ -0,0 +1,193 @@ +GreasePencilOutlineModifier(Modifier) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilOutlineModifier(Modifier) + + Outline of Strokes modifier from camera view + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: object + + Target object to define stroke start + + :type: :class:`Object` | None + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: outline_material + + Material used for outline strokes + + :type: :class:`Material` | None + + .. attribute:: sample_length + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subdivision + + Number of subdivisions (in [0, 10], default 3) + + :type: int + + .. attribute:: thickness + + Thickness of the perimeter stroke (in [1, 1000], default 1) + + :type: int + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_keep_shape + + Try to keep global shape (default True) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilShrinkwrapModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilShrinkwrapModifier.rst new file mode 100644 index 0000000..1567dcb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilShrinkwrapModifier.rst @@ -0,0 +1,265 @@ +GreasePencilShrinkwrapModifier(Modifier) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilShrinkwrapModifier(Modifier) + + Shrink wrapping modifier to shrink wrap an object to a target + + .. attribute:: auxiliary_target + + Additional mesh target to shrink to + + :type: :class:`Object` | None + + .. attribute:: cull_face + + Stop vertices from projecting to a face on the target when facing towards/away (default ``'OFF'``) + + :type: Literal[:ref:`rna_enum_shrinkwrap_face_cull_items`] + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: offset + + Distance to keep from the target (in [-inf, inf], default 0.05) + + :type: float + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: project_limit + + Limit the distance used for projection (zero disables) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: smooth_factor + + Amount of smoothing to apply (in [0, 1], default 0.05) + + :type: float + + .. attribute:: smooth_step + + Number of times to apply smooth (high numbers can reduce FPS) (in [1, 10], default 1) + + :type: int + + .. attribute:: subsurf_levels + + Number of subdivisions that must be performed before extracting vertices' positions and normals (in [0, 6], default 0) + + :type: int + + .. attribute:: target + + Mesh target to shrink to + + :type: :class:`Object` | None + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_invert_cull + + When projecting in the negative direction invert the face cull mode (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_negative_direction + + Allow vertices to move in the negative direction of axis (default False) + + :type: bool + + .. attribute:: use_positive_direction + + Allow vertices to move in the positive direction of axis (default True) + + :type: bool + + .. attribute:: use_project_x + + (default False) + + :type: bool + + .. attribute:: use_project_y + + (default False) + + :type: bool + + .. attribute:: use_project_z + + (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. attribute:: wrap_method + + (default ``'NEAREST_SURFACEPOINT'``) + + :type: Literal[:ref:`rna_enum_shrinkwrap_type_items`] + + .. attribute:: wrap_mode + + Select how vertices are constrained to the target surface (default ``'ON_SURFACE'``) + + :type: Literal[:ref:`rna_enum_modifier_shrinkwrap_mode_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilSimplifyModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilSimplifyModifier.rst new file mode 100644 index 0000000..11358bc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilSimplifyModifier.rst @@ -0,0 +1,214 @@ +GreasePencilSimplifyModifier(Modifier) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilSimplifyModifier(Modifier) + + Simplify Stroke modifier + + .. attribute:: distance + + Distance between points (in [0, inf], default 0.1) + + :type: float + + .. attribute:: factor + + Factor of Simplify (in [0, 100], default 0.0) + + :type: float + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: length + + Length of each segment (in [0, inf], default 0.1) + + :type: float + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: mode + + How to simplify the stroke (default ``'FIXED'``) + + - ``FIXED`` + Fixed -- Delete alternating vertices in the stroke, except extremes. + - ``ADAPTIVE`` + Adaptive -- Use a Ramer-Douglas-Peucker algorithm to simplify the stroke preserving main shape. + - ``SAMPLE`` + Sample -- Re-sample the stroke with segments of the specified length. + - ``MERGE`` + Merge -- Simplify the stroke by merging vertices closer than a given distance. + + :type: Literal['FIXED', 'ADAPTIVE', 'SAMPLE', 'MERGE'] + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: sharp_threshold + + Preserve corners that have sharper angle than this threshold (in [0, 3.14159], default 0.0) + + :type: float + + .. attribute:: step + + Number of times to apply simplify (in [1, 50], default 1) + + :type: int + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilSmoothModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilSmoothModifier.rst new file mode 100644 index 0000000..01bdc1a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilSmoothModifier.rst @@ -0,0 +1,229 @@ +GreasePencilSmoothModifier(Modifier) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilSmoothModifier(Modifier) + + Smooth effect modifier + + .. data:: custom_curve + + Custom curve to apply effect (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: factor + + Amount of smooth to apply (in [0, 1], default 1.0) + + :type: float + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: step + + Number of times to apply smooth (high numbers can reduce fps) (in [1, 1000], default 1) + + :type: int + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_custom_curve + + Use a custom curve to define a factor along the strokes (default False) + + :type: bool + + .. attribute:: use_edit_position + + The modifier affects the position of the point (default True) + + :type: bool + + .. attribute:: use_edit_strength + + The modifier affects the color strength of the point (default False) + + :type: bool + + .. attribute:: use_edit_thickness + + The modifier affects the thickness of the point (default False) + + :type: bool + + .. attribute:: use_edit_uv + + The modifier affects the UV rotation factor of the point (default False) + + :type: bool + + .. attribute:: use_keep_shape + + Smooth the details, but keep the overall shape (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_smooth_ends + + Smooth ends of strokes (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilSubdivModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilSubdivModifier.rst new file mode 100644 index 0000000..659b08e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilSubdivModifier.rst @@ -0,0 +1,169 @@ +GreasePencilSubdivModifier(Modifier) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilSubdivModifier(Modifier) + + Subdivide Stroke modifier + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: level + + Level of subdivision (in [0, 16], default 1) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: subdivision_type + + Select type of subdivision algorithm (default ``'CATMULL_CLARK'``) + + :type: Literal['CATMULL_CLARK', 'SIMPLE'] + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTextureModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTextureModifier.rst new file mode 100644 index 0000000..18dd8eb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTextureModifier.rst @@ -0,0 +1,217 @@ +GreasePencilTextureModifier(Modifier) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilTextureModifier(Modifier) + + Transform stroke texture coordinates Modifier + + .. attribute:: alignment_rotation + + Additional rotation applied to dots and square strokes (in [-1.5708, 1.5708], default 0.0) + + :type: float + + .. attribute:: fill_offset + + Additional offset of the fill UV (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: fill_rotation + + Additional rotation of the fill UV (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: fill_scale + + Additional scale of the fill UV (in [0.01, 100], default 1.0) + + :type: float + + .. attribute:: fit_method + + (default ``'CONSTANT_LENGTH'``) + + - ``CONSTANT_LENGTH`` + Constant Length -- Keep the texture at a constant length regardless of the length of each stroke. + - ``FIT_STROKE`` + Stroke Length -- Scale the texture to fit the length of each stroke. + + :type: Literal['CONSTANT_LENGTH', 'FIT_STROKE'] + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: mode + + (default ``'STROKE'``) + + - ``STROKE`` + Stroke -- Manipulate only stroke texture coordinates. + - ``FILL`` + Fill -- Manipulate only fill texture coordinates. + - ``STROKE_AND_FILL`` + Stroke & Fill -- Manipulate both stroke and fill texture coordinates. + + :type: Literal['STROKE', 'FILL', 'STROKE_AND_FILL'] + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: uv_offset + + Offset value to add to stroke UVs (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: uv_scale + + Factor to scale the UVs (in [0, inf], default 1.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilThickModifierData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilThickModifierData.rst new file mode 100644 index 0000000..e2c1e3e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilThickModifierData.rst @@ -0,0 +1,205 @@ +GreasePencilThickModifierData(Modifier) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilThickModifierData(Modifier) + + Adjust stroke thickness + + .. data:: custom_curve + + Custom curve to apply effect (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: thickness + + Absolute thickness to apply everywhere (in [-10, 100], default 0.02) + + :type: float + + .. attribute:: thickness_factor + + Factor to multiply the thickness with (in [0, inf], default 1.0) + + :type: float + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_custom_curve + + Use a custom curve to define a factor along the strokes (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_uniform_thickness + + Replace the stroke thickness (default False) + + :type: bool + + .. attribute:: use_weight_factor + + Use weight to modulate effect (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTimeModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTimeModifier.rst new file mode 100644 index 0000000..0933e57 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTimeModifier.rst @@ -0,0 +1,198 @@ +GreasePencilTimeModifier(Modifier) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilTimeModifier(Modifier) + + Offset keyframes + + .. attribute:: frame_end + + Final frame of the range (in [0, 1048574], default 250) + + :type: int + + .. attribute:: frame_scale + + Evaluation time in seconds (in [0.001, 100], default 1.0) + + :type: float + + .. attribute:: frame_start + + First frame of the range (in [0, 1048574], default 1) + + :type: int + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: mode + + (default ``'NORMAL'``) + + - ``NORMAL`` + Regular -- Apply offset in usual animation direction. + - ``REVERSE`` + Reverse -- Apply offset in reverse animation direction. + - ``FIX`` + Fixed Frame -- Keep frame and do not change with time. + - ``PINGPONG`` + Ping Pong -- Loop back and forth starting in reverse. + - ``CHAIN`` + Chain -- List of chained animation segments. + + :type: Literal['NORMAL', 'REVERSE', 'FIX', 'PINGPONG', 'CHAIN'] + + .. attribute:: offset + + Number of frames to offset original keyframe number or frame to fix (in [-32768, 32767], default 1) + + :type: int + + .. attribute:: open_custom_range_panel + + (default False) + + :type: bool + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: segment_active_index + + Active index in the segment list (in [0, inf], default 0) + + :type: int + + .. data:: segments + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`GreasePencilTimeModifierSegment`] + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_custom_frame_range + + Define a custom range of frames to use in modifier (default False) + + :type: bool + + .. attribute:: use_keep_loop + + Retiming end frames and move to start of animation to keep loop (default True) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTimeModifierSegment.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTimeModifierSegment.rst new file mode 100644 index 0000000..ad9023b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTimeModifierSegment.rst @@ -0,0 +1,115 @@ +GreasePencilTimeModifierSegment(bpy_struct) +=========================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: GreasePencilTimeModifierSegment(bpy_struct) + + Configuration for a single dash segment + + .. attribute:: name + + Name of the dash segment (default "", never None) + + :type: str + + .. attribute:: segment_end + + Last frame of the segment (in [0, 32767], default 2) + + :type: int + + .. attribute:: segment_mode + + (default ``'NORMAL'``) + + - ``NORMAL`` + Regular -- Apply offset in usual animation direction. + - ``REVERSE`` + Reverse -- Apply offset in reverse animation direction. + - ``PINGPONG`` + Ping Pong -- Loop back and forth. + + :type: Literal['NORMAL', 'REVERSE', 'PINGPONG'] + + .. attribute:: segment_repeat + + Number of cycle repeats (in [1, 32767], default 1) + + :type: int + + .. attribute:: segment_start + + First frame of the segment (in [0, 32767], default 1) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencilTimeModifier.segments` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTintModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTintModifier.rst new file mode 100644 index 0000000..94cea7e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTintModifier.rst @@ -0,0 +1,235 @@ +GreasePencilTintModifier(Modifier) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilTintModifier(Modifier) + + + .. attribute:: color + + Color used for tinting (array of 3 items, in [0, 1], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: color_mode + + Attributes to modify (default ``'BOTH'``) + + - ``BOTH`` + Stroke & Fill -- Modify fill and stroke colors. + - ``STROKE`` + Stroke -- Modify stroke color only. + - ``FILL`` + Fill -- Modify fill color only. + + :type: Literal['BOTH', 'STROKE', 'FILL'] + + .. data:: color_ramp + + Gradient tinting colors (readonly) + + :type: :class:`ColorRamp` | None + + .. data:: custom_curve + + Custom curve to apply effect (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: factor + + Factor for tinting (in [0, 2], default 0.5) + + :type: float + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: object + + Object used for the gradient direction + + :type: :class:`Object` | None + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: radius + + Influence distance from the object (in [1e-06, inf], default 1.0) + + :type: float + + .. attribute:: tint_mode + + (default ``'UNIFORM'``) + + :type: Literal['UNIFORM', 'GRADIENT'] + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_custom_curve + + Use a custom curve to define a factor along the strokes (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_weight_as_factor + + Use vertex group weight as factor instead of influence (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTreeNode.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTreeNode.rst new file mode 100644 index 0000000..28414ab --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilTreeNode.rst @@ -0,0 +1,144 @@ +GreasePencilTreeNode(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`GreasePencilLayer`, :class:`GreasePencilLayerGroup` + +.. class:: GreasePencilTreeNode(bpy_struct) + + Grease Pencil node in the layer tree. Either a layer or a group + + .. attribute:: channel_color + + Color of the channel in the dope sheet (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: hide + + Set tree node visibility (default False) + + :type: bool + + .. attribute:: lock + + Protect tree node from editing (default False) + + :type: bool + + .. attribute:: name + + The name of the tree node (default "", never None) + + :type: str + + .. data:: next_node + + The layer tree node after (i.e. above) this one (readonly) + + :type: :class:`GreasePencilTreeNode` | None + + .. data:: parent_group + + The parent group of this layer tree node (readonly) + + :type: :class:`GreasePencilLayerGroup` | None + + .. data:: prev_node + + The layer tree node before (i.e. below) this one (readonly) + + :type: :class:`GreasePencilTreeNode` | None + + .. attribute:: select + + Tree node is selected (default False) + + :type: bool + + .. attribute:: use_masks + + The visibility of drawings in this tree node is affected by the layers in the masks list (default True) + + :type: bool + + .. attribute:: use_onion_skinning + + Display onion skins before and after the current frame (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencil.root_nodes` + - :class:`GreasePencilLayerGroup.children` + - :class:`GreasePencilTreeNode.next_node` + - :class:`GreasePencilTreeNode.prev_node` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilWeightAngleModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilWeightAngleModifier.rst new file mode 100644 index 0000000..26b9ca0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilWeightAngleModifier.rst @@ -0,0 +1,211 @@ +GreasePencilWeightAngleModifier(Modifier) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilWeightAngleModifier(Modifier) + + Calculate Vertex Weight dynamically + + .. attribute:: angle + + Angle (in [0, 3.14159], default 0.0) + + :type: float + + .. attribute:: axis + + (default ``'Y'``) + + :type: Literal['X', 'Y', 'Z'] + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: minimum_weight + + Minimum value for vertex weight (in [0, 1], default 0.0) + + :type: float + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: space + + Coordinates space (default ``'LOCAL'``) + + :type: Literal['LOCAL', 'WORLD'] + + .. attribute:: target_vertex_group + + Output Vertex group (default "", never None) + + :type: str + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_invert_output + + Invert output weight values (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_multiply + + Multiply the calculated weights with the existing values in the vertex group (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilWeightProximityModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilWeightProximityModifier.rst new file mode 100644 index 0000000..abf7c23 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilWeightProximityModifier.rst @@ -0,0 +1,211 @@ +GreasePencilWeightProximityModifier(Modifier) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: GreasePencilWeightProximityModifier(Modifier) + + Calculate Vertex Weight dynamically + + .. attribute:: distance_end + + Distance mapping to 1.0 weight (in [0, inf], default 20.0) + + :type: float + + .. attribute:: distance_start + + Distance mapping to 0.0 weight (in [0, inf], default 0.0) + + :type: float + + .. attribute:: invert_layer_filter + + Invert layer filter (default False) + + :type: bool + + .. attribute:: invert_layer_pass_filter + + Invert layer pass filter (default False) + + :type: bool + + .. attribute:: invert_material_filter + + Invert material filter (default False) + + :type: bool + + .. attribute:: invert_material_pass_filter + + Invert material pass filter (default False) + + :type: bool + + .. attribute:: invert_vertex_group + + Invert vertex group weights (default False) + + :type: bool + + .. attribute:: layer_pass_filter + + Layer pass filter (in [0, 100], default 0) + + :type: int + + .. attribute:: material_filter + + Material used for filtering + + :type: :class:`Material` | None + + .. attribute:: material_pass_filter + + Material pass (in [0, 100], default 0) + + :type: int + + .. attribute:: minimum_weight + + Minimum value for vertex weight (in [0, 1], default 0.0) + + :type: float + + .. attribute:: object + + Object used as distance reference + + :type: :class:`Object` | None + + .. attribute:: open_influence_panel + + (default False) + + :type: bool + + .. attribute:: target_vertex_group + + Output Vertex group (default "", never None) + + :type: str + + .. attribute:: tree_node_filter + + Layer name (default "", never None) + + :type: str + + .. attribute:: use_invert_output + + Invert output weight values (default False) + + :type: bool + + .. attribute:: use_layer_group_filter + + Filter by layer group name (default False) + + :type: bool + + .. attribute:: use_layer_pass_filter + + Use layer pass filter (default False) + + :type: bool + + .. attribute:: use_material_pass_filter + + Use material pass filter (default False) + + :type: bool + + .. attribute:: use_multiply + + Multiply the calculated weights with the existing values in the vertex group (default False) + + :type: bool + + .. attribute:: vertex_group_name + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilv3LayerGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilv3LayerGroup.rst new file mode 100644 index 0000000..72b98b2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilv3LayerGroup.rst @@ -0,0 +1,136 @@ +GreasePencilv3LayerGroup(bpy_prop_collection) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: GreasePencilv3LayerGroup(bpy_prop_collection) + + Collection of Grease Pencil layers + + .. attribute:: active + + Active Grease Pencil layer group + + :type: :class:`GreasePencilLayerGroup` | None + + .. method:: new(name, *, parent_group=None) + + Add a new Grease Pencil layer group + + :param name: Name, Name of the layer group (never None) + :type name: str + :param parent_group: The parent layer group the new group will be created in (use None for the main stack) (optional) + :type parent_group: :class:`GreasePencilLayerGroup` | None + :return: The newly created layer group + :rtype: :class:`GreasePencilLayerGroup` + + .. method:: remove(layer_group, *, keep_children=False) + + Remove a new Grease Pencil layer group + + :param layer_group: The layer group to remove (never None) + :type layer_group: :class:`GreasePencilLayerGroup` | None + :param keep_children: Keep the children nodes of the group and only delete the group itself (optional) + :type keep_children: bool + + .. method:: move(layer_group, type) + + Move a layer group in the parent layer group or main stack + + :param layer_group: The layer group to move (never None) + :type layer_group: :class:`GreasePencilLayerGroup` | None + :param type: Direction of movement + :type type: Literal['DOWN', 'UP'] + + .. method:: move_top(layer_group) + + Move a layer group to the top of the parent layer group or main stack + + :param layer_group: The layer group to move (never None) + :type layer_group: :class:`GreasePencilLayerGroup` | None + + .. method:: move_bottom(layer_group) + + Move a layer group to the bottom of the parent layer group or main stack + + :param layer_group: The layer group to move (never None) + :type layer_group: :class:`GreasePencilLayerGroup` | None + + .. method:: move_to_layer_group(layer_group, parent_group) + + Move a layer group into a parent layer group + + :param layer_group: The layer group to move (never None) + :type layer_group: :class:`GreasePencilLayerGroup` | None + :param parent_group: The parent layer group the layer group will be moved into (use None for the main stack) + :type parent_group: :class:`GreasePencilLayerGroup` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencil.layer_groups` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilv3Layers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilv3Layers.rst new file mode 100644 index 0000000..0347c44 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GreasePencilv3Layers.rst @@ -0,0 +1,136 @@ +GreasePencilv3Layers(bpy_prop_collection) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: GreasePencilv3Layers(bpy_prop_collection) + + Collection of Grease Pencil layers + + .. attribute:: active + + Active Grease Pencil layer + + :type: :class:`GreasePencilLayer` | None + + .. method:: new(name, *, set_active=True, layer_group=None) + + Add a new Grease Pencil layer + + :param name: Name, Name of the layer (never None) + :type name: str + :param set_active: Set Active, Set the newly created layer as the active layer (optional) + :type set_active: bool + :param layer_group: The layer group the new layer will be created in (use None for the main stack) (optional) + :type layer_group: :class:`GreasePencilLayerGroup` | None + :return: The newly created layer + :rtype: :class:`GreasePencilLayer` + + .. method:: remove(layer) + + Remove a Grease Pencil layer + + :param layer: The layer to remove (never None) + :type layer: :class:`GreasePencilLayer` | None + + .. method:: move(layer, type) + + Move a Grease Pencil layer in the layer group or main stack + + :param layer: The layer to move (never None) + :type layer: :class:`GreasePencilLayer` | None + :param type: Direction of movement + :type type: Literal['DOWN', 'UP'] + + .. method:: move_top(layer) + + Move a Grease Pencil layer to the top of the layer group or main stack + + :param layer: The layer to move (never None) + :type layer: :class:`GreasePencilLayer` | None + + .. method:: move_bottom(layer) + + Move a Grease Pencil layer to the bottom of the layer group or main stack + + :param layer: The layer to move (never None) + :type layer: :class:`GreasePencilLayer` | None + + .. method:: move_to_layer_group(layer, layer_group) + + Move a Grease Pencil layer into a layer group + + :param layer: The layer to move (never None) + :type layer: :class:`GreasePencilLayer` | None + :param layer_group: The layer group the layer will be moved into (use None for the main stack) + :type layer_group: :class:`GreasePencilLayerGroup` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GreasePencil.layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GroupNodeViewerPathElem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GroupNodeViewerPathElem.rst new file mode 100644 index 0000000..e817423 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.GroupNodeViewerPathElem.rst @@ -0,0 +1,79 @@ +GroupNodeViewerPathElem(ViewerPathElem) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ViewerPathElem` + +.. class:: GroupNodeViewerPathElem(ViewerPathElem) + + + .. attribute:: node_id + + (in [-inf, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ViewerPathElem.type` + - :class:`ViewerPathElem.ui_name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ViewerPathElem.bl_rna_get_subclass` + - :class:`ViewerPathElem.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Header.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Header.rst new file mode 100644 index 0000000..5330ace --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Header.rst @@ -0,0 +1,116 @@ +Header(bpy_struct) +================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Header(bpy_struct) + + Editor header containing UI elements + + .. attribute:: bl_idname + + If this is set, the header gets a custom ID, otherwise it takes the name of the class used to define the header; for example, if the class name is "OBJECT_HT_hello", and bl_idname is not set by the script, then bl_idname = "OBJECT_HT_hello" (default "", never None) + + :type: str + + .. attribute:: bl_region_type + + The region where the header is going to be used in (defaults to header region) (default ``'HEADER'``) + + :type: Literal[:ref:`rna_enum_region_type_items`] + + .. attribute:: bl_space_type + + The space where the header is going to be used in (default ``'EMPTY'``) + + :type: Literal[:ref:`rna_enum_space_type_items`] + + .. data:: layout + + Structure of the header in the UI (readonly) + + :type: :class:`UILayout` | None + + .. method:: draw(context) + + Draw UI elements into the header UI layout + + :type context: :class:`Context` | None + + .. classmethod:: append(draw_func) + + Append a draw function to this menu, + takes the same arguments as the menus draw function + + .. classmethod:: is_extended() + + .. classmethod:: prepend(draw_func) + + Prepend a draw function to this menu, takes the same arguments as + the menus draw function + + .. classmethod:: remove(draw_func) + + Remove a draw function that has been added to this menu. + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Histogram.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Histogram.rst new file mode 100644 index 0000000..e725b1d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Histogram.rst @@ -0,0 +1,104 @@ +Histogram(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Histogram(bpy_struct) + + Statistical view of the levels of color in an image + + .. attribute:: mode + + Channels to display in the histogram (default ``'LUMA'``) + + - ``LUMA`` + Luma -- Luma. + - ``RGB`` + RGB -- Red Green Blue. + - ``R`` + R -- Red. + - ``G`` + G -- Green. + - ``B`` + B -- Blue. + - ``A`` + A -- Alpha. + + :type: Literal['LUMA', 'RGB', 'R', 'G', 'B', 'A'] + + .. attribute:: show_line + + Display lines rather than filled shapes (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scopes.histogram` + - :class:`SpaceImageEditor.sample_histogram` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.HookModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.HookModifier.rst new file mode 100644 index 0000000..796e47e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.HookModifier.rst @@ -0,0 +1,164 @@ +HookModifier(Modifier) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: HookModifier(Modifier) + + Hook modifier to modify the location of vertices + + .. attribute:: center + + Center of the hook, used for falloff and display (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: falloff_curve + + Custom falloff curve (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: falloff_radius + + If not zero, the distance from the hook where influence ends (in [0, inf], default 0.0) + + :type: float + + .. attribute:: falloff_type + + (default ``'SMOOTH'``) + + :type: Literal['NONE', 'CURVE', 'SMOOTH', 'SPHERE', 'ROOT', 'INVERSE_SQUARE', 'SHARP', 'LINEAR', 'CONSTANT'] + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: matrix_inverse + + Reverse the transformation between this object and its target (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((1.0, 0.0, 0.0, 0.0), (0.0, 1.0, 0.0, 0.0), (0.0, 0.0, 1.0, 0.0), (0.0, 0.0, 0.0, 1.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: object + + Parent Object for hook, also recalculates and clears offset + + :type: :class:`Object` | None + + .. attribute:: strength + + Relative force of the hook (in [0, 1], default 1.0) + + :type: float + + .. attribute:: subtarget + + Name of Parent Bone for hook (if applicable), also recalculates and clears offset (default "", never None) + + :type: str + + .. attribute:: use_falloff_uniform + + Compensate for non-uniform object scale (default False) + + :type: bool + + .. attribute:: vertex_group + + Name of Vertex Group which determines influence of modifier per point (default "", never None) + + :type: str + + .. data:: vertex_indices + + Indices of vertices bound to the modifier. For Bézier curves, handles count as additional vertices. (array of 64 items, in [0, inf], default (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. method:: vertex_indices_set(indices) + + Validates and assigns the array of vertex indices bound to the modifier + + :param indices: Vertex Indices (array of 64 items, in [-inf, inf]) + :type indices: Sequence[int] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.HueCorrectModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.HueCorrectModifier.rst new file mode 100644 index 0000000..1c0da8e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.HueCorrectModifier.rst @@ -0,0 +1,94 @@ +HueCorrectModifier(StripModifier) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripModifier` + +.. class:: HueCorrectModifier(StripModifier) + + Hue correction modifier for sequence strip + + .. data:: curve_mapping + + (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: open_mask_input_panel + + (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripModifier.name` + - :class:`StripModifier.type` + - :class:`StripModifier.mute` + - :class:`StripModifier.enable` + - :class:`StripModifier.show_expanded` + - :class:`StripModifier.input_mask_type` + - :class:`StripModifier.mask_time` + - :class:`StripModifier.input_mask_strip` + - :class:`StripModifier.input_mask_id` + - :class:`StripModifier.is_active` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripModifier.bl_rna_get_subclass` + - :class:`StripModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.HydraRenderEngine.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.HydraRenderEngine.rst new file mode 100644 index 0000000..64a54cc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.HydraRenderEngine.rst @@ -0,0 +1,152 @@ +HydraRenderEngine(RenderEngine) +=============================== + +.. currentmodule:: bpy.types + + +Base class for integrating USD Hydra based renderers. + +USD Hydra Based Renderer +++++++++++++++++++++++++ + +.. literalinclude:: ./examples/bpy.types.HydraRenderEngine.0.py + :lines: 8- + +base classes --- :class:`bpy_struct`, :class:`RenderEngine` + +.. class:: HydraRenderEngine(RenderEngine) + + Base class from USD Hydra based renderers + + .. method:: get_render_settings(engine_type: str) + + Provide render settings for ``HdRenderDelegate``. + + .. method:: render(depsgraph) + + .. method:: update(data, depsgraph) + + .. method:: view_draw(context, depsgraph) + + .. method:: view_update(context, depsgraph) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`RenderEngine.is_animation` + - :class:`RenderEngine.is_preview` + - :class:`RenderEngine.camera_override` + - :class:`RenderEngine.layer_override` + - :class:`RenderEngine.resolution_x` + - :class:`RenderEngine.resolution_y` + - :class:`RenderEngine.temporary_directory` + - :class:`RenderEngine.render` + - :class:`RenderEngine.use_highlight_tiles` + - :class:`RenderEngine.bl_idname` + - :class:`RenderEngine.bl_label` + - :class:`RenderEngine.bl_use_preview` + - :class:`RenderEngine.bl_use_postprocess` + - :class:`RenderEngine.bl_use_eevee_viewport` + - :class:`RenderEngine.bl_use_custom_freestyle` + - :class:`RenderEngine.bl_use_image_save` + - :class:`RenderEngine.bl_use_gpu_context` + - :class:`RenderEngine.bl_use_shading_nodes_custom` + - :class:`RenderEngine.bl_use_spherical_stereo` + - :class:`RenderEngine.bl_use_stereo_viewport` + - :class:`RenderEngine.bl_use_materialx` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`RenderEngine.update` + - :class:`RenderEngine.render` + - :class:`RenderEngine.render_frame_finish` + - :class:`RenderEngine.draw` + - :class:`RenderEngine.bake` + - :class:`RenderEngine.view_update` + - :class:`RenderEngine.view_draw` + - :class:`RenderEngine.update_script_node` + - :class:`RenderEngine.update_render_passes` + - :class:`RenderEngine.update_custom_camera` + - :class:`RenderEngine.tag_redraw` + - :class:`RenderEngine.tag_update` + - :class:`RenderEngine.begin_result` + - :class:`RenderEngine.update_result` + - :class:`RenderEngine.end_result` + - :class:`RenderEngine.add_pass` + - :class:`RenderEngine.get_result` + - :class:`RenderEngine.test_break` + - :class:`RenderEngine.pass_by_index_get` + - :class:`RenderEngine.active_view_get` + - :class:`RenderEngine.active_view_set` + - :class:`RenderEngine.camera_shift_x` + - :class:`RenderEngine.camera_model_matrix` + - :class:`RenderEngine.use_spherical_stereo` + - :class:`RenderEngine.update_stats` + - :class:`RenderEngine.frame_set` + - :class:`RenderEngine.update_progress` + - :class:`RenderEngine.update_memory_stats` + - :class:`RenderEngine.report` + - :class:`RenderEngine.error_set` + - :class:`RenderEngine.bind_display_space_shader` + - :class:`RenderEngine.unbind_display_space_shader` + - :class:`RenderEngine.support_display_space_shader` + - :class:`RenderEngine.get_preview_pixel_size` + - :class:`RenderEngine.free_blender_memory` + - :class:`RenderEngine.tile_highlight_set` + - :class:`RenderEngine.tile_highlight_clear_all` + - :class:`RenderEngine.register_pass` + - :class:`RenderEngine.bl_rna_get_subclass` + - :class:`RenderEngine.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ID.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ID.rst new file mode 100644 index 0000000..a9c69b8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ID.rst @@ -0,0 +1,418 @@ +ID(bpy_struct) +============== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`Action`, :class:`Annotation`, :class:`Armature`, :class:`Brush`, :class:`CacheFile`, :class:`Camera`, :class:`Collection`, :class:`Curve`, :class:`Curves`, :class:`FreestyleLineStyle`, :class:`GreasePencil`, :class:`Image`, :class:`Key`, :class:`Lattice`, :class:`Library`, :class:`Light`, :class:`LightProbe`, :class:`Mask`, :class:`Material`, :class:`Mesh`, :class:`MetaBall`, :class:`MovieClip`, :class:`NodeTree`, :class:`Object`, :class:`PaintCurve`, :class:`Palette`, :class:`ParticleSettings`, :class:`PointCloud`, :class:`Scene`, :class:`Screen`, :class:`Sound`, :class:`Speaker`, :class:`Text`, :class:`Texture`, :class:`VectorFont`, :class:`Volume`, :class:`WindowManager`, :class:`WorkSpace`, :class:`World` + +.. class:: ID(bpy_struct) + + Base type for data-blocks, defining a unique name, linking from other libraries and garbage collection + + .. attribute:: asset_data + + Additional data for an asset data-block + + :type: :class:`AssetMetaData` | None + + .. data:: id_type + + Type identifier of this data-block (default ``'ACTION'``, readonly) + + :type: Literal[:ref:`rna_enum_id_type_items`] + + .. data:: is_editable + + This data-block is editable in the user interface. Linked data-blocks are not editable, except if they were loaded as editable assets. (default False, readonly) + + :type: bool + + .. data:: is_embedded_data + + This data-block is not an independent one, but is actually a sub-data of another ID (typical example: root node trees or master collections) (default False, readonly) + + :type: bool + + .. data:: is_evaluated + + Whether this ID is runtime-only, evaluated data-block, or actual data from .blend file (default False, readonly) + + :type: bool + + .. data:: is_library_indirect + + Is this ID block linked indirectly (default False, readonly) + + :type: bool + + .. data:: is_linked_packed + + This data-block is linked and packed into the .blend file (default False, readonly) + + :type: bool + + .. data:: is_missing + + This data-block is a place-holder for missing linked data (i.e. it is [an override of] a linked data that could not be found anymore) (default False, readonly) + + :type: bool + + .. attribute:: is_runtime_data + + This data-block is runtime data, i.e. it won't be saved in .blend file. Note that e.g. evaluated IDs are always runtime, so this value is only editable for data-blocks in Main data-base. (default False) + + :type: bool + + .. data:: library + + Library file the data-block is linked from (readonly) + + :type: :class:`Library` | None + + .. data:: library_weak_reference + + Weak reference to a data-block in another library .blend file (used to re-use already appended data instead of appending new copies) (readonly) + + :type: :class:`LibraryWeakReference` | None + + .. attribute:: name + + Unique data-block ID name (within a same type and library) (default "", never None) + + :type: str + + .. data:: name_full + + Unique data-block ID name, including library one if any (default "", readonly, never None) + + :type: str + + .. data:: original + + Actual data-block from .blend file (Main database) that generated that evaluated one (readonly) + + :type: :class:`ID` | None + + .. data:: override_library + + Library override data (readonly) + + :type: :class:`IDOverrideLibrary` | None + + .. data:: preview + + Preview image and icon of this data-block (always None if not supported for this type of data) (readonly) + + :type: :class:`ImagePreview` | None + + .. data:: session_uid + + A session-wide unique identifier for the data block that remains the same across renames and internal reallocations, unchanged when reloading the file (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: tag + + Tools can use this to tag data for their own purposes (initial state is undefined) (default False) + + :type: bool + + .. attribute:: use_extra_user + + Indicates whether an extra user is set or not (mainly for internal/debug usages) (default False) + + :type: bool + + .. attribute:: use_fake_user + + Save this data-block even if it has no users (default False) + + :type: bool + + .. data:: users + + Number of times this data-block is referenced (in [0, inf], default 0, readonly) + + :type: int + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. method:: rename(name, *, mode='NEVER') + + More refined handling in case the new name collides with another ID's name + + :param name: New name to rename the ID to, if empty will re-use the current ID name (never None) + :type name: str + :param mode: How to handle name collision, in case the requested new name is already used by another ID of the same type (optional) + + - ``NEVER`` + Never Rename -- Never rename an existing ID whose name would conflict, the currently renamed ID will get a numeric suffix appended to its new name. + - ``ALWAYS`` + Always Rename -- Always rename an existing ID whose name would conflict, ensuring that the currently renamed ID will get requested name. + - ``SAME_ROOT`` + Rename If Same Root -- Only rename an existing ID whose name would conflict if its name root (everything besides the numerical suffix) is the same as the existing name of the currently renamed ID. + :type mode: Literal['NEVER', 'ALWAYS', 'SAME_ROOT'] + :return: How did the renaming of the data-block went on + + - ``UNCHANGED`` + Unchanged -- The ID was not renamed, e.g. because it is already named as requested. + - ``UNCHANGED_COLLISION`` + Unchanged Due to Collision -- The ID was not renamed, because requested name would have collided with another existing ID's name, and the automatically adjusted name was the same as the current ID's name. + - ``RENAMED_NO_COLLISION`` + Renamed Without Collision -- The ID was renamed as requested, without creating any name collision. + - ``RENAMED_COLLISION_ADJUSTED`` + Renamed With Collision -- The ID was renamed with adjustment of the requested name, to avoid a name collision. + - ``RENAMED_COLLISION_FORCED`` + Renamed Enforced With Collision -- The ID was renamed as requested, also renaming another ID to avoid a name collision. + :rtype: Literal['UNCHANGED', 'UNCHANGED_COLLISION', 'RENAMED_NO_COLLISION', 'RENAMED_COLLISION_ADJUSTED', 'RENAMED_COLLISION_FORCED'] + + .. method:: evaluated_get(depsgraph) + + Get corresponding evaluated ID from the given dependency graph. Note that this does not ensure the dependency graph is fully evaluated, it just returns the result of the last evaluation. + + :param depsgraph: Dependency graph to perform lookup in (never None) + :type depsgraph: :class:`Depsgraph` | None + :return: New copy of the ID + :rtype: :class:`ID` + + .. method:: copy() + + Create a copy of this data-block (not supported for all data-blocks). The result is added to the Blend-File Data (Main database), with all references to other data-blocks ensured to be from within the same Blend-File Data. + + :return: New copy of the ID + :rtype: :class:`ID` + + .. method:: asset_mark() + + Enable easier reuse of the data-block through the Asset Browser, with the help of customizable metadata (like previews, descriptions and tags) + + + .. method:: asset_clear() + + Delete all asset metadata and turn the asset data-block back into a normal data-block + + + .. method:: asset_generate_preview() + + Generate preview image (might be scheduled in a background thread) + + + .. method:: override_create(*, remap_local_usages=False) + + Create an overridden local copy of this linked data-block (not supported for all data-blocks) + + :param remap_local_usages: Whether local usages of the linked ID should be remapped to the new library override of it (optional) + :type remap_local_usages: bool + :return: New overridden local copy of the ID + :rtype: :class:`ID` + + .. method:: override_hierarchy_create(scene, view_layer, *, reference=None, do_fully_editable=False) + + Create an overridden local copy of this linked data-block, and most of its dependencies when it is a Collection or and Object + + :param scene: In which scene the new overrides should be instantiated (never None) + :type scene: :class:`Scene` | None + :param view_layer: In which view layer the new overrides should be instantiated (never None) + :type view_layer: :class:`ViewLayer` | None + :param reference: Another ID (usually an Object or Collection) used as a hint to decide where to instantiate the new overrides (optional) + :type reference: :class:`ID` | None + :param do_fully_editable: Make all library overrides generated by this call fully editable by the user (none will be 'system overrides') (optional) + :type do_fully_editable: bool + :return: New overridden local copy of the root ID + :rtype: :class:`ID` + + .. method:: user_clear() + + Clear the user count of a data-block so its not saved, on reload the data will be removed + + + This function is for advanced use only, misuse can crash Blender since the user + count is used to prevent data being removed when it is used. + + .. literalinclude:: ./examples/bpy.types.ID.user_clear.1.py + :lines: 6- + + + .. method:: user_remap(new_id) + + Replace all usage in the .blend file of this ID by new given one + + :param new_id: New ID to use (never None) + :type new_id: :class:`ID` | None + + .. method:: make_local(*, clear_proxy=True, clear_liboverride=False, clear_asset_data=True) + + Make this data-block local, return local one (may be a copy of the original, in case it is also indirectly used) + + :param clear_proxy: Deprecated, has no effect (optional) + :type clear_proxy: bool + :param clear_liboverride: Remove potential library override data from the newly made local data (optional) + :type clear_liboverride: bool + :param clear_asset_data: Remove potential asset metadata so the newly local data-block is not treated as asset data-block and won't show up in asset libraries (optional) + :type clear_asset_data: bool + :return: This ID, or the new ID if it was copied + :rtype: :class:`ID` + + .. method:: user_of_id(id) + + Count the number of times that ID uses/references given one + + :param id: ID to count usages (never None) + :type id: :class:`ID` | None + :return: Number of usages/references of given id by current data-block (in [0, inf]) + :rtype: int + + .. method:: animation_data_create() + + Create animation data to this ID, note that not all ID types support this + + :return: New animation data or None + :rtype: :class:`AnimData` + + .. method:: animation_data_clear() + + Clear animation on this ID + + + .. method:: update_tag(*, refresh=set()) + + Tag the ID to update its display data, e.g. when calling :class:`bpy.types.Scene.update` + + :param refresh: Type of updates to perform (optional) + :type refresh: set[Literal['OBJECT', 'DATA', 'TIME']] + + .. method:: preview_ensure() + + Ensure that this ID has preview data (if ID type supports it) + + :return: The existing or created preview + :rtype: :class:`ImagePreview` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.annotation_data_owner` + - :mod:`bpy.context.id` + - :mod:`bpy.context.selected_ids` + - :mod:`bpy.context.texture_user` + - :class:`Action.fcurve_ensure_for_datablock` + - :class:`ActionSlot.users` + - :class:`AssetRepresentation.local_id` + - :class:`BlendData.pack_linked_ids_hierarchy` + - :class:`BlendData.pack_linked_ids_hierarchy` + - :class:`BlendDataObjects.new` + - :class:`BlendImportContextItem.id` + - :class:`BlendImportContextItem.library_override_id` + - :class:`BlendImportContextItem.reusable_local_id` + - :class:`Depsgraph.id_eval_get` + - :class:`Depsgraph.id_eval_get` + - :class:`Depsgraph.ids` + - :class:`DepsgraphUpdate.id` + - :class:`DopeSheet.source` + - :class:`DriverTarget.id` + - :class:`ID.copy` + - :class:`ID.evaluated_get` + - :class:`ID.make_local` + - :class:`ID.original` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_of_id` + - :class:`ID.user_remap` + - :class:`IDOverrideLibrary.hierarchy_root` + - :class:`IDOverrideLibrary.reference` + - :class:`IDOverrideLibraryPropertyOperation.subitem_local_id` + - :class:`IDOverrideLibraryPropertyOperation.subitem_reference_id` + - :class:`IDOverrideLibraryPropertyOperations.add` + - :class:`IDOverrideLibraryPropertyOperations.add` + - :class:`IDViewerPathElem.id` + - :class:`Key.user` + - :class:`KeyingSetPath.id` + - :class:`KeyingSetPaths.add` + - :class:`MaskParent.id` + - :class:`NodeTree.get_from_context` + - :class:`NodeTree.get_from_context` + - :class:`NodesModifierDataBlock.id` + - :class:`Object.data` + - :class:`PropertyGroupItem.id` + - :class:`SpaceFileBrowser.activate_asset_by_id` + - :class:`SpaceNodeEditor.id` + - :class:`SpaceNodeEditor.id_from` + - :class:`SpaceProperties.pin_id` + - :class:`UILayout.template_action` + - :class:`UILayout.template_path_builder` + - :class:`UILayout.template_preview` + - :class:`UILayout.template_preview` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDMaterials.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDMaterials.rst new file mode 100644 index 0000000..fe6772c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDMaterials.rst @@ -0,0 +1,105 @@ +IDMaterials(bpy_prop_collection) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: IDMaterials(bpy_prop_collection) + + Collection of materials + + .. method:: append(material) + + Add a new material to the data-block + + :param material: Material to add + :type material: :class:`Material` | None + + .. method:: pop(*, index=-1) + + Remove a material from the data-block + + :param index: Index of material to remove (in [-32766, 32766], optional) + :type index: int + :return: Material to remove + :rtype: :class:`Material` + + .. method:: clear() + + Remove all materials from the data-block + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Curve.materials` + - :class:`Curves.materials` + - :class:`GreasePencil.materials` + - :class:`Mesh.materials` + - :class:`MetaBall.materials` + - :class:`PointCloud.materials` + - :class:`Volume.materials` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibrary.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibrary.rst new file mode 100644 index 0000000..060fc4d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibrary.rst @@ -0,0 +1,146 @@ +IDOverrideLibrary(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: IDOverrideLibrary(bpy_struct) + + Struct gathering all data needed by overridden linked IDs + + .. data:: hierarchy_root + + Library override ID used as root of the override hierarchy this ID is a member of (readonly) + + :type: :class:`ID` | None + + .. attribute:: is_in_hierarchy + + Whether this library override is defined as part of a library hierarchy, or as a single, isolated and autonomous override (default True) + + :type: bool + + .. attribute:: is_system_override + + Whether this library override exists only for the override hierarchy, or if it is actually editable by the user (default False) + + :type: bool + + .. data:: properties + + List of overridden properties (default None, readonly) + + :type: :class:`IDOverrideLibraryProperties`\ [:class:`IDOverrideLibraryProperty`] + + .. data:: reference + + Linked ID used as reference by this override (readonly) + + :type: :class:`ID` | None + + .. method:: operations_update() + + Update the library override operations based on the differences between this override ID and its reference + + + .. method:: reset(*, do_hierarchy=True, set_system_override=False) + + Reset this override to match again its linked reference ID + + :param do_hierarchy: Also reset all the dependencies of this override to match their reference linked IDs (optional) + :type do_hierarchy: bool + :param set_system_override: Reset all user-editable overrides as (non-editable) system overrides (optional) + :type set_system_override: bool + + .. method:: destroy(*, do_hierarchy=True) + + Delete this override ID and remap its usages to its linked reference ID instead + + :param do_hierarchy: Also delete all the dependencies of this override and remap their usages to their reference linked IDs (optional) + :type do_hierarchy: bool + + .. method:: resync(scene, *, view_layer=None, residual_storage=None, do_hierarchy_enforce=False, do_whole_hierarchy=False) + + Resync the data-block and its sub-hierarchy, or the whole hierarchy if requested + + :param scene: The scene to operate in (for contextual things like keeping active object active, ensuring all overridden objects remain instantiated, etc.) (never None) + :type scene: :class:`Scene` | None + :param view_layer: The view layer to operate in (same usage as the ``scene`` data, in case it is not provided the scene's collection will be used instead) (optional) + :type view_layer: :class:`ViewLayer` | None + :param residual_storage: Collection where to store objects that are instantiated in any other collection anymore (garbage collection, will be created if needed and none is provided) (optional) + :type residual_storage: :class:`Collection` | None + :param do_hierarchy_enforce: Enforce restoring the dependency hierarchy between data-blocks to match the one from the reference linked hierarchy (WARNING: if some ID pointers have been purposely overridden, these will be reset to their default value) (optional) + :type do_hierarchy_enforce: bool + :param do_whole_hierarchy: Resync the whole hierarchy this data-block belongs to, not only its own sub-hierarchy (optional) + :type do_whole_hierarchy: bool + :return: Success, Whether the resync process was successful or not + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ID.override_library` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryProperties.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryProperties.rst new file mode 100644 index 0000000..42f628f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryProperties.rst @@ -0,0 +1,94 @@ +IDOverrideLibraryProperties(bpy_prop_collection) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: IDOverrideLibraryProperties(bpy_prop_collection) + + Collection of override properties + + .. method:: add(rna_path) + + Add a property to the override library when it doesn't exist yet + + :param rna_path: RNA Path, RNA-Path of the property to add (never None) + :type rna_path: str + :return: New Property, Newly created override property or existing one + :rtype: :class:`IDOverrideLibraryProperty` + + .. method:: remove(property) + + Remove and delete a property + + :param property: Property, Override property to be deleted + :type property: :class:`IDOverrideLibraryProperty` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`IDOverrideLibrary.properties` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryProperty.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryProperty.rst new file mode 100644 index 0000000..bd4c0d1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryProperty.rst @@ -0,0 +1,92 @@ +IDOverrideLibraryProperty(bpy_struct) +===================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: IDOverrideLibraryProperty(bpy_struct) + + Description of an overridden property + + .. data:: operations + + List of overriding operations for a property (default None, readonly) + + :type: :class:`IDOverrideLibraryPropertyOperations`\ [:class:`IDOverrideLibraryPropertyOperation`] + + .. data:: rna_path + + RNA path leading to that property, from owning ID (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`IDOverrideLibrary.properties` + - :class:`IDOverrideLibraryProperties.add` + - :class:`IDOverrideLibraryProperties.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryPropertyOperation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryPropertyOperation.rst new file mode 100644 index 0000000..47e187e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryPropertyOperation.rst @@ -0,0 +1,152 @@ +IDOverrideLibraryPropertyOperation(bpy_struct) +============================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: IDOverrideLibraryPropertyOperation(bpy_struct) + + Description of an override operation over an overridden property + + .. data:: flag + + Status flags (default set(), readonly) + + - ``MANDATORY`` + Mandatory -- For templates, prevents the user from removing predefined operation (NOT USED). + - ``LOCKED`` + Locked -- Prevents the user from modifying that override operation (NOT USED). + - ``IDPOINTER_MATCH_REFERENCE`` + Match Reference -- The ID pointer overridden by this operation is expected to match the reference hierarchy. + - ``IDPOINTER_ITEM_USE_ID`` + ID Item Use ID Pointer -- RNA collections of IDs only, the reference to the item also uses the ID pointer itself, not only its name. + + :type: set[Literal['MANDATORY', 'LOCKED', 'IDPOINTER_MATCH_REFERENCE', 'IDPOINTER_ITEM_USE_ID']] + + .. data:: operation + + What override operation is performed (default ``'REPLACE'``, readonly) + + - ``NOOP`` + No-Op -- Does nothing, prevents adding actual overrides (NOT USED). + - ``REPLACE`` + Replace -- Replace value of reference by overriding one. + - ``DIFF_ADD`` + Differential -- Stores and apply difference between reference and local value (NOT USED). + - ``DIFF_SUB`` + Differential -- Stores and apply difference between reference and local value (NOT USED). + - ``FACT_MULTIPLY`` + Factor -- Stores and apply multiplication factor between reference and local value (NOT USED). + - ``INSERT_AFTER`` + Insert After -- Insert a new item into collection after the one referenced in subitem_reference_name/_id or _index. + - ``INSERT_BEFORE`` + Insert Before -- Insert a new item into collection before the one referenced in subitem_reference_name/_id or _index (NOT USED). + + :type: Literal['NOOP', 'REPLACE', 'DIFF_ADD', 'DIFF_SUB', 'FACT_MULTIPLY', 'INSERT_AFTER', 'INSERT_BEFORE'] + + .. data:: subitem_local_id + + Collection of IDs only, used to disambiguate between potential IDs with same name from different libraries (readonly) + + :type: :class:`ID` | None + + .. data:: subitem_local_index + + Used to handle changes into collection (in [-1, inf], default -1, readonly) + + :type: int + + .. data:: subitem_local_name + + Used to handle changes into collection (default "", readonly, never None) + + :type: str + + .. data:: subitem_reference_id + + Collection of IDs only, used to disambiguate between potential IDs with same name from different libraries (readonly) + + :type: :class:`ID` | None + + .. data:: subitem_reference_index + + Used to handle changes into collection (in [-1, inf], default -1, readonly) + + :type: int + + .. data:: subitem_reference_name + + Used to handle changes into collection (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`IDOverrideLibraryProperty.operations` + - :class:`IDOverrideLibraryPropertyOperations.add` + - :class:`IDOverrideLibraryPropertyOperations.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryPropertyOperations.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryPropertyOperations.rst new file mode 100644 index 0000000..2c17cd2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDOverrideLibraryPropertyOperations.rst @@ -0,0 +1,123 @@ +IDOverrideLibraryPropertyOperations(bpy_prop_collection) +======================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: IDOverrideLibraryPropertyOperations(bpy_prop_collection) + + Collection of override operations + + .. method:: add(operation, *, use_id=False, subitem_reference_name="", subitem_local_name="", subitem_reference_id=None, subitem_local_id=None, subitem_reference_index=-1, subitem_local_index=-1) + + Add a new operation + + :param operation: Operation, What override operation is performed + + - ``NOOP`` + No-Op -- Does nothing, prevents adding actual overrides (NOT USED). + - ``REPLACE`` + Replace -- Replace value of reference by overriding one. + - ``DIFF_ADD`` + Differential -- Stores and apply difference between reference and local value (NOT USED). + - ``DIFF_SUB`` + Differential -- Stores and apply difference between reference and local value (NOT USED). + - ``FACT_MULTIPLY`` + Factor -- Stores and apply multiplication factor between reference and local value (NOT USED). + - ``INSERT_AFTER`` + Insert After -- Insert a new item into collection after the one referenced in subitem_reference_name/_id or _index. + - ``INSERT_BEFORE`` + Insert Before -- Insert a new item into collection before the one referenced in subitem_reference_name/_id or _index (NOT USED). + :type operation: Literal['NOOP', 'REPLACE', 'DIFF_ADD', 'DIFF_SUB', 'FACT_MULTIPLY', 'INSERT_AFTER', 'INSERT_BEFORE'] + :param use_id: Use ID Pointer Subitem, Whether the found or created liboverride operation should use ID pointers or not (optional) + :type use_id: bool + :param subitem_reference_name: Subitem Reference Name, Used to handle insertions or ID replacements into collection (optional, never None) + :type subitem_reference_name: str + :param subitem_local_name: Subitem Local Name, Used to handle insertions or ID replacements into collection (optional, never None) + :type subitem_local_name: str + :param subitem_reference_id: Subitem Reference ID, Used to handle ID replacements into collection (optional) + :type subitem_reference_id: :class:`ID` | None + :param subitem_local_id: Subitem Local ID, Used to handle ID replacements into collection (optional) + :type subitem_local_id: :class:`ID` | None + :param subitem_reference_index: Subitem Reference Index, Used to handle insertions or ID replacements into collection (in [-1, inf], optional) + :type subitem_reference_index: int + :param subitem_local_index: Subitem Local Index, Used to handle insertions or ID replacements into collection (in [-1, inf], optional) + :type subitem_local_index: int + :return: New Operation, Created operation + :rtype: :class:`IDOverrideLibraryPropertyOperation` + + .. method:: remove(operation) + + Remove and delete an operation + + :param operation: Operation, Override operation to be deleted + :type operation: :class:`IDOverrideLibraryPropertyOperation` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`IDOverrideLibraryProperty.operations` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDPropertyWrapPtr.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDPropertyWrapPtr.rst new file mode 100644 index 0000000..3f91c17 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDPropertyWrapPtr.rst @@ -0,0 +1,87 @@ +IDPropertyWrapPtr(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: IDPropertyWrapPtr(bpy_struct) + + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieClip.metadata` + - :class:`MovieStrip.metadata` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDViewerPathElem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDViewerPathElem.rst new file mode 100644 index 0000000..d3c28e8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IDViewerPathElem.rst @@ -0,0 +1,79 @@ +IDViewerPathElem(ViewerPathElem) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ViewerPathElem` + +.. class:: IDViewerPathElem(ViewerPathElem) + + + .. data:: id + + (readonly) + + :type: :class:`ID` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ViewerPathElem.type` + - :class:`ViewerPathElem.ui_name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ViewerPathElem.bl_rna_get_subclass` + - :class:`ViewerPathElem.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IKParam.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IKParam.rst new file mode 100644 index 0000000..3f5ab88 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IKParam.rst @@ -0,0 +1,92 @@ +IKParam(bpy_struct) +=================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`Itasc` + +.. class:: IKParam(bpy_struct) + + Base type for IK solver parameters + + .. data:: ik_solver + + IK solver for which these parameters are defined (default ``'LEGACY'``, readonly) + + - ``LEGACY`` + Standard -- Original IK solver. + - ``ITASC`` + iTaSC -- Multi constraint, stateful IK solver. + + :type: Literal['LEGACY', 'ITASC'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Pose.ik_param` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_AST_brush_paint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_AST_brush_paint.rst new file mode 100644 index 0000000..a42f097 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_AST_brush_paint.rst @@ -0,0 +1,128 @@ +IMAGE_AST_brush_paint(AssetShelf) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: IMAGE_AST_brush_paint(AssetShelf) + + + .. classmethod:: brush_type_poll(context, asset) + + .. staticmethod:: draw_popup_selector(layout, context, brush, show_name=True) + + .. staticmethod:: get_shelf_name_from_context(context) + + .. classmethod:: has_tool_with_brush_type(context, brush_type) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_FH_drop_handler.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_FH_drop_handler.rst new file mode 100644 index 0000000..d7d550f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_FH_drop_handler.rst @@ -0,0 +1,77 @@ +IMAGE_FH_drop_handler(FileHandler) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FileHandler` + +.. class:: IMAGE_FH_drop_handler(FileHandler) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FileHandler.bl_idname` + - :class:`FileHandler.bl_import_operator` + - :class:`FileHandler.bl_export_operator` + - :class:`FileHandler.bl_label` + - :class:`FileHandler.bl_file_extensions` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FileHandler.poll_drop` + - :class:`FileHandler.bl_rna_get_subclass` + - :class:`FileHandler.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_UL_render_slots.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_UL_render_slots.rst new file mode 100644 index 0000000..4e37bc0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_UL_render_slots.rst @@ -0,0 +1,92 @@ +IMAGE_UL_render_slots(UIList) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: IMAGE_UL_render_slots(UIList) + + + .. method:: draw_item(_context, layout, _data, item, _icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_UL_udim_tiles.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_UL_udim_tiles.rst new file mode 100644 index 0000000..a8a8e33 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IMAGE_UL_udim_tiles.rst @@ -0,0 +1,92 @@ +IMAGE_UL_udim_tiles(UIList) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: IMAGE_UL_udim_tiles(UIList) + + + .. method:: draw_item(_context, layout, _data, item, _icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IO_FH_gltf2.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IO_FH_gltf2.rst new file mode 100644 index 0000000..215b703 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IO_FH_gltf2.rst @@ -0,0 +1,77 @@ +IO_FH_gltf2(FileHandler) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FileHandler` + +.. class:: IO_FH_gltf2(FileHandler) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FileHandler.bl_idname` + - :class:`FileHandler.bl_import_operator` + - :class:`FileHandler.bl_export_operator` + - :class:`FileHandler.bl_label` + - :class:`FileHandler.bl_file_extensions` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FileHandler.poll_drop` + - :class:`FileHandler.bl_rna_get_subclass` + - :class:`FileHandler.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IO_FH_svg_as_curves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IO_FH_svg_as_curves.rst new file mode 100644 index 0000000..526b1f3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IO_FH_svg_as_curves.rst @@ -0,0 +1,77 @@ +IO_FH_svg_as_curves(FileHandler) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FileHandler` + +.. class:: IO_FH_svg_as_curves(FileHandler) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FileHandler.bl_idname` + - :class:`FileHandler.bl_import_operator` + - :class:`FileHandler.bl_export_operator` + - :class:`FileHandler.bl_label` + - :class:`FileHandler.bl_file_extensions` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FileHandler.poll_drop` + - :class:`FileHandler.bl_rna_get_subclass` + - :class:`FileHandler.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Image.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Image.rst new file mode 100644 index 0000000..a52d644 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Image.rst @@ -0,0 +1,512 @@ +Image(ID) +========= + +.. currentmodule:: bpy.types + + +Image Data +++++++++++ + +The Image data-block is a shallow wrapper around image or video file(s) +(on disk, as packed data, or generated). + +All actual data like the pixel buffer, size, resolution etc. is +cached in an :class:`imbuf.types.ImBuf` image buffer (or several buffers +in some cases, like UDIM textures, multi-views, animations...). + +Several properties and functions of the Image data-block are then actually +using/modifying its image buffer, and not the Image data-block itself. + +.. warning:: + + One key limitation is that image buffers are not shared between different + Image data-blocks, and they are not duplicated when copying an image. + + So until a modified image buffer is saved on disk, duplicating its Image + data-block will not propagate the underlying buffer changes to the new Image. + + +This example script generates an Image data-block with a given size, +change its first pixel, rescale it, and duplicates the image. + +The duplicated image still has the same size and colors as the original image +at its creation, all editing in the original image's buffer is 'lost' in its copy. + +.. literalinclude:: ./examples/bpy.types.Image.0.py + :lines: 31- + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Image(ID) + + Image data-block referencing an external or packed image + + .. attribute:: alpha_mode + + Representation of alpha in the image file, to convert to and from when saving and loading the image (default ``'STRAIGHT'``) + + - ``STRAIGHT`` + Straight -- Store RGB and alpha channels separately with alpha acting as a mask, also known as unassociated alpha. Commonly used by image editing applications and file formats like PNG.. + - ``PREMUL`` + Premultiplied -- Store RGB channels with alpha multiplied in, also known as associated alpha. The natural format for renders and used by file formats like OpenEXR.. + - ``CHANNEL_PACKED`` + Channel Packed -- Different images are packed in the RGB and alpha channels, and they should not affect each other. Channel packing is commonly used by game engines to save memory.. + - ``NONE`` + None -- Ignore alpha channel from the file and make image fully opaque. + + :type: Literal['STRAIGHT', 'PREMUL', 'CHANNEL_PACKED', 'NONE'] + + .. data:: channels + + Number of channels in pixels buffer (in [0, inf], default 0, readonly) + + :type: int + + .. data:: colorspace_settings + + Input color space settings (readonly) + + :type: :class:`ColorManagedInputColorspaceSettings` | None + + .. data:: depth + + Image bit depth (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: display_aspect + + Display Aspect for this image, does not affect rendering (array of 2 items, in [0.1, inf], default (1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: file_format + + Format used for re-saving this file (default ``'TARGA'``) + + :type: Literal[:ref:`rna_enum_image_type_all_items`] + + .. attribute:: filepath + + Image/Movie file name (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: filepath_raw + + Image/Movie file name (without data refreshing) (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. data:: frame_duration + + Duration (in frames) of the image (1 when not a video/sequence) (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: generated_color + + Fill color for the generated image (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: generated_height + + Generated image height (in [1, 65536], default 1024) + + :type: int + + .. attribute:: generated_type + + Generated image type (default ``'UV_GRID'``) + + :type: Literal[:ref:`rna_enum_image_generated_type_items`] + + .. attribute:: generated_width + + Generated image width (in [1, 65536], default 1024) + + :type: int + + .. data:: has_data + + True if the image data is loaded into memory (default False, readonly) + + :type: bool + + .. data:: is_dirty + + Image has changed and is not saved (default False, readonly) + + :type: bool + + .. data:: is_float + + True if this image is stored in floating-point buffer (default False, readonly) + + :type: bool + + .. data:: is_multiview + + Image has more than one view (default False, readonly) + + :type: bool + + .. data:: is_stereo_3d + + Image has left and right views (default False, readonly) + + :type: bool + + .. data:: packed_file + + First packed file of the image (readonly) + + :type: :class:`PackedFile` | None + + .. data:: packed_files + + Collection of packed images (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ImagePackedFile`] + + .. attribute:: pixels + + Image buffer pixels in floating-point values (in [-inf, inf], default 0.0) + + :type: float + + .. data:: render_slots + + Render slots of the image (default None, readonly) + + :type: :class:`RenderSlots`\ [:class:`RenderSlot`] + + .. attribute:: resolution + + X/Y pixels per meter, for the image buffer (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: seam_margin + + Margin to take into account when fixing UV seams during painting. Higher number would improve seam-fixes for mipmaps, but decreases performance. (in [-32768, 32767], default 8) + + :type: int + + .. data:: size + + Width and height of the image buffer in pixels, zero when image data cannot be loaded (array of 2 items, in [-inf, inf], default (0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: source + + Where the image comes from (default ``'FILE'``) + + - ``FILE`` + Single Image -- Single image file. + - ``SEQUENCE`` + Image Sequence -- Multiple image files, as a sequence. + - ``MOVIE`` + Movie -- Movie file. + - ``GENERATED`` + Generated -- Generated image. + - ``VIEWER`` + Viewer -- Compositing node viewer. + - ``TILED`` + UDIM Tiles -- Tiled UDIM image texture. + + :type: Literal['FILE', 'SEQUENCE', 'MOVIE', 'GENERATED', 'VIEWER', 'TILED'] + + .. data:: stereo_3d_format + + Settings for stereo 3d (readonly, never None) + + :type: :class:`Stereo3dFormat` + + .. data:: tiles + + Tiles of the image (default None, readonly) + + :type: :class:`UDIMTiles`\ [:class:`UDIMTile`] + + .. data:: type + + How to generate the image (default ``'IMAGE'``, readonly) + + :type: Literal['IMAGE', 'MULTILAYER', 'UV_TEST', 'RENDER_RESULT', 'COMPOSITING'] + + .. attribute:: use_deinterlace + + Deinterlace movie file on load (default False) + + :type: bool + + .. attribute:: use_generated_float + + Generate floating-point buffer (default False) + + :type: bool + + .. attribute:: use_half_precision + + Use 16 bits per channel to lower the memory usage during rendering (default True) + + :type: bool + + .. attribute:: use_multiview + + Use Multiple Views (when available) (default False) + + :type: bool + + .. attribute:: use_view_as_render + + Apply render part of display transformation when displaying this image on the screen (default False) + + :type: bool + + .. attribute:: views_format + + Mode to load image views (default ``'INDIVIDUAL'``) + + :type: Literal[:ref:`rna_enum_views_format_items`] + + .. method:: save_render(filepath, *, scene=None, quality=0) + + Save image to a specific path using a scenes render settings + + :param filepath: Output path (never None) + :type filepath: str + :param scene: Scene to take image parameters from (optional) + :type scene: :class:`Scene` | None + :param quality: Quality, Quality for image formats that support lossy compression, uses default quality if not specified (in [0, 100], optional) + :type quality: int + + .. method:: save(*, filepath="", quality=0, save_copy=False) + + Save image + + :param filepath: Output path, uses image data-block filepath if not specified (optional, never None) + :type filepath: str + :param quality: Quality, Quality for image formats that support lossy compression, uses default quality if not specified (in [0, 100], optional) + :type quality: int + :param save_copy: Save Copy, Save the image as a copy, without updating current image's filepath (optional) + :type save_copy: bool + + .. method:: pack(*, data=b"", data_len=0) + + Pack an image as embedded data into the .blend file + + :param data: data, Raw data (bytes, exact content of the embedded file) (optional, never None) + :type data: bytes + :param data_len: data_len, length of given data (mandatory if data is provided) (in [0, inf], optional) + :type data_len: int + + .. method:: unpack(*, method='USE_LOCAL') + + Save an image packed in the .blend file to disk + + :param method: method, How to unpack (optional) + :type method: Literal[:ref:`rna_enum_unpack_method_items`] + + .. method:: reload() + + Reload the image from its source path + + + .. method:: update() + + Update the display image from the floating-point buffer + + + .. method:: scale(width, height, *, frame=0, tile_index=0) + + Scale the buffer of the image, in pixels + + :param width: Width (in [1, inf]) + :type width: int + :param height: Height (in [1, inf]) + :type height: int + :param frame: Frame, Frame (for image sequences) (in [0, inf], optional) + :type frame: int + :param tile_index: Tile, Tile index (for tiled images) (in [0, inf], optional) + :type tile_index: int + + .. method:: gl_touch(*, frame=0, layer_index=0, pass_index=0) + + Delay the image from being cleaned from the cache due inactivity + + :param frame: Frame, Frame of image sequence or movie (in [0, inf], optional) + :type frame: int + :param layer_index: Layer, Index of layer that should be loaded (in [0, inf], optional) + :type layer_index: int + :param pass_index: Pass, Index of pass that should be loaded (in [0, inf], optional) + :type pass_index: int + :return: Error, OpenGL error value (in [-inf, inf]) + :rtype: int + + .. method:: gl_load(*, frame=0, layer_index=0, pass_index=0) + + Load the image into an OpenGL texture. On success, image.bindcode will contain the OpenGL texture bindcode. Colors read from the texture will be in scene linear color space and have premultiplied or straight alpha matching the image alpha mode. + + :param frame: Frame, Frame of image sequence or movie (in [0, inf], optional) + :type frame: int + :param layer_index: Layer, Index of layer that should be loaded (in [0, inf], optional) + :type layer_index: int + :param pass_index: Pass, Index of pass that should be loaded (in [0, inf], optional) + :type pass_index: int + :return: Error, OpenGL error value (in [-inf, inf]) + :rtype: int + + .. method:: gl_free() + + Free the image from OpenGL graphics memory + + + .. method:: filepath_from_user(*, image_user=None) + + Return the absolute path to the filepath of an image frame specified by the image user + + :param image_user: Image user of the image to get filepath for (optional) + :type image_user: :class:`ImageUser` | None + :return: File Path, The resulting filepath from the image and its user (never None) + :rtype: str + + .. method:: buffers_free() + + Free the image buffers from memory + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.edit_image` + - :class:`BlendData.images` + - :class:`BlendDataImages.load` + - :class:`BlendDataImages.new` + - :class:`BlendDataImages.remove` + - :class:`CameraBackgroundImage.image` + - :class:`CompositorNodeCryptomatteV2.image` + - :class:`CompositorNodeImage.image` + - :class:`GeometryNodeInputImage.image` + - :class:`ImagePaint.canvas` + - :class:`ImagePaint.clone_image` + - :class:`ImagePaint.stencil_image` + - :class:`ImageTexture.image` + - :class:`Material.texture_paint_images` + - :class:`MaterialGPencilStyle.fill_image` + - :class:`MaterialGPencilStyle.stroke_image` + - :class:`MovieTrackingPlaneTrack.image` + - :class:`NodeSocketImage.default_value` + - :class:`NodeTreeInterfaceSocketImage.default_value` + - :class:`PaintModeSettings.canvas_image` + - :class:`ShaderNodeTexEnvironment.image` + - :class:`ShaderNodeTexImage.image` + - :class:`SpaceImageEditor.image` + - :class:`TextureNodeImage.image` + - :class:`UILayout.template_image_layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageFormatSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageFormatSettings.rst new file mode 100644 index 0000000..24ec04b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageFormatSettings.rst @@ -0,0 +1,197 @@ +ImageFormatSettings(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ImageFormatSettings(bpy_struct) + + Settings for image formats + + .. attribute:: cineon_black + + Log conversion reference blackpoint (in [0, 1024], default 0) + + :type: int + + .. attribute:: cineon_gamma + + Log conversion gamma (in [0, 10], default 0.0) + + :type: float + + .. attribute:: cineon_white + + Log conversion reference whitepoint (in [0, 1024], default 0) + + :type: int + + .. attribute:: color_depth + + Bit depth per channel (default ``'8'``) + + :type: Literal[:ref:`rna_enum_image_color_depth_items`] + + .. attribute:: color_management + + Which color management settings to use for file saving (default ``'FOLLOW_SCENE'``) + + :type: Literal['FOLLOW_SCENE', 'OVERRIDE'] + + .. attribute:: color_mode + + Choose BW for saving grayscale images, RGB for saving red, green and blue channels, and RGBA for saving red, green, blue and alpha channels (default ``'RGBA'``) + + :type: Literal[:ref:`rna_enum_image_color_mode_items`] + + .. attribute:: compression + + Amount of time to determine best compression: 0 = no compression with fast file output, 100 = maximum lossless compression with slow file output (in [0, 100], default 15) + + :type: int + + .. data:: display_settings + + Settings of device saved image would be displayed on (readonly) + + :type: :class:`ColorManagedDisplaySettings` | None + + .. attribute:: file_format + + File format to save the rendered images as (default ``'PNG'``) + + :type: Literal[:ref:`rna_enum_image_type_all_items`] + + .. data:: has_linear_colorspace + + File format expects linear color space (default False, readonly) + + :type: bool + + .. data:: linear_colorspace_settings + + Output color space settings (readonly) + + :type: :class:`ColorManagedInputColorspaceSettings` | None + + .. attribute:: media_type + + The type of media to save (default ``'IMAGE'``) + + :type: Literal['IMAGE', 'MULTI_LAYER_IMAGE', 'VIDEO'] + + .. attribute:: quality + + Quality for image formats that support lossy compression (in [0, 100], default 90) + + :type: int + + .. data:: stereo_3d_format + + Settings for stereo 3D (readonly, never None) + + :type: :class:`Stereo3dFormat` + + .. attribute:: tiff_codec + + Compression mode for TIFF (default ``'DEFLATE'``) + + :type: Literal['NONE', 'DEFLATE', 'LZW', 'PACKBITS'] + + .. attribute:: use_cineon_log + + Convert to logarithmic color space (default False) + + :type: bool + + .. attribute:: use_preview + + When rendering animations, save JPG preview images in same directory (default False) + + :type: bool + + .. data:: view_settings + + Color management settings applied on image before saving (readonly) + + :type: :class:`ColorManagedViewSettings` | None + + .. attribute:: views_format + + Format of multiview media (default ``'INDIVIDUAL'``) + + :type: Literal[:ref:`rna_enum_views_format_multiview_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CompositorNodeOutputFile.format` + - :class:`NodeCompositorFileOutputItem.format` + - :class:`BakeSettings.image_settings` + - :class:`RenderSettings.image_settings` + - :class:`UILayout.template_image_settings` + - :class:`UILayout.template_image_views` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImagePackedFile.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImagePackedFile.rst new file mode 100644 index 0000000..0be4aaa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImagePackedFile.rst @@ -0,0 +1,106 @@ +ImagePackedFile(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ImagePackedFile(bpy_struct) + + + .. attribute:: filepath + + (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. data:: packed_file + + (readonly) + + :type: :class:`PackedFile` | None + + .. data:: tile_number + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: view + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. method:: save() + + Save the packed file to its filepath + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Image.packed_files` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImagePaint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImagePaint.rst new file mode 100644 index 0000000..d093792 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImagePaint.rst @@ -0,0 +1,252 @@ +ImagePaint(Paint) +================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Paint` + +.. class:: ImagePaint(Paint) + + Properties of image and texture painting mode + + .. attribute:: canvas + + Image used as canvas + + :type: :class:`Image` | None + + .. attribute:: clone_alpha + + Opacity of clone image display (in [0, 1], default 0.5) + + :type: float + + .. attribute:: clone_image + + Image used as clone source + + :type: :class:`Image` | None + + .. attribute:: clone_offset + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dither + + Amount of dithering when painting on byte images (in [0, 2], default 0.0) + + :type: float + + .. attribute:: interpolation + + Texture filtering type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Linear interpolation. + - ``CLOSEST`` + Closest -- No interpolation (sample closest texel). + + :type: Literal['LINEAR', 'CLOSEST'] + + .. attribute:: invert_stencil + + Invert the stencil layer (default False) + + :type: bool + + .. data:: missing_materials + + The mesh is missing materials (default False, readonly) + + :type: bool + + .. data:: missing_stencil + + Image Painting does not have a stencil (default False, readonly) + + :type: bool + + .. data:: missing_texture + + Image Painting does not have a texture to paint on (default False, readonly) + + :type: bool + + .. data:: missing_uvs + + A UV layer is missing on the mesh (default False, readonly) + + :type: bool + + .. attribute:: mode + + Mode of operation for projection painting (default ``'MATERIAL'``) + + - ``MATERIAL`` + Material -- Detect image slots from the material. + - ``IMAGE`` + Single Image -- Set image for texture painting directly. + + :type: Literal['MATERIAL', 'IMAGE'] + + .. attribute:: normal_angle + + Paint most on faces pointing towards the view according to this angle (in [0, 90], default 80) + + :type: int + + .. attribute:: screen_grab_size + + Size to capture the image for re-projecting (array of 2 items, in [512, 16384], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: seam_bleed + + Extend paint beyond the faces' UVs to reduce seams (in pixels, slower) (in [-32768, 32767], default 2) + + :type: int + + .. attribute:: stencil_color + + Stencil color in the viewport (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: stencil_image + + Image used as stencil + + :type: :class:`Image` | None + + .. attribute:: use_backface_culling + + Ignore faces pointing away from the view (faster) (default True) + + :type: bool + + .. attribute:: use_clone_layer + + Use another UV map as clone source, otherwise use the 3D cursor as the source (default False) + + :type: bool + + .. attribute:: use_normal_falloff + + Paint most on faces pointing towards the view (default True) + + :type: bool + + .. attribute:: use_occlude + + Only paint onto the faces directly under the brush (slower) (default True) + + :type: bool + + .. attribute:: use_stencil_layer + + Set the mask layer from the UV map buttons (default False) + + :type: bool + + .. method:: detect_data() + + Check if required texpaint data exist + + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Paint.brush` + - :class:`Paint.brush_asset_reference` + - :class:`Paint.eraser_brush` + - :class:`Paint.eraser_brush_asset_reference` + - :class:`Paint.palette` + - :class:`Paint.show_brush` + - :class:`Paint.show_brush_on_surface` + - :class:`Paint.show_low_resolution` + - :class:`Paint.use_sculpt_delay_updates` + - :class:`Paint.show_bvh_nodes` + - :class:`Paint.use_symmetry_x` + - :class:`Paint.use_symmetry_y` + - :class:`Paint.use_symmetry_z` + - :class:`Paint.use_symmetry_feather` + - :class:`Paint.cavity_curve` + - :class:`Paint.use_cavity` + - :class:`Paint.tile_offset` + - :class:`Paint.tile_x` + - :class:`Paint.tile_y` + - :class:`Paint.tile_z` + - :class:`Paint.show_strength_curve` + - :class:`Paint.show_size_curve` + - :class:`Paint.show_jitter_curve` + - :class:`Paint.unified_paint_settings` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Paint.bl_rna_get_subclass` + - :class:`Paint.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.image_paint` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImagePreview.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImagePreview.rst new file mode 100644 index 0000000..64fd1dd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImagePreview.rst @@ -0,0 +1,138 @@ +ImagePreview(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ImagePreview(bpy_struct) + + Preview image and icon + + .. data:: icon_id + + Unique integer identifying this preview as an icon (zero means invalid) (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: icon_pixels + + Icon pixels, as bytes (always 32-bit RGBA) (in [-inf, inf], default 0) + + :type: int + + .. attribute:: icon_pixels_float + + Icon pixels components, as floats (RGBA concatenated values) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: icon_size + + Width and height in pixels (array of 2 items, in [-inf, inf], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: image_pixels + + Image pixels, as bytes (always 32-bit RGBA) (in [-inf, inf], default 0) + + :type: int + + .. attribute:: image_pixels_float + + Image pixels components, as floats (RGBA concatenated values) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: image_size + + Width and height in pixels (array of 2 items, in [-inf, inf], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: is_icon_custom + + True if this preview icon has been modified by py script, and is no more auto-generated by Blender (default False) + + :type: bool + + .. attribute:: is_image_custom + + True if this preview image has been modified by py script, and is no more auto-generated by Blender (default False) + + :type: bool + + .. method:: reload() + + Reload the preview from its source path + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ID.preview` + - :class:`ID.preview_ensure` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageStrip.rst new file mode 100644 index 0000000..6371d1c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageStrip.rst @@ -0,0 +1,273 @@ +ImageStrip(Strip) +================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip` + +.. class:: ImageStrip(Strip) + + Sequence strip to load one or more images + + .. attribute:: alpha_mode + + Representation of alpha information in the RGBA pixels (default ``'STRAIGHT'``) + + - ``STRAIGHT`` + Straight -- RGB channels in transparent pixels are unaffected by the alpha channel. + - ``PREMUL`` + Premultiplied -- RGB channels in transparent pixels are multiplied by the alpha channel. + + :type: Literal['STRAIGHT', 'PREMUL'] + + .. attribute:: animation_offset_end + + Animation end offset (trim end) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_end'. + + :type: int + + .. attribute:: animation_offset_start + + Animation start offset (trim start) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_start'. + + :type: int + + .. attribute:: color_multiply + + (in [0, 20], default 1.0) + + :type: float + + .. attribute:: color_saturation + + Adjust the intensity of the input's color (in [0, 20], default 1.0) + + :type: float + + .. data:: colorspace_settings + + Input color space settings (readonly) + + :type: :class:`ColorManagedInputColorspaceSettings` | None + + .. attribute:: content_trim_end + + Number of frames to ignore from the end of the underlying source. The source content is trimmed, and future frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. attribute:: content_trim_start + + Number of frames to ignore from the start of the underlying source. The source content is trimmed, and previous frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. data:: crop + + (readonly) + + :type: :class:`StripCrop` | None + + .. attribute:: directory + + (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. data:: elements + + (default None, readonly) + + :type: :class:`StripElements`\ [:class:`StripElement`] + + .. attribute:: multiply_alpha + + Multiply alpha along with color channels (default False) + + :type: bool + + .. data:: proxy + + (readonly) + + :type: :class:`StripProxy` | None + + .. data:: retiming_keys + + (default None, readonly) + + :type: :class:`RetimingKeys`\ [:class:`RetimingKey`] + + .. data:: stereo_3d_format + + Settings for stereo 3D (readonly, never None) + + :type: :class:`Stereo3dFormat` + + .. attribute:: strobe + + Only display every nth frame (in [1, 30], default 0.0) + + :type: float + + .. data:: transform + + (readonly) + + :type: :class:`StripTransform` | None + + .. attribute:: use_deinterlace + + Remove fields from video movies (default False) + + :type: bool + + .. attribute:: use_flip_x + + Flip on the X axis (default False) + + :type: bool + + .. attribute:: use_flip_y + + Flip on the Y axis (default False) + + :type: bool + + .. attribute:: use_float + + Convert input to float data (default False) + + :type: bool + + .. attribute:: use_multiview + + Use Multiple Views (when available) (default False) + + :type: bool + + .. attribute:: use_proxy + + Use a preview proxy and/or time-code index for this strip (default False) + + :type: bool + + .. attribute:: use_reverse_frames + + Reverse frame order (default False) + + :type: bool + + .. attribute:: views_format + + Mode to load image views (default ``'INDIVIDUAL'``) + + :type: Literal[:ref:`rna_enum_views_format_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageTexture.rst new file mode 100644 index 0000000..229cc13 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageTexture.rst @@ -0,0 +1,283 @@ +ImageTexture(Texture) +===================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Texture` + +.. class:: ImageTexture(Texture) + + + .. attribute:: checker_distance + + Distance between checker tiles (in [0, 0.99], default 0.0) + + :type: float + + .. attribute:: crop_max_x + + Maximum X value to crop the image (in [-10, 10], default 1.0) + + :type: float + + .. attribute:: crop_max_y + + Maximum Y value to crop the image (in [-10, 10], default 1.0) + + :type: float + + .. attribute:: crop_min_x + + Minimum X value to crop the image (in [-10, 10], default 0.0) + + :type: float + + .. attribute:: crop_min_y + + Minimum Y value to crop the image (in [-10, 10], default 0.0) + + :type: float + + .. attribute:: extension + + How the image is extrapolated past its original bounds (default ``'REPEAT'``) + + - ``EXTEND`` + Extend -- Extend by repeating edge pixels of the image. + - ``CLIP`` + Clip -- Clip to image size and set exterior pixels as transparent. + - ``CLIP_CUBE`` + Clip Cube -- Clip to cubic-shaped area around the image and set exterior pixels as transparent. + - ``REPEAT`` + Repeat -- Cause the image to repeat horizontally and vertically. + - ``CHECKER`` + Checker -- Cause the image to repeat in checker board pattern. + + :type: Literal['EXTEND', 'CLIP', 'CLIP_CUBE', 'REPEAT', 'CHECKER'] + + .. attribute:: filter_size + + Multiply the filter size used by interpolation (in [0.1, 50], default 1.0) + + :type: float + + .. attribute:: image + + :type: :class:`Image` | None + + .. data:: image_user + + Parameters defining which layer, pass and frame of the image is displayed (readonly) + + :type: :class:`ImageUser` | None + + .. attribute:: invert_alpha + + Invert all the alpha values in the image (default False) + + :type: bool + + .. attribute:: repeat_x + + Repetition multiplier in the X direction (in [1, 512], default 1) + + :type: int + + .. attribute:: repeat_y + + Repetition multiplier in the Y direction (in [1, 512], default 1) + + :type: int + + .. attribute:: use_alpha + + Use the alpha channel information in the image (default True) + + :type: bool + + .. attribute:: use_calculate_alpha + + Calculate an alpha channel based on RGB values in the image (default False) + + :type: bool + + .. attribute:: use_checker_even + + Even checker tiles (default False) + + :type: bool + + .. attribute:: use_checker_odd + + Odd checker tiles (default True) + + :type: bool + + .. attribute:: use_flip_axis + + Flip the texture's X and Y axis (default False) + + :type: bool + + .. attribute:: use_interpolation + + Interpolate pixels using selected filter (default True) + + :type: bool + + .. attribute:: use_mirror_x + + Mirror the image repetition on the X direction (default False) + + :type: bool + + .. attribute:: use_mirror_y + + Mirror the image repetition on the Y direction (default False) + + :type: bool + + .. attribute:: use_normal_map + + Use image RGB values for normal mapping (default False) + + :type: bool + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Texture.type` + - :class:`Texture.use_clamp` + - :class:`Texture.use_color_ramp` + - :class:`Texture.color_ramp` + - :class:`Texture.intensity` + - :class:`Texture.contrast` + - :class:`Texture.saturation` + - :class:`Texture.factor_red` + - :class:`Texture.factor_green` + - :class:`Texture.factor_blue` + - :class:`Texture.use_preview_alpha` + - :class:`Texture.use_nodes` + - :class:`Texture.node_tree` + - :class:`Texture.animation_data` + - :class:`Texture.users_material` + - :class:`Texture.users_object_modifier` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Texture.evaluate` + - :class:`Texture.bl_rna_get_subclass` + - :class:`Texture.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageUser.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageUser.rst new file mode 100644 index 0000000..54a6123 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ImageUser.rst @@ -0,0 +1,148 @@ +ImageUser(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ImageUser(bpy_struct) + + Parameters defining how an Image data-block is used by another data-block + + .. attribute:: frame_current + + Current frame number in image sequence or movie (in [-1048574, 1048574], default 0) + + :type: int + + .. attribute:: frame_duration + + Number of images of a movie to use (in [0, 1048574], default 0) + + :type: int + + .. attribute:: frame_offset + + Offset the number of the frame to use in the animation (in [-inf, inf], default 0) + + :type: int + + .. attribute:: frame_start + + Global starting frame of the movie/sequence, assuming first picture has a #1 (in [-1048574, 1048574], default 0) + + :type: int + + .. data:: multilayer_layer + + Layer in multilayer image (in [0, 32767], default 0, readonly) + + :type: int + + .. data:: multilayer_pass + + Pass in multilayer image (in [0, 32767], default 0, readonly) + + :type: int + + .. data:: multilayer_view + + View in multilayer image (in [0, 32767], default 0, readonly) + + :type: int + + .. attribute:: tile + + Tile in tiled image (in [0, inf], default 0) + + :type: int + + .. attribute:: use_auto_refresh + + Always refresh image on frame changes (default False) + + :type: bool + + .. attribute:: use_cyclic + + Cycle the images in the movie (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CameraBackgroundImage.image_user` + - :class:`Image.filepath_from_user` + - :class:`ImageTexture.image_user` + - :class:`Object.image_user` + - :class:`RenderSlot.clear` + - :class:`ShaderNodeTexEnvironment.image_user` + - :class:`ShaderNodeTexImage.image_user` + - :class:`SpaceImageEditor.image_user` + - :class:`TextureNodeImage.image_user` + - :class:`UILayout.template_image` + - :class:`UILayout.template_image_layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IndexSwitchItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IndexSwitchItem.rst new file mode 100644 index 0000000..c8537dc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IndexSwitchItem.rst @@ -0,0 +1,85 @@ +IndexSwitchItem(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: IndexSwitchItem(bpy_struct) + + + .. data:: identifier + + Consistent identifier used for the item (in [-inf, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeIndexSwitch.index_switch_items` + - :class:`NodeIndexSwitchItems.new` + - :class:`NodeIndexSwitchItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.InlineShaderNodes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.InlineShaderNodes.rst new file mode 100644 index 0000000..f7a4052 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.InlineShaderNodes.rst @@ -0,0 +1,44 @@ +InlineShaderNodes +================= + + +Inline Shader Nodes ++++++++++++++++++++ + +.. literalinclude:: ./examples/bpy.types.InlineShaderNodes.0.py + :lines: 5- + +.. class:: InlineShaderNodes + + An inlined shader node tree. + + .. attribute:: node_tree + + The inlined node tree. + + :type: :class:`bpy.types.NodeTree` + + + .. staticmethod:: from_light(light) + + Create an inlined shader node tree from a light. + + :param light: The light to online the node tree of. + :type light: bpy.types.Light + + .. staticmethod:: from_material(material) + + Create an inlined shader node tree from a material. + + :param material: The material to inline the node tree of. + :type material: bpy.types.Material + + .. staticmethod:: from_world(world) + + Create an inlined shader node tree from a world. + + :param world: The world to inline the node tree of. + :type world: bpy.types.World + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Int2Attribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Int2Attribute.rst new file mode 100644 index 0000000..5719693 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Int2Attribute.rst @@ -0,0 +1,84 @@ +Int2Attribute(Attribute) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: Int2Attribute(Attribute) + + Geometry attribute that stores 2D integer vectors + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Int2AttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Int2AttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Int2AttributeValue.rst new file mode 100644 index 0000000..feedff7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Int2AttributeValue.rst @@ -0,0 +1,84 @@ +Int2AttributeValue(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Int2AttributeValue(bpy_struct) + + 2D value in geometry attribute + + .. attribute:: value + + 2D vector (array of 2 items, in [-inf, inf], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Int2Attribute.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IntAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IntAttribute.rst new file mode 100644 index 0000000..9aeea2a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IntAttribute.rst @@ -0,0 +1,84 @@ +IntAttribute(Attribute) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: IntAttribute(Attribute) + + Geometry attribute that stores integer values + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`IntAttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IntAttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IntAttributeValue.rst new file mode 100644 index 0000000..307c26a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IntAttributeValue.rst @@ -0,0 +1,86 @@ +IntAttributeValue(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: IntAttributeValue(bpy_struct) + + Integer value in geometry attribute + + .. attribute:: value + + (in [-inf, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Curves.curve_offset_data` + - :class:`GreasePencilDrawing.curve_offsets` + - :class:`IntAttribute.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IntProperty.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IntProperty.rst new file mode 100644 index 0000000..3996606 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.IntProperty.rst @@ -0,0 +1,164 @@ +IntProperty(Property) +===================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Property` + +.. class:: IntProperty(Property) + + RNA integer number property definition + + .. data:: array_dimensions + + Length of each dimension of the array (array of 3 items, in [0, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: array_length + + Maximum length of the array, 0 means unlimited (in [0, inf], default 0, readonly) + + :type: int + + .. data:: default + + Default value for this number (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: default_array + + Default value for this array (array of 3 items, in [-inf, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: hard_max + + Maximum value used by buttons (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: hard_min + + Minimum value used by buttons (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: is_array + + (default False, readonly) + + :type: bool + + .. data:: soft_max + + Maximum value used by buttons (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: soft_min + + Minimum value used by buttons (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: step + + Step size used by number buttons, for floats 1/100th of the step size (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Property.name` + - :class:`Property.identifier` + - :class:`Property.description` + - :class:`Property.translation_context` + - :class:`Property.type` + - :class:`Property.subtype` + - :class:`Property.srna` + - :class:`Property.unit` + - :class:`Property.icon` + - :class:`Property.is_readonly` + - :class:`Property.is_animatable` + - :class:`Property.is_overridable` + - :class:`Property.is_required` + - :class:`Property.is_argument_optional` + - :class:`Property.is_never_none` + - :class:`Property.is_hidden` + - :class:`Property.is_skip_save` + - :class:`Property.is_skip_preset` + - :class:`Property.is_output` + - :class:`Property.is_registered` + - :class:`Property.is_registered_optional` + - :class:`Property.is_runtime` + - :class:`Property.is_enum_flag` + - :class:`Property.is_library_editable` + - :class:`Property.is_path_output` + - :class:`Property.is_path_supports_blend_relative` + - :class:`Property.is_path_supports_templates` + - :class:`Property.is_deprecated` + - :class:`Property.deprecated_note` + - :class:`Property.deprecated_version` + - :class:`Property.deprecated_removal_version` + - :class:`Property.tags` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Property.bl_rna_get_subclass` + - :class:`Property.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Itasc.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Itasc.rst new file mode 100644 index 0000000..3f4d96a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Itasc.rst @@ -0,0 +1,174 @@ +Itasc(IKParam) +============== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`IKParam` + +.. class:: Itasc(IKParam) + + Parameters for the iTaSC IK solver + + .. attribute:: damping_epsilon + + Singular value under which damping is progressively applied (higher values produce results with more stability, less reactivity) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: damping_max + + Maximum damping coefficient when singular value is nearly 0 (higher values produce results with more stability, less reactivity) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: feedback + + Feedback coefficient for error correction, average response time is 1/feedback (in [0, 100], default 0.0) + + :type: float + + .. attribute:: iterations + + Maximum number of iterations for convergence in case of reiteration (in [0, 1000], default 0) + + :type: int + + .. attribute:: mode + + (default ``'ANIMATION'``) + + - ``ANIMATION`` + Animation -- Stateless solver computing pose starting from current action and non-IK constraints. + - ``SIMULATION`` + Simulation -- State-full solver running in real-time context and ignoring actions and non-IK constraints. + + :type: Literal['ANIMATION', 'SIMULATION'] + + .. attribute:: precision + + Precision of convergence in case of reiteration (in [0, 0.1], default 0.0) + + :type: float + + .. attribute:: reiteration_method + + Defines if the solver is allowed to reiterate (converge until precision is met) on none, first or all frames (default ``'NEVER'``) + + - ``NEVER`` + Never -- The solver does not reiterate, not even on first frame (starts from rest pose). + - ``INITIAL`` + Initial -- The solver reiterates (converges) on the first frame but not on subsequent frame. + - ``ALWAYS`` + Always -- The solver reiterates (converges) on all frames. + + :type: Literal['NEVER', 'INITIAL', 'ALWAYS'] + + .. attribute:: solver + + Solving method selection: automatic damping or manual damping (default ``'SDLS'``) + + - ``SDLS`` + SDLS -- Selective Damped Least Square. + - ``DLS`` + DLS -- Damped Least Square with Numerical Filtering. + + :type: Literal['SDLS', 'DLS'] + + .. attribute:: step_count + + Divide the frame interval into this many steps (in [1, 50], default 0) + + :type: int + + .. attribute:: step_max + + Higher bound for timestep in second in case of automatic substeps (in [0, 1], default 0.0) + + :type: float + + .. attribute:: step_min + + Lower bound for timestep in second in case of automatic substeps (in [0, 0.1], default 0.0) + + :type: float + + .. attribute:: translate_root_bones + + Translate root (i.e. parentless) bones to the armature origin (default False) + + :type: bool + + .. attribute:: use_auto_step + + Automatically determine the optimal number of steps for best performance/accuracy trade off (default False) + + :type: bool + + .. attribute:: velocity_max + + Maximum joint velocity in radians/second (in [0, 100], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`IKParam.ik_solver` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`IKParam.bl_rna_get_subclass` + - :class:`IKParam.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Key.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Key.rst new file mode 100644 index 0000000..901c326 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Key.rst @@ -0,0 +1,157 @@ +Key(ID) +======= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Key(ID) + + Shape keys data-block containing different shapes of geometric data-blocks + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: eval_time + + Evaluation time for absolute shape keys (in [0, 1.04857e+06], default 0.0) + + :type: float + + .. data:: key_blocks + + Shape keys (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ShapeKey`] + + .. data:: reference_key + + (readonly, never None) + + :type: :class:`ShapeKey` + + .. attribute:: use_relative + + Make shape keys relative, otherwise play through shapes as a sequence using the evaluation time (default False) + + :type: bool + + .. data:: user + + Data-block using these shape keys (readonly, never None) + + :type: :class:`ID` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.shape_keys` + - :class:`Curve.shape_keys` + - :class:`Lattice.shape_keys` + - :class:`Mesh.shape_keys` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyConfig.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyConfig.rst new file mode 100644 index 0000000..bd2f55b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyConfig.rst @@ -0,0 +1,109 @@ +KeyConfig(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: KeyConfig(bpy_struct) + + Input configuration, including keymaps + + .. data:: is_user_defined + + Indicates that a keyconfig was defined by the user (default False, readonly) + + :type: bool + + .. data:: keymaps + + Key maps configured as part of this configuration (default None, readonly) + + :type: :class:`KeyMaps`\ [:class:`KeyMap`] + + .. attribute:: name + + Name of the key configuration (default "", never None) + + :type: str + + .. data:: preferences + + (readonly) + + :type: :class:`KeyConfigPreferences` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GizmoGroup.setup_keymap` + - :class:`KeyConfigurations.active` + - :class:`KeyConfigurations.addon` + - :class:`KeyConfigurations.default` + - :class:`KeyConfigurations.new` + - :class:`KeyConfigurations.remove` + - :class:`KeyConfigurations.user` + - :class:`WindowManager.keyconfigs` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyConfigPreferences.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyConfigPreferences.rst new file mode 100644 index 0000000..6fd6ab2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyConfigPreferences.rst @@ -0,0 +1,92 @@ +KeyConfigPreferences(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: KeyConfigPreferences(bpy_struct) + + + .. attribute:: bl_idname + + (default "", never None) + + :type: str + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`KeyConfig.preferences` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyConfigurations.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyConfigurations.rst new file mode 100644 index 0000000..fdf091f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyConfigurations.rst @@ -0,0 +1,146 @@ +KeyConfigurations(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: KeyConfigurations(bpy_prop_collection) + + Collection of KeyConfigs + + .. attribute:: active + + Active key configuration (preset) + + :type: :class:`KeyConfig` | None + + .. data:: addon + + Key configuration that can be extended by add-ons, and is added to the active configuration when handling events (readonly) + + :type: :class:`KeyConfig` | None + + .. data:: default + + Default builtin key configuration (readonly) + + :type: :class:`KeyConfig` | None + + .. data:: user + + Final key configuration that combines keymaps from the active and add-on configurations, and can be edited by the user (readonly) + + :type: :class:`KeyConfig` | None + + .. method:: new(name) + + new + + :param name: Name, (never None) + :type name: str + :return: Key Configuration, Added key configuration + :rtype: :class:`KeyConfig` + + .. method:: remove(keyconfig) + + remove + + :param keyconfig: Key Configuration, Removed key configuration (never None) + :type keyconfig: :class:`KeyConfig` | None + + .. method:: find_item_from_operator(idname, *, context='INVOKE_DEFAULT', properties=None, include={'ACTIONZONE', 'KEYBOARD', 'MOUSE', 'NDOF'}, exclude=set()) + + find_item_from_operator + + :param idname: Operator Identifier, (never None) + :type idname: str + :param context: context, (optional) + :type context: Literal[:ref:`rna_enum_operator_context_items`] + :param properties: (optional) + :type properties: :class:`OperatorProperties` | None + :param include: Include, (optional) + :type include: set[Literal[:ref:`rna_enum_event_type_mask_items`]] + :param exclude: Exclude, (optional) + :type exclude: set[Literal[:ref:`rna_enum_event_type_mask_items`]] + :return: + ``keymap``, :class:`KeyMap` + + ``item``, :class:`KeyMapItem` + + :rtype: tuple[:class:`KeyMap`, :class:`KeyMapItem`] + + .. method:: update(*, keep_properties=False) + + update + + :param keep_properties: Keep Properties, Operator properties are kept to allow the operators to be registered again in the future (optional) + :type keep_properties: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WindowManager.keyconfigs` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMap.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMap.rst new file mode 100644 index 0000000..e176422 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMap.rst @@ -0,0 +1,168 @@ +KeyMap(bpy_struct) +================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: KeyMap(bpy_struct) + + Input configuration, including keymaps + + .. attribute:: bl_owner_id + + Internal owner (default "", never None) + + :type: str + + .. data:: is_modal + + Indicates that a keymap is used for translate modal events for an operator (default False, readonly) + + :type: bool + + .. attribute:: is_user_modified + + Keymap is defined by the user (default False) + + :type: bool + + .. data:: keymap_items + + Items in the keymap, linking an operator to an input event (default None, readonly) + + :type: :class:`KeyMapItems`\ [:class:`KeyMapItem`] + + .. data:: modal_event_values + + Give access to the possible event values of this modal keymap's items (#KeyMapItem.propvalue), for API introspection (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`EnumPropertyItem`] + + .. data:: name + + Name of the key map (default "", readonly, never None) + + :type: str + + .. data:: region_type + + Optional region type keymap is associated with (default ``'WINDOW'``, readonly) + + :type: Literal[:ref:`rna_enum_region_type_items`] + + .. attribute:: show_expanded_children + + Children expanded in the user interface (default False) + + :type: bool + + .. attribute:: show_expanded_items + + Expanded in the user interface (default False) + + :type: bool + + .. data:: space_type + + Optional space type keymap is associated with (default ``'EMPTY'``, readonly) + + :type: Literal[:ref:`rna_enum_space_type_items`] + + .. method:: active() + + active + + :return: Key Map, Active key map + :rtype: :class:`KeyMap` + + .. method:: restore_to_default() + + restore_to_default + + + .. method:: restore_item_to_default(item) + + restore_item_to_default + + :param item: Item, (never None) + :type item: :class:`KeyMapItem` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GizmoGroup.setup_keymap` + - :class:`KeyConfig.keymaps` + - :class:`KeyConfigurations.find_item_from_operator` + - :class:`KeyMap.active` + - :class:`KeyMapItems.find_match` + - :class:`KeyMaps.find` + - :class:`KeyMaps.find_match` + - :class:`KeyMaps.find_match` + - :class:`KeyMaps.find_modal` + - :class:`KeyMaps.new` + - :class:`KeyMaps.remove` + - :class:`WindowManager.popover_end__internal` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMapItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMapItem.rst new file mode 100644 index 0000000..ecaa970 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMapItem.rst @@ -0,0 +1,267 @@ +KeyMapItem(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: KeyMapItem(bpy_struct) + + Item in a Key Map + + .. attribute:: active + + Activate or deactivate item (default False) + + :type: bool + + .. attribute:: alt + + Alt key pressed, -1 for any state (in [-1, 1], default 0) + + :type: int + + .. attribute:: alt_ui + + Alt key pressed (default False) + + :type: bool + + .. attribute:: any + + Any modifier keys pressed (default False) + + :type: bool + + .. attribute:: ctrl + + Control key pressed, -1 for any state (in [-1, 1], default 0) + + :type: int + + .. attribute:: ctrl_ui + + Control key pressed (default False) + + :type: bool + + .. attribute:: direction + + The direction (only applies to drag events) (default ``'ANY'``) + + :type: Literal[:ref:`rna_enum_event_direction_items`] + + .. attribute:: hyper + + Hyper key pressed, -1 for any state (in [-1, 1], default 0) + + :type: int + + .. attribute:: hyper_ui + + Hyper key pressed. An additional modifier which can be configured on Linux, typically replacing CapsLock (default False) + + :type: bool + + .. data:: id + + ID of the item (in [-32768, 32767], default 0, readonly) + + :type: int + + .. attribute:: idname + + Identifier of operator to call on input event (default "", never None) + + :type: str + + .. data:: is_user_defined + + Is this keymap item user defined (does not just replace a builtin item) (default False, readonly) + + :type: bool + + .. data:: is_user_modified + + Is this keymap item modified by the user (default False, readonly) + + :type: bool + + .. attribute:: key_modifier + + Regular key pressed as a modifier (default ``'NONE'``) + + :type: Literal[:ref:`rna_enum_event_type_items`] + + .. attribute:: map_type + + Type of event mapping (default ``'KEYBOARD'``) + + :type: Literal['KEYBOARD', 'MOUSE', 'NDOF', 'TEXTINPUT', 'TIMER'] + + .. data:: name + + Name of operator (translated) to call on input event (default "", readonly, never None) + + :type: str + + .. attribute:: oskey + + Operating system key pressed, -1 for any state (in [-1, 1], default 0) + + :type: int + + .. attribute:: oskey_ui + + Operating system key pressed (default False) + + :type: bool + + .. data:: properties + + Properties to set when the operator is called (readonly) + + :type: :class:`OperatorProperties` | None + + .. attribute:: propvalue + + The value this event translates to in a modal keymap (default ``'NONE'``) + + :type: Literal[:ref:`rna_enum_keymap_propvalue_items`] + + .. attribute:: repeat + + Active on key-repeat events (when a key is held) (default False) + + :type: bool + + .. attribute:: shift + + Shift key pressed, -1 for any state (in [-1, 1], default 0) + + :type: int + + .. attribute:: shift_ui + + Shift key pressed (default False) + + :type: bool + + .. attribute:: show_expanded + + Show key map event and property details in the user interface (default False) + + :type: bool + + .. attribute:: type + + Type of event (default ``'NONE'``) + + :type: Literal[:ref:`rna_enum_event_type_items`] + + .. attribute:: value + + (default ``'NOTHING'``) + + :type: Literal[:ref:`rna_enum_event_value_items`] + + .. method:: compare(item) + + compare + + :param item: Item + :type item: :class:`KeyMapItem` | None + :return: Comparison result + :rtype: bool + + .. method:: to_string(*, compact=False) + + to_string + + :param compact: Compact, (optional) + :type compact: bool + :return: result, (never None) + :rtype: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`KeyConfigurations.find_item_from_operator` + - :class:`KeyMap.keymap_items` + - :class:`KeyMap.restore_item_to_default` + - :class:`KeyMapItem.compare` + - :class:`KeyMapItems.find_from_operator` + - :class:`KeyMapItems.find_match` + - :class:`KeyMapItems.find_match` + - :class:`KeyMapItems.from_id` + - :class:`KeyMapItems.match_event` + - :class:`KeyMapItems.new` + - :class:`KeyMapItems.new_from_item` + - :class:`KeyMapItems.new_from_item` + - :class:`KeyMapItems.new_modal` + - :class:`KeyMapItems.remove` + - :class:`UILayout.template_event_from_keymap_item` + - :class:`UILayout.template_keymap_item_properties` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMapItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMapItems.rst new file mode 100644 index 0000000..83de14b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMapItems.rst @@ -0,0 +1,201 @@ +KeyMapItems(bpy_prop_collection) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: KeyMapItems(bpy_prop_collection) + + Collection of keymap items + + .. method:: new(idname, type, value, *, any=False, shift=0, ctrl=0, alt=0, oskey=0, hyper=0, key_modifier='NONE', direction='ANY', repeat=False, head=False) + + new + + :param idname: Operator Identifier, (never None) + :type idname: str + :param type: Type + :type type: Literal[:ref:`rna_enum_event_type_items`] + :param value: Value + :type value: Literal[:ref:`rna_enum_event_value_items`] + :param any: Any, (optional) + :type any: bool + :param shift: Shift, (in [-1, 1], optional) + :type shift: int + :param ctrl: Ctrl, (in [-1, 1], optional) + :type ctrl: int + :param alt: Alt, (in [-1, 1], optional) + :type alt: int + :param oskey: OS Key, (in [-1, 1], optional) + :type oskey: int + :param hyper: Hyper, (in [-1, 1], optional) + :type hyper: int + :param key_modifier: Key Modifier, (optional) + :type key_modifier: Literal[:ref:`rna_enum_event_type_items`] + :param direction: Direction, (optional) + :type direction: Literal[:ref:`rna_enum_event_direction_items`] + :param repeat: Repeat, When set, accept key-repeat events (optional) + :type repeat: bool + :param head: At Head, Force item to be added at start (not end) of key map so that it doesn't get blocked by an existing key map item (optional) + :type head: bool + :return: Item, Added key map item + :rtype: :class:`KeyMapItem` + + .. method:: new_modal(propvalue, type, value, *, any=False, shift=0, ctrl=0, alt=0, oskey=0, hyper=0, key_modifier='NONE', direction='ANY', repeat=False) + + new_modal + + :param propvalue: Property Value, (never None) + :type propvalue: str + :param type: Type + :type type: Literal[:ref:`rna_enum_event_type_items`] + :param value: Value + :type value: Literal[:ref:`rna_enum_event_value_items`] + :param any: Any, (optional) + :type any: bool + :param shift: Shift, (in [-1, 1], optional) + :type shift: int + :param ctrl: Ctrl, (in [-1, 1], optional) + :type ctrl: int + :param alt: Alt, (in [-1, 1], optional) + :type alt: int + :param oskey: OS Key, (in [-1, 1], optional) + :type oskey: int + :param hyper: Hyper, (in [-1, 1], optional) + :type hyper: int + :param key_modifier: Key Modifier, (optional) + :type key_modifier: Literal[:ref:`rna_enum_event_type_items`] + :param direction: Direction, (optional) + :type direction: Literal[:ref:`rna_enum_event_direction_items`] + :param repeat: Repeat, When set, accept key-repeat events (optional) + :type repeat: bool + :return: Item, Added key map item + :rtype: :class:`KeyMapItem` + + .. method:: new_from_item(item, *, head=False) + + new_from_item + + :param item: Item, Item to use as a reference (never None) + :type item: :class:`KeyMapItem` | None + :param head: At Head, (optional) + :type head: bool + :return: Item, Added key map item + :rtype: :class:`KeyMapItem` + + .. method:: remove(item) + + remove + + :param item: Item, (never None) + :type item: :class:`KeyMapItem` | None + + .. method:: from_id(id) + + from_id + + :param id: id, ID of the item (in [-inf, inf]) + :type id: int + :return: Item + :rtype: :class:`KeyMapItem` + + .. method:: find_from_operator(idname, *, properties=None, include={'ACTIONZONE', 'KEYBOARD', 'MOUSE', 'NDOF'}, exclude=set()) + + find_from_operator + + :param idname: Operator Identifier, (never None) + :type idname: str + :param properties: (optional) + :type properties: :class:`OperatorProperties` | None + :param include: Include, (optional) + :type include: set[Literal[:ref:`rna_enum_event_type_mask_items`]] + :param exclude: Exclude, (optional) + :type exclude: set[Literal[:ref:`rna_enum_event_type_mask_items`]] + :rtype: :class:`KeyMapItem` + + .. method:: find_match(keymap, item) + + find_match + + :param keymap: The matching keymap + :type keymap: :class:`KeyMap` | None + :param item: The matching keymap item + :type item: :class:`KeyMapItem` | None + :return: The keymap item from this keymap which matches the keymap item from the arguments passed in + :rtype: :class:`KeyMapItem` + + .. method:: match_event(event) + + match_event + + :type event: :class:`Event` | None + :rtype: :class:`KeyMapItem` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`KeyMap.keymap_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMaps.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMaps.rst new file mode 100644 index 0000000..c3b38d2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyMaps.rst @@ -0,0 +1,166 @@ +KeyMaps(bpy_prop_collection) +============================ + +.. currentmodule:: bpy.types + + +Add-on Keymap Registration +++++++++++++++++++++++++++ + +This example shows how an add-on can register custom keyboard shortcuts. +Keymaps are added to ``keyconfigs.addon`` and removed when unregistered. + +Store ``(keymap, keymap_item)`` tuples for safe cleanup, as multiple add-ons may use the same keymap. + +.. note:: + + Users can customize add-on shortcuts in the Keymap Preferences. + Add-on keymaps appear under their respective editors and can be + modified or disabled without editing the add-on code. + + Add-ons should only manipulate keymaps in ``keyconfigs.addon`` and not manipulate the user's keymaps + because add-on keymaps serve as a default which users may customize. + Modifying user keymaps directly interferes with users' own preferences. + +.. warning:: + + Add-ons can add items to existing modal keymaps but cannot create + new modal keymaps via Python. Use ``modal=True`` when targeting + an existing modal keymap such as "Knife Tool Modal Map". + +.. literalinclude:: ./examples/bpy.types.KeyMaps.1.py + :lines: 27- + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: KeyMaps(bpy_prop_collection) + + Collection of keymaps + + .. method:: new(name, *, space_type='EMPTY', region_type='WINDOW', modal=False, tool=False) + + Ensure the keymap exists. This will return the one with the given name/space type/region type, or create a new one if it does not exist yet. + + :param name: Name, (never None) + :type name: str + :param space_type: Space Type, (optional) + :type space_type: Literal[:ref:`rna_enum_space_type_items`] + :param region_type: Region Type, (optional) + :type region_type: Literal[:ref:`rna_enum_region_type_items`] + :param modal: Modal, Keymap for modal operators. Modal keymaps are not supported for :class:`KeyConfigs.addons`. (optional) + :type modal: bool + :param tool: Tool, Keymap for active tools (optional) + :type tool: bool + :return: Key Map, Added key map + :rtype: :class:`KeyMap` + + .. method:: remove(keymap) + + remove + + :param keymap: Key Map, Removed key map (never None) + :type keymap: :class:`KeyMap` | None + + .. method:: clear() + + Remove all keymaps. + + + .. method:: find(name, *, space_type='EMPTY', region_type='WINDOW') + + find + + :param name: Name, (never None) + :type name: str + :param space_type: Space Type, (optional) + :type space_type: Literal[:ref:`rna_enum_space_type_items`] + :param region_type: Region Type, (optional) + :type region_type: Literal[:ref:`rna_enum_region_type_items`] + :return: Key Map, Corresponding key map + :rtype: :class:`KeyMap` + + .. method:: find_match(keymap) + + find_match + + :param keymap: Key Map, The key map for comparison + :type keymap: :class:`KeyMap` | None + :return: Key Map, Corresponding key map + :rtype: :class:`KeyMap` + + .. method:: find_modal(name) + + find_modal + + :param name: Operator Name, (never None) + :type name: str + :return: Key Map, Corresponding key map + :rtype: :class:`KeyMap` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`KeyConfig.keymaps` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Keyframe.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Keyframe.rst new file mode 100644 index 0000000..e0a11f5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Keyframe.rst @@ -0,0 +1,171 @@ +Keyframe(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Keyframe(bpy_struct) + + Bézier curve point with two handles defining a Keyframe on an F-Curve + + .. attribute:: amplitude + + Amount to boost elastic bounces for 'elastic' easing (in [0, inf], default 0.0) + + :type: float + + .. attribute:: back + + Amount of overshoot for 'back' easing (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: co + + Coordinates of the control point (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: co_ui + + Coordinates of the control point. Note: Changing this value also updates the handles similar to using the graph editor transform operator (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: easing + + Which ends of the segment between this and the next keyframe easing interpolation is applied to (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_beztriple_interpolation_easing_items`] + + .. attribute:: handle_left + + Coordinates of the left handle (before the control point) (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: handle_left_type + + Handle types (default ``'FREE'``) + + :type: Literal[:ref:`rna_enum_keyframe_handle_type_items`] + + .. attribute:: handle_right + + Coordinates of the right handle (after the control point) (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: handle_right_type + + Handle types (default ``'FREE'``) + + :type: Literal[:ref:`rna_enum_keyframe_handle_type_items`] + + .. attribute:: interpolation + + Interpolation method to use for segment of the F-Curve from this Keyframe until the next Keyframe (default ``'CONSTANT'``) + + :type: Literal[:ref:`rna_enum_beztriple_interpolation_mode_items`] + + .. attribute:: period + + Time between bounces for elastic easing (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: select_control_point + + Control point selection status (default False) + + :type: bool + + .. attribute:: select_left_handle + + Left handle selection status (default False) + + :type: bool + + .. attribute:: select_right_handle + + Right handle selection status (default False) + + :type: bool + + .. attribute:: type + + Type of keyframe (for visual purposes only) (default ``'KEYFRAME'``) + + :type: Literal[:ref:`rna_enum_beztriple_keyframe_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.selected_editable_keyframes` + - :class:`FCurve.keyframe_points` + - :class:`FCurveKeyframePoints.insert` + - :class:`FCurveKeyframePoints.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSet.rst new file mode 100644 index 0000000..834e9bb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSet.rst @@ -0,0 +1,149 @@ +KeyingSet(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: KeyingSet(bpy_struct) + + Settings that should be keyframed together + + .. attribute:: bl_description + + A short description of the keying set (default "", never None) + + :type: str + + .. attribute:: bl_idname + + If this is set, the Keying Set gets a custom ID, otherwise it takes the name of the class used to define the Keying Set (for example, if the class name is "BUILTIN_KSI_location", and bl_idname is not set by the script, then bl_idname = "BUILTIN_KSI_location") (default "", never None) + + :type: str + + .. attribute:: bl_label + + (default "", never None) + + :type: str + + .. data:: is_path_absolute + + Keying Set defines specific paths/settings to be keyframed (i.e. is not reliant on context info) (default False, readonly) + + :type: bool + + .. data:: paths + + Keying Set Paths to define settings that get keyframed together (default None, readonly) + + :type: :class:`KeyingSetPaths`\ [:class:`KeyingSetPath`] + + .. data:: type_info + + Callback function defines for built-in Keying Sets (readonly) + + :type: :class:`KeyingSetInfo` | None + + .. attribute:: use_insertkey_needed + + Only insert keyframes where they're needed in the relevant F-Curves (default False) + + :type: bool + + .. attribute:: use_insertkey_override_needed + + Override default setting to only insert keyframes where they're needed in the relevant F-Curves (default False) + + :type: bool + + .. attribute:: use_insertkey_override_visual + + Override default setting to insert keyframes based on 'visual transforms' (default False) + + :type: bool + + .. attribute:: use_insertkey_visual + + Insert keyframes based on 'visual transforms' (default False) + + :type: bool + + .. method:: refresh() + + Refresh Keying Set to ensure that it is valid for the current context (call before each use of one) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`KeyingSetInfo.generate` + - :class:`KeyingSetInfo.iterator` + - :class:`KeyingSets.active` + - :class:`KeyingSets.new` + - :class:`KeyingSetsAll.active` + - :class:`Scene.keying_sets` + - :class:`Scene.keying_sets_all` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetInfo.rst new file mode 100644 index 0000000..5319c9d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetInfo.rst @@ -0,0 +1,125 @@ +KeyingSetInfo(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: KeyingSetInfo(bpy_struct) + + Callback function defines for builtin Keying Sets + + .. attribute:: bl_description + + A short description of the keying set (default "", never None) + + :type: str + + .. attribute:: bl_idname + + If this is set, the Keying Set gets a custom ID, otherwise it takes the name of the class used to define the Keying Set (for example, if the class name is "BUILTIN_KSI_location", and bl_idname is not set by the script, then bl_idname = "BUILTIN_KSI_location") (default "", never None) + + :type: str + + .. attribute:: bl_label + + (default "", never None) + + :type: str + + .. attribute:: bl_options + + Keying Set options to use when inserting keyframes (default set()) + + :type: set[Literal[:ref:`rna_enum_keying_flag_items`]] + + .. method:: poll(context) + + Test if Keying Set can be used or not + + :type context: :class:`Context` | None + :rtype: bool + + .. method:: iterator(context, ks) + + Call generate() on the structs which have properties to be keyframed + + :type context: :class:`Context` | None + :type ks: :class:`KeyingSet` | None + + .. method:: generate(context, ks, data) + + Add Paths to the Keying Set to keyframe the properties of the given data + + :type context: :class:`Context` | None + :type ks: :class:`KeyingSet` | None + :param data: (never None) + :type data: :class:`AnyType` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`KeyingSet.type_info` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetPath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetPath.rst new file mode 100644 index 0000000..eccfebf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetPath.rst @@ -0,0 +1,147 @@ +KeyingSetPath(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: KeyingSetPath(bpy_struct) + + Path to a setting for use in a Keying Set + + .. attribute:: array_index + + Index to the specific setting if applicable (in [-inf, inf], default 0) + + :type: int + + .. attribute:: data_path + + Path to property setting (default "", never None) + + :type: str + + .. attribute:: group + + Name of Action Group to assign setting(s) for this path to (default "", never None) + + :type: str + + .. attribute:: group_method + + Method used to define which Group-name to use (default ``'NAMED'``) + + :type: Literal[:ref:`rna_enum_keyingset_path_grouping_items`] + + .. attribute:: id + + ID-Block that keyframes for Keying Set should be added to (for Absolute Keying Sets only) + + :type: :class:`ID` | None + + .. attribute:: id_type + + Type of ID-block that can be used (default ``'OBJECT'``) + + :type: Literal[:ref:`rna_enum_id_type_items`] + + .. attribute:: use_entire_array + + When an 'array/vector' type is chosen (Location, Rotation, Color, etc.), entire array is to be used (default False) + + :type: bool + + .. attribute:: use_insertkey_needed + + Only insert keyframes where they're needed in the relevant F-Curves (default False) + + :type: bool + + .. attribute:: use_insertkey_override_needed + + Override default setting to only insert keyframes where they're needed in the relevant F-Curves (default False) + + :type: bool + + .. attribute:: use_insertkey_override_visual + + Override default setting to insert keyframes based on 'visual transforms' (default False) + + :type: bool + + .. attribute:: use_insertkey_visual + + Insert keyframes based on 'visual transforms' (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`KeyingSet.paths` + - :class:`KeyingSetPaths.active` + - :class:`KeyingSetPaths.add` + - :class:`KeyingSetPaths.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetPaths.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetPaths.rst new file mode 100644 index 0000000..1dc9656 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetPaths.rst @@ -0,0 +1,119 @@ +KeyingSetPaths(bpy_prop_collection) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: KeyingSetPaths(bpy_prop_collection) + + Collection of keying set paths + + .. attribute:: active + + Active Keying Set used to insert/delete keyframes + + :type: :class:`KeyingSetPath` | None + + .. attribute:: active_index + + Current Keying Set index (in [-inf, inf], default 0) + + :type: int + + .. method:: add(target_id, data_path, *, index=-1, group_method='KEYINGSET', group_name="") + + Add a new path for the Keying Set + + :param target_id: Target ID, ID data-block for the destination + :type target_id: :class:`ID` | None + :param data_path: Data-Path, RNA-Path to destination property (never None) + :type data_path: str + :param index: Index, The index of the destination property (i.e. axis of Location/Rotation/etc.), or -1 for the entire array (in [-1, inf], optional) + :type index: int + :param group_method: Grouping Method, Method used to define which Group-name to use (optional) + :type group_method: Literal[:ref:`rna_enum_keyingset_path_grouping_items`] + :param group_name: Group Name, Name of Action Group to assign destination to (only if grouping mode is to use this name) (optional, never None) + :type group_name: str + :return: New Path, Path created and added to the Keying Set + :rtype: :class:`KeyingSetPath` + + .. method:: remove(path) + + Remove the given path from the Keying Set + + :param path: Path, (never None) + :type path: :class:`KeyingSetPath` | None + + .. method:: clear() + + Remove all the paths from the Keying Set + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`KeyingSet.paths` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSets.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSets.rst new file mode 100644 index 0000000..b25146f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSets.rst @@ -0,0 +1,101 @@ +KeyingSets(bpy_prop_collection) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: KeyingSets(bpy_prop_collection) + + Scene keying sets + + .. attribute:: active + + Active Keying Set used to insert/delete keyframes + + :type: :class:`KeyingSet` | None + + .. attribute:: active_index + + Current Keying Set index (negative for 'builtin' and positive for 'absolute') (in [-inf, inf], default 0) + + :type: int + + .. method:: new(*, idname="KeyingSet", name="KeyingSet") + + Add a new Keying Set to Scene + + :param idname: IDName, Internal identifier of Keying Set (optional, never None) + :type idname: str + :param name: Name, User visible name of Keying Set (optional, never None) + :type name: str + :return: Newly created Keying Set + :rtype: :class:`KeyingSet` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.keying_sets` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetsAll.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetsAll.rst new file mode 100644 index 0000000..a7242e9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KeyingSetsAll.rst @@ -0,0 +1,90 @@ +KeyingSetsAll(bpy_prop_collection) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: KeyingSetsAll(bpy_prop_collection) + + All available keying sets + + .. attribute:: active + + Active Keying Set used to insert/delete keyframes + + :type: :class:`KeyingSet` | None + + .. attribute:: active_index + + Current Keying Set index (negative for 'builtin' and positive for 'absolute') (in [-inf, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.keying_sets_all` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KinematicConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KinematicConstraint.rst new file mode 100644 index 0000000..be81e43 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.KinematicConstraint.rst @@ -0,0 +1,232 @@ +KinematicConstraint(Constraint) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: KinematicConstraint(Constraint) + + Inverse Kinematics + + .. attribute:: chain_count + + How many bones are included in the IK effect - 0 uses all bones (in [0, 255], default 0) + + :type: int + + .. attribute:: distance + + Radius of limiting sphere (in [0, 100], default 0.0) + + :type: float + + .. attribute:: ik_type + + (default ``'COPY_POSE'``) + + :type: Literal['COPY_POSE', 'DISTANCE'] + + .. attribute:: iterations + + Maximum number of solving iterations (in [0, 10000], default 0) + + :type: int + + .. attribute:: limit_mode + + Distances in relation to sphere of influence to allow (default ``'LIMITDIST_INSIDE'``) + + - ``LIMITDIST_INSIDE`` + Inside -- The object is constrained inside a virtual sphere around the target object, with a radius defined by the limit distance. + - ``LIMITDIST_OUTSIDE`` + Outside -- The object is constrained outside a virtual sphere around the target object, with a radius defined by the limit distance. + - ``LIMITDIST_ONSURFACE`` + On Surface -- The object is constrained on the surface of a virtual sphere around the target object, with a radius defined by the limit distance. + + :type: Literal['LIMITDIST_INSIDE', 'LIMITDIST_OUTSIDE', 'LIMITDIST_ONSURFACE'] + + .. attribute:: lock_location_x + + Constraint position along X axis (default True) + + :type: bool + + .. attribute:: lock_location_y + + Constraint position along Y axis (default True) + + :type: bool + + .. attribute:: lock_location_z + + Constraint position along Z axis (default True) + + :type: bool + + .. attribute:: lock_rotation_x + + Constraint rotation along X axis (default True) + + :type: bool + + .. attribute:: lock_rotation_y + + Constraint rotation along Y axis (default True) + + :type: bool + + .. attribute:: lock_rotation_z + + Constraint rotation along Z axis (default True) + + :type: bool + + .. attribute:: orient_weight + + For Tree-IK: Weight of orientation control for this target (in [0.01, 1], default 0.0) + + :type: float + + .. attribute:: pole_angle + + Pole rotation offset (in [-3.14159, 3.14159], default 0.0) + + :type: float + + .. attribute:: pole_subtarget + + (default "", never None) + + :type: str + + .. attribute:: pole_target + + Object for pole rotation + + :type: :class:`Object` | None + + .. attribute:: reference_axis + + Constraint axis Lock options relative to Bone or Target reference (default ``'BONE'``) + + :type: Literal['BONE', 'TARGET'] + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: use_location + + Chain follows position of target (default False) + + :type: bool + + .. attribute:: use_rotation + + Chain follows rotation of target (default False) + + :type: bool + + .. attribute:: use_stretch + + Enable IK Stretching (default False) + + :type: bool + + .. attribute:: use_tail + + Include bone's tail as last element in chain (default False) + + :type: bool + + .. attribute:: weight + + For Tree-IK: Weight of position control for this target (in [0.01, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LaplacianDeformModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LaplacianDeformModifier.rst new file mode 100644 index 0000000..6d1842a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LaplacianDeformModifier.rst @@ -0,0 +1,109 @@ +LaplacianDeformModifier(Modifier) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: LaplacianDeformModifier(Modifier) + + Mesh deform modifier + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. data:: is_bind + + Whether geometry has been bound to anchors (default False, readonly) + + :type: bool + + .. attribute:: iterations + + (in [0, inf], default 1) + + :type: int + + .. attribute:: vertex_group + + Name of Vertex Group which determines Anchors (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LaplacianSmoothModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LaplacianSmoothModifier.rst new file mode 100644 index 0000000..80c371d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LaplacianSmoothModifier.rst @@ -0,0 +1,145 @@ +LaplacianSmoothModifier(Modifier) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: LaplacianSmoothModifier(Modifier) + + Smoothing effect modifier + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: iterations + + (in [0, 32767], default 1) + + :type: int + + .. attribute:: lambda_border + + Lambda factor in border (in [-inf, inf], default 0.01) + + :type: float + + .. attribute:: lambda_factor + + Smooth effect factor (in [-inf, inf], default 0.01) + + :type: float + + .. attribute:: use_normalized + + Improve and stabilize the enhanced shape (default True) + + :type: bool + + .. attribute:: use_volume_preserve + + Apply volume preservation after smooth (default True) + + :type: bool + + .. attribute:: use_x + + Smooth object along X axis (default True) + + :type: bool + + .. attribute:: use_y + + Smooth object along Y axis (default True) + + :type: bool + + .. attribute:: use_z + + Smooth object along Z axis (default True) + + :type: bool + + .. attribute:: vertex_group + + Name of Vertex Group which determines influence of modifier per point (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Lattice.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Lattice.rst new file mode 100644 index 0000000..94a28e4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Lattice.rst @@ -0,0 +1,219 @@ +Lattice(ID) +=========== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Lattice(ID) + + Lattice data-block defining a grid for deforming other objects + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: interpolation_type_u + + (default ``'KEY_BSPLINE'``) + + :type: Literal['KEY_LINEAR', 'KEY_CARDINAL', 'KEY_CATMULL_ROM', 'KEY_BSPLINE'] + + .. attribute:: interpolation_type_v + + (default ``'KEY_BSPLINE'``) + + :type: Literal['KEY_LINEAR', 'KEY_CARDINAL', 'KEY_CATMULL_ROM', 'KEY_BSPLINE'] + + .. attribute:: interpolation_type_w + + (default ``'KEY_BSPLINE'``) + + :type: Literal['KEY_LINEAR', 'KEY_CARDINAL', 'KEY_CATMULL_ROM', 'KEY_BSPLINE'] + + .. data:: is_editmode + + True when used in editmode (default False, readonly) + + :type: bool + + .. data:: points + + Points of the lattice (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`LatticePoint`] + + .. attribute:: points_u + + Points in U direction (cannot be changed when there are shape keys) (in [1, 64], default 0) + + :type: int + + .. attribute:: points_v + + Points in V direction (cannot be changed when there are shape keys) (in [1, 64], default 0) + + :type: int + + .. attribute:: points_w + + Points in W direction (cannot be changed when there are shape keys) (in [1, 64], default 0) + + :type: int + + .. data:: shape_keys + + (readonly) + + :type: :class:`Key` | None + + .. attribute:: use_outside + + Only display and take into account the outer vertices (default False) + + :type: bool + + .. attribute:: vertex_group + + Vertex group to apply the influence of the lattice (default "", never None) + + :type: str + + .. method:: transform(matrix, *, shape_keys=False) + + Transform lattice by a matrix + + :param matrix: Matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param shape_keys: Transform Shape Keys (optional) + :type shape_keys: bool + + .. method:: update_gpu_tag() + + update_gpu_tag + + + .. method:: unit_test_compare(*, lattice=None, threshold=7.1526e-06) + + unit_test_compare + + :param lattice: Lattice to compare to (optional) + :type lattice: :class:`Lattice` | None + :param threshold: Threshold, Comparison tolerance threshold (in [0, inf], optional) + :type threshold: float + :return: Return value, String description of result of comparison (never None) + :rtype: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.lattice` + - :class:`BlendData.lattices` + - :class:`BlendDataLattices.new` + - :class:`BlendDataLattices.remove` + - :class:`Lattice.unit_test_compare` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LatticeModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LatticeModifier.rst new file mode 100644 index 0000000..34d0d82 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LatticeModifier.rst @@ -0,0 +1,109 @@ +LatticeModifier(Modifier) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: LatticeModifier(Modifier) + + Lattice deformation modifier + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: object + + Lattice object to deform with + + :type: :class:`Object` | None + + .. attribute:: strength + + Strength of modifier effect (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: vertex_group + + Name of Vertex Group which determines influence of modifier per point (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LatticePoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LatticePoint.rst new file mode 100644 index 0000000..b850ebc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LatticePoint.rst @@ -0,0 +1,108 @@ +LatticePoint(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: LatticePoint(bpy_struct) + + Point in the lattice grid + + .. data:: co + + Original undeformed location used to calculate the strength of the deform effect (edit/animate the Deformed Location instead) (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: co_deform + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: groups + + Weights for the vertex groups this point is member of (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`VertexGroupElement`] + + .. attribute:: select + + Selection status (default False) + + :type: bool + + .. attribute:: weight_softbody + + Softbody goal weight (in [0.01, 100], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Lattice.points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LayerCollection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LayerCollection.rst new file mode 100644 index 0000000..5a84582 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LayerCollection.rst @@ -0,0 +1,150 @@ +LayerCollection(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: LayerCollection(bpy_struct) + + Layer collection + + .. data:: children + + Layer collection children (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`LayerCollection`] + + .. data:: collection + + Collection this layer collection is wrapping (readonly, never None) + + :type: :class:`Collection` + + .. attribute:: exclude + + Exclude from view layer (default False) + + :type: bool + + .. attribute:: hide_viewport + + Temporarily hide in viewport (default False) + + :type: bool + + .. attribute:: holdout + + Mask out objects in collection from view layer (default False) + + :type: bool + + .. attribute:: indirect_only + + Objects in collection only contribute indirectly (through shadows and reflections) in the view layer (default False) + + :type: bool + + .. data:: is_visible + + Whether this collection is visible for the view layer, take into account the collection parent (default False, readonly) + + :type: bool + + .. data:: name + + Name of this layer collection (same as its collection one) (default "", readonly, never None) + + :type: str + + .. method:: visible_get() + + Whether this collection is visible, take into account the collection parent and the viewport + + :rtype: bool + + .. method:: has_objects() + + + + :rtype: bool + + .. method:: has_selected_objects(view_layer) + + + + :param view_layer: View layer the layer collection belongs to + :type view_layer: :class:`ViewLayer` | None + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.collection` + - :class:`Context.layer_collection` + - :class:`LayerCollection.children` + - :class:`ViewLayer.active_layer_collection` + - :class:`ViewLayer.layer_collection` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LayerObjects.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LayerObjects.rst new file mode 100644 index 0000000..35b4763 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LayerObjects.rst @@ -0,0 +1,90 @@ +LayerObjects(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: LayerObjects(bpy_prop_collection) + + Collections of objects + + .. attribute:: active + + Active object for this layer + + :type: :class:`Object` | None + + .. data:: selected + + All the selected objects of this layer (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Object`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ViewLayer.objects` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LayoutPanelState.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LayoutPanelState.rst new file mode 100644 index 0000000..a7ac222 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LayoutPanelState.rst @@ -0,0 +1,75 @@ +LayoutPanelState(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: LayoutPanelState(bpy_struct) + + + .. attribute:: is_open + + (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Library.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Library.rst new file mode 100644 index 0000000..19af416 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Library.rst @@ -0,0 +1,196 @@ +Library(ID) +=========== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Library(ID) + + External .blend file from which data is linked + + .. data:: archive_libraries + + Archive libraries of packed IDs, generated (and owned) by this source library (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Library`] + + .. data:: archive_parent_library + + Source library from which this archive of packed IDs was generated (readonly) + + :type: :class:`Library` | None + + .. attribute:: filepath + + Path to the library .blend file (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. data:: is_archive + + This library is an 'archive' storage for packed linked IDs originally linked from its 'archive parent' library. (default False, readonly) + + :type: bool + + .. data:: is_editable + + Data-blocks in this library are editable despite being linked. Used by brush assets and their dependencies. (default False, readonly) + + :type: bool + + .. attribute:: needs_liboverride_resync + + True if this library contains library overrides that are linked in current blendfile, and that had to be recursively resynced on load (it is recommended to open and re-save that library blendfile then) (default False) + + :type: bool + + .. data:: packed_file + + (readonly) + + :type: :class:`PackedFile` | None + + .. data:: parent + + (readonly) + + :type: :class:`Library` | None + + .. data:: version + + Version of Blender the library .blend was saved with (array of 3 items, in [0, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: users_id + + ID data-blocks that use this library + + :type: tuple[:class:`bpy.types.ID`, ...] + + .. note:: + + Takes ``O(n)`` time, where ``n`` is the total number of all + linkable ID types in ``bpy.data``. + + (readonly) + + .. method:: reload() + + Reload this library and all its linked data-blocks + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.libraries` + - :class:`BlendDataLibraries.remove` + - :class:`BlendImportContextItem.source_library` + - :class:`ID.library` + - :class:`Library.archive_libraries` + - :class:`Library.archive_parent_library` + - :class:`Library.parent` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LibraryWeakReference.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LibraryWeakReference.rst new file mode 100644 index 0000000..c72f785 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LibraryWeakReference.rst @@ -0,0 +1,90 @@ +LibraryWeakReference(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: LibraryWeakReference(bpy_struct) + + Read-only external reference to a linked data-block and its library file + + .. attribute:: filepath + + Path to the library .blend file (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: id_name + + Full ID name in the library .blend file (including the two leading 'id type' chars) (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ID.library_weak_reference` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Light.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Light.rst new file mode 100644 index 0000000..498e6a7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Light.rst @@ -0,0 +1,247 @@ +Light(ID) +========= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +subclasses --- +:class:`AreaLight`, :class:`PointLight`, :class:`SpotLight`, :class:`SunLight` + +.. class:: Light(ID) + + Light data-block for lighting a scene + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: color + + Light color (array of 3 items, in [0, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: cutoff_distance + + Distance at which the light influence will be set to 0 (in [0, inf], default 40.0) + + :type: float + + .. attribute:: diffuse_factor + + Diffuse reflection multiplier (in [0, inf], default 1.0) + + :type: float + + .. attribute:: exposure + + Scales the power of the light exponentially, multiplying the intensity by 2^exposure (in [-32, 32], default 0.0) + + :type: float + + .. data:: node_tree + + Node tree for node based lights (readonly) + + :type: :class:`NodeTree` | None + + .. attribute:: normalize + + Normalize intensity by light area, for consistent total light output regardless of size and shape (default True) + + :type: bool + + .. attribute:: specular_factor + + Specular reflection multiplier (in [0, inf], default 1.0) + + :type: float + + .. attribute:: temperature + + Light color temperature in Kelvin (in [800, 20000], default 6500.0) + + :type: float + + .. data:: temperature_color + + Color from Temperature (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Color` + + .. attribute:: transmission_factor + + Transmission light multiplier (in [0, inf], default 1.0) + + :type: float + + .. attribute:: type + + Type of light (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_light_type_items`] + + .. attribute:: use_custom_distance + + Use custom attenuation distance instead of global light threshold (default False) + + :type: bool + + .. attribute:: use_nodes + + Use shader nodes to render the light (default False) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Unused but kept for compatibility reasons. Setting the property has no effect, and getting it always returns True. + + :type: bool + + .. attribute:: use_shadow + + (default True) + + :type: bool + + .. attribute:: use_temperature + + Use blackbody temperature to define a natural light color (default False) + + :type: bool + + .. attribute:: volume_factor + + Volume light multiplier (in [0, inf], default 1.0) + + :type: float + + .. method:: area(*, matrix_world=((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + Compute light area based on type and shape. The normalize option divides light intensity by this area + + :param matrix_world: Object to world space transformation matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf], optional) + :type matrix_world: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :return: area, (in [-inf, inf]) + :rtype: float + + .. method:: inline_shader_nodes() + + Get the inlined shader nodes of this light. This preprocesses the node tree + to remove nested groups, repeat zones and more. + + :return: The inlined shader nodes. + :rtype: :class:`bpy.types.InlineShaderNodes` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.light` + - :class:`BlendData.lights` + - :class:`BlendDataLights.new` + - :class:`BlendDataLights.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbe.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbe.rst new file mode 100644 index 0000000..b3ae867 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbe.rst @@ -0,0 +1,215 @@ +LightProbe(ID) +============== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +subclasses --- +:class:`LightProbePlane`, :class:`LightProbeSphere`, :class:`LightProbeVolume` + +.. class:: LightProbe(ID) + + Light Probe data-block for lighting capture objects + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: clip_start + + Probe clip start, below which objects will not appear in reflections (in [1e-06, inf], default 0.8) + + :type: float + + .. attribute:: data_display_size + + Viewport display size of the sampled data (in [0, inf], default 0.1) + + :type: float + + .. attribute:: influence_distance + + Influence distance of the probe (in [0, inf], default 2.5) + + :type: float + + .. attribute:: invert_visibility_collection + + Invert visibility collection (Deprecated) (default False) + + :type: bool + + .. attribute:: show_clip + + Show the clipping distances in the 3D view (default False) + + :type: bool + + .. attribute:: show_data + + Deprecated, use use_data_display instead (default False) + + :type: bool + + .. attribute:: show_influence + + Show the influence volume in the 3D view (default True) + + :type: bool + + .. data:: type + + Type of light probe (default ``'SPHERE'``, readonly) + + - ``SPHERE`` + Sphere -- Light probe that captures precise lighting from all directions at a single point in space. + - ``PLANE`` + Plane -- Light probe that captures incoming light from a single direction on a plane. + - ``VOLUME`` + Volume -- Light probe that captures low frequency lighting inside a volume. + + :type: Literal['SPHERE', 'PLANE', 'VOLUME'] + + .. attribute:: use_data_display + + Display sampled data in the viewport to debug captured light (default False) + + :type: bool + + .. attribute:: visibility_bleed_bias + + Bias for reducing light-bleed on variance shadow maps (Deprecated) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: visibility_blur + + Filter size of the visibility blur (Deprecated) (in [0, 1], default 0.2) + + :type: float + + .. attribute:: visibility_buffer_bias + + Bias for reducing self shadowing (Deprecated) (in [0.001, 9999], default 1.0) + + :type: float + + .. attribute:: visibility_collection + + Restrict objects visible for this probe (Deprecated) + + :type: :class:`Collection` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.lightprobe` + - :class:`BlendData.lightprobes` + - :class:`BlendDataProbes.new` + - :class:`BlendDataProbes.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbePlane.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbePlane.rst new file mode 100644 index 0000000..a7f5600 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbePlane.rst @@ -0,0 +1,126 @@ +LightProbePlane(LightProbe) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`LightProbe` + +.. class:: LightProbePlane(LightProbe) + + Light probe that captures incoming light from a single direction on a plane + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`LightProbe.type` + - :class:`LightProbe.clip_start` + - :class:`LightProbe.show_clip` + - :class:`LightProbe.show_influence` + - :class:`LightProbe.influence_distance` + - :class:`LightProbe.visibility_buffer_bias` + - :class:`LightProbe.visibility_bleed_bias` + - :class:`LightProbe.visibility_blur` + - :class:`LightProbe.visibility_collection` + - :class:`LightProbe.invert_visibility_collection` + - :class:`LightProbe.show_data` + - :class:`LightProbe.use_data_display` + - :class:`LightProbe.data_display_size` + - :class:`LightProbe.animation_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`LightProbe.bl_rna_get_subclass` + - :class:`LightProbe.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbeSphere.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbeSphere.rst new file mode 100644 index 0000000..10a2efa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbeSphere.rst @@ -0,0 +1,168 @@ +LightProbeSphere(LightProbe) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`LightProbe` + +.. class:: LightProbeSphere(LightProbe) + + Light probe that captures precise lighting from all directions at a single point in space + + .. attribute:: clip_end + + Probe clip end, beyond which objects will not appear in reflections (in [1e-06, inf], default 20.0) + + :type: float + + .. attribute:: falloff + + Control how fast the probe influence decreases (in [0, 1], default 0.2) + + :type: float + + .. attribute:: influence_type + + Type of influence volume (default ``'ELIPSOID'``) + + :type: Literal['ELIPSOID', 'BOX'] + + .. attribute:: parallax_distance + + Lowest corner of the parallax bounding box (in [0, inf], default 2.5) + + :type: float + + .. attribute:: parallax_type + + Type of parallax volume (default ``'ELIPSOID'``) + + :type: Literal['ELIPSOID', 'BOX'] + + .. attribute:: show_parallax + + Show the parallax correction volume in the 3D view (default False) + + :type: bool + + .. attribute:: use_custom_parallax + + Enable custom settings for the parallax correction volume (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`LightProbe.type` + - :class:`LightProbe.clip_start` + - :class:`LightProbe.show_clip` + - :class:`LightProbe.show_influence` + - :class:`LightProbe.influence_distance` + - :class:`LightProbe.visibility_buffer_bias` + - :class:`LightProbe.visibility_bleed_bias` + - :class:`LightProbe.visibility_blur` + - :class:`LightProbe.visibility_collection` + - :class:`LightProbe.invert_visibility_collection` + - :class:`LightProbe.show_data` + - :class:`LightProbe.use_data_display` + - :class:`LightProbe.data_display_size` + - :class:`LightProbe.animation_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`LightProbe.bl_rna_get_subclass` + - :class:`LightProbe.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbeVolume.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbeVolume.rst new file mode 100644 index 0000000..87646eb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LightProbeVolume.rst @@ -0,0 +1,246 @@ +LightProbeVolume(LightProbe) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`LightProbe` + +.. class:: LightProbeVolume(LightProbe) + + Light probe that captures low frequency lighting inside a volume + + .. attribute:: bake_samples + + Number of ray directions to evaluate when baking (in [1, inf], default 2048) + + :type: int + + .. attribute:: capture_distance + + Distance around the probe volume that will be considered during the bake (in [1e-06, inf], default 20.0) + + :type: float + + .. attribute:: capture_emission + + Bake emissive surfaces for more accurate lighting (default True) + + :type: bool + + .. attribute:: capture_indirect + + Bake light bounces from light sources for more accurate lighting (default True) + + :type: bool + + .. attribute:: capture_world + + Bake incoming light from the world instead of just the visibility for more accurate lighting, but lose correct blending to surrounding irradiance volumes (default False) + + :type: bool + + .. attribute:: clamp_direct + + Clamp the direct lighting intensity to reduce noise (0 to disable) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: clamp_indirect + + Clamp the indirect lighting intensity to reduce noise (0 to disable) (in [0, inf], default 10.0) + + :type: float + + .. attribute:: dilation_radius + + Radius in grid sample to search valid grid samples to copy into invalid grid samples (in [1, 5], default 1.0) + + :type: float + + .. attribute:: dilation_threshold + + Ratio of front-facing surface hits under which a grid sample will reuse neighbors grid sample lighting (in [0, 1], default 0.5) + + :type: float + + .. attribute:: escape_bias + + Distance to search for valid capture positions to prevent lighting artifacts (in [0, 1], default 0.1) + + :type: float + + .. attribute:: facing_bias + + Smoother irradiance interpolation but introduce light bleeding (in [0, inf], default 0.5) + + :type: float + + .. attribute:: intensity + + Modify the intensity of the lighting captured by this probe (in [0, inf], default 1.0) + + :type: float + + .. attribute:: normal_bias + + Offset sampling of the irradiance grid in the surface normal direction to reduce light bleeding (in [0, inf], default 0.3) + + :type: float + + .. attribute:: resolution_x + + Number of samples along the x axis of the volume (in [1, 256], default 4) + + :type: int + + .. attribute:: resolution_y + + Number of samples along the y axis of the volume (in [1, 256], default 4) + + :type: int + + .. attribute:: resolution_z + + Number of samples along the z axis of the volume (in [1, 256], default 4) + + :type: int + + .. attribute:: surface_bias + + Moves capture points away from surfaces to prevent artifacts (in [0, 1], default 0.05) + + :type: float + + .. attribute:: surfel_density + + Number of surfels to spawn in one local unit distance (higher values improve quality) (in [1, inf], default 20) + + :type: int + + .. attribute:: validity_threshold + + Ratio of front-facing surface hits under which a grid sample will not be considered for lighting (in [0, 1], default 0.4) + + :type: float + + .. attribute:: view_bias + + Offset sampling of the irradiance grid in the viewing direction to reduce light bleeding (in [0, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`LightProbe.type` + - :class:`LightProbe.clip_start` + - :class:`LightProbe.show_clip` + - :class:`LightProbe.show_influence` + - :class:`LightProbe.influence_distance` + - :class:`LightProbe.visibility_buffer_bias` + - :class:`LightProbe.visibility_bleed_bias` + - :class:`LightProbe.visibility_blur` + - :class:`LightProbe.visibility_collection` + - :class:`LightProbe.invert_visibility_collection` + - :class:`LightProbe.show_data` + - :class:`LightProbe.use_data_display` + - :class:`LightProbe.data_display_size` + - :class:`LightProbe.animation_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`LightProbe.bl_rna_get_subclass` + - :class:`LightProbe.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Lightgroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Lightgroup.rst new file mode 100644 index 0000000..2f8e92b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Lightgroup.rst @@ -0,0 +1,86 @@ +Lightgroup(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Lightgroup(bpy_struct) + + + .. attribute:: name + + Name of the Lightgroup (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Lightgroups.add` + - :class:`Lightgroups.remove` + - :class:`ViewLayer.active_lightgroup` + - :class:`ViewLayer.lightgroups` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Lightgroups.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Lightgroups.rst new file mode 100644 index 0000000..262a0cb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Lightgroups.rst @@ -0,0 +1,94 @@ +Lightgroups(bpy_prop_collection) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: Lightgroups(bpy_prop_collection) + + Collection of Lightgroups + + .. method:: add(*, name="") + + add + + :param name: Name, Name of newly created lightgroup (optional, never None) + :type name: str + :return: Newly created Lightgroup + :rtype: :class:`Lightgroup` + + .. method:: remove(lightgroup) + + Remove given light group + + :param lightgroup: Lightgroup to remove (never None) + :type lightgroup: :class:`Lightgroup` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ViewLayer.lightgroups` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitDistanceConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitDistanceConstraint.rst new file mode 100644 index 0000000..ea1eb2f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitDistanceConstraint.rst @@ -0,0 +1,136 @@ +LimitDistanceConstraint(Constraint) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: LimitDistanceConstraint(Constraint) + + Limit the distance from target object + + .. attribute:: distance + + Radius of limiting sphere (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: head_tail + + Target along length of bone: Head is 0, Tail is 1 (in [0, 1], default 0.0) + + :type: float + + .. attribute:: limit_mode + + Distances in relation to sphere of influence to allow (default ``'LIMITDIST_INSIDE'``) + + - ``LIMITDIST_INSIDE`` + Inside -- The object is constrained inside a virtual sphere around the target object, with a radius defined by the limit distance. + - ``LIMITDIST_OUTSIDE`` + Outside -- The object is constrained outside a virtual sphere around the target object, with a radius defined by the limit distance. + - ``LIMITDIST_ONSURFACE`` + On Surface -- The object is constrained on the surface of a virtual sphere around the target object, with a radius defined by the limit distance. + + :type: Literal['LIMITDIST_INSIDE', 'LIMITDIST_OUTSIDE', 'LIMITDIST_ONSURFACE'] + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: use_bbone_shape + + Follow shape of B-Bone segments when calculating Head/Tail position (default False) + + :type: bool + + .. attribute:: use_transform_limit + + Transforms are affected by this constraint as well (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitLocationConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitLocationConstraint.rst new file mode 100644 index 0000000..09297c3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitLocationConstraint.rst @@ -0,0 +1,165 @@ +LimitLocationConstraint(Constraint) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: LimitLocationConstraint(Constraint) + + Limit the location of the constrained object + + .. attribute:: max_x + + Highest X value to allow (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_y + + Highest Y value to allow (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_z + + Highest Z value to allow (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_x + + Lowest X value to allow (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_y + + Lowest Y value to allow (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_z + + Lowest Z value to allow (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: use_max_x + + Use the maximum X value (default False) + + :type: bool + + .. attribute:: use_max_y + + Use the maximum Y value (default False) + + :type: bool + + .. attribute:: use_max_z + + Use the maximum Z value (default False) + + :type: bool + + .. attribute:: use_min_x + + Use the minimum X value (default False) + + :type: bool + + .. attribute:: use_min_y + + Use the minimum Y value (default False) + + :type: bool + + .. attribute:: use_min_z + + Use the minimum Z value (default False) + + :type: bool + + .. attribute:: use_transform_limit + + Transform tools are affected by this constraint as well (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitRotationConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitRotationConstraint.rst new file mode 100644 index 0000000..e33aacc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitRotationConstraint.rst @@ -0,0 +1,174 @@ +LimitRotationConstraint(Constraint) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: LimitRotationConstraint(Constraint) + + Limit the rotation of the constrained object + + .. attribute:: euler_order + + Explicitly specify the euler rotation order (default ``'AUTO'``) + + - ``AUTO`` + Default -- Euler using the default rotation order. + - ``XYZ`` + XYZ Euler -- Euler using the XYZ rotation order. + - ``XZY`` + XZY Euler -- Euler using the XZY rotation order. + - ``YXZ`` + YXZ Euler -- Euler using the YXZ rotation order. + - ``YZX`` + YZX Euler -- Euler using the YZX rotation order. + - ``ZXY`` + ZXY Euler -- Euler using the ZXY rotation order. + - ``ZYX`` + ZYX Euler -- Euler using the ZYX rotation order. + + :type: Literal['AUTO', 'XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'] + + .. attribute:: max_x + + Upper X angle bound (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: max_y + + Upper Y angle bound (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: max_z + + Upper Z angle bound (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: min_x + + Lower X angle bound (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: min_y + + Lower Y angle bound (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: min_z + + Lower Z angle bound (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: use_legacy_behavior + + Use the old semi-broken behavior that does not understand that rotations loop around (default False) + + :type: bool + + .. attribute:: use_limit_x + + Use the minimum X value (default False) + + :type: bool + + .. attribute:: use_limit_y + + Use the minimum Y value (default False) + + :type: bool + + .. attribute:: use_limit_z + + Use the minimum Z value (default False) + + :type: bool + + .. attribute:: use_transform_limit + + Transform tools are affected by this constraint as well (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitScaleConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitScaleConstraint.rst new file mode 100644 index 0000000..e981c1b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LimitScaleConstraint.rst @@ -0,0 +1,165 @@ +LimitScaleConstraint(Constraint) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: LimitScaleConstraint(Constraint) + + Limit the scaling of the constrained object + + .. attribute:: max_x + + Highest X value to allow (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: max_y + + Highest Y value to allow (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: max_z + + Highest Z value to allow (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: min_x + + Lowest X value to allow (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: min_y + + Lowest Y value to allow (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: min_z + + Lowest Z value to allow (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: use_max_x + + Use the maximum X value (default False) + + :type: bool + + .. attribute:: use_max_y + + Use the maximum Y value (default False) + + :type: bool + + .. attribute:: use_max_z + + Use the maximum Z value (default False) + + :type: bool + + .. attribute:: use_min_x + + Use the minimum X value (default False) + + :type: bool + + .. attribute:: use_min_y + + Use the minimum Y value (default False) + + :type: bool + + .. attribute:: use_min_z + + Use the minimum Z value (default False) + + :type: bool + + .. attribute:: use_transform_limit + + Transform tools are affected by this constraint as well (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier.rst new file mode 100644 index 0000000..1c8f20e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier.rst @@ -0,0 +1,91 @@ +LineStyleAlphaModifier(LineStyleModifier) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier` + +subclasses --- +:class:`LineStyleAlphaModifier_AlongStroke`, :class:`LineStyleAlphaModifier_CreaseAngle`, :class:`LineStyleAlphaModifier_Curvature_3D`, :class:`LineStyleAlphaModifier_DistanceFromCamera`, :class:`LineStyleAlphaModifier_DistanceFromObject`, :class:`LineStyleAlphaModifier_Material`, :class:`LineStyleAlphaModifier_Noise`, :class:`LineStyleAlphaModifier_Tangent` + +.. class:: LineStyleAlphaModifier(LineStyleModifier) + + Base type to define alpha transparency modifiers + + .. attribute:: name + + Name of the modifier (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleLineStyle.alpha_modifiers` + - :class:`LineStyleAlphaModifiers.new` + - :class:`LineStyleAlphaModifiers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_AlongStroke.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_AlongStroke.rst new file mode 100644 index 0000000..7777cb7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_AlongStroke.rst @@ -0,0 +1,128 @@ +LineStyleAlphaModifier_AlongStroke(LineStyleAlphaModifier) +========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleAlphaModifier` + +.. class:: LineStyleAlphaModifier_AlongStroke(LineStyleAlphaModifier) + + Change alpha transparency along stroke + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_alpha_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleAlphaModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_CreaseAngle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_CreaseAngle.rst new file mode 100644 index 0000000..093c0fe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_CreaseAngle.rst @@ -0,0 +1,140 @@ +LineStyleAlphaModifier_CreaseAngle(LineStyleAlphaModifier) +========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleAlphaModifier` + +.. class:: LineStyleAlphaModifier_CreaseAngle(LineStyleAlphaModifier) + + Alpha transparency based on the angle between two adjacent faces + + .. attribute:: angle_max + + Maximum angle to modify thickness (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: angle_min + + Minimum angle to modify thickness (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_alpha_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleAlphaModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Curvature_3D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Curvature_3D.rst new file mode 100644 index 0000000..a1c5de5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Curvature_3D.rst @@ -0,0 +1,140 @@ +LineStyleAlphaModifier_Curvature_3D(LineStyleAlphaModifier) +=========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleAlphaModifier` + +.. class:: LineStyleAlphaModifier_Curvature_3D(LineStyleAlphaModifier) + + Alpha transparency based on the radial curvature of 3D mesh surfaces + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. attribute:: curvature_max + + Maximum Curvature (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: curvature_min + + Minimum Curvature (in [0, 10000], default 0.0) + + :type: float + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_alpha_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleAlphaModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_DistanceFromCamera.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_DistanceFromCamera.rst new file mode 100644 index 0000000..cb67c4a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_DistanceFromCamera.rst @@ -0,0 +1,140 @@ +LineStyleAlphaModifier_DistanceFromCamera(LineStyleAlphaModifier) +================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleAlphaModifier` + +.. class:: LineStyleAlphaModifier_DistanceFromCamera(LineStyleAlphaModifier) + + Change alpha transparency based on the distance from the camera + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. attribute:: range_max + + Upper bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: range_min + + Lower bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_alpha_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleAlphaModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_DistanceFromObject.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_DistanceFromObject.rst new file mode 100644 index 0000000..754db08 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_DistanceFromObject.rst @@ -0,0 +1,146 @@ +LineStyleAlphaModifier_DistanceFromObject(LineStyleAlphaModifier) +================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleAlphaModifier` + +.. class:: LineStyleAlphaModifier_DistanceFromObject(LineStyleAlphaModifier) + + Change alpha transparency based on the distance from an object + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. attribute:: range_max + + Upper bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: range_min + + Lower bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: target + + Target object from which the distance is measured + + :type: :class:`Object` | None + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_alpha_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleAlphaModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Material.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Material.rst new file mode 100644 index 0000000..7ca9f2b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Material.rst @@ -0,0 +1,134 @@ +LineStyleAlphaModifier_Material(LineStyleAlphaModifier) +======================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleAlphaModifier` + +.. class:: LineStyleAlphaModifier_Material(LineStyleAlphaModifier) + + Change alpha transparency based on a material attribute + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. attribute:: material_attribute + + Specify which material attribute is used (default ``'LINE'``) + + :type: Literal['LINE', 'LINE_R', 'LINE_G', 'LINE_B', 'LINE_A', 'DIFF', 'DIFF_R', 'DIFF_G', 'DIFF_B', 'SPEC', 'SPEC_R', 'SPEC_G', 'SPEC_B', 'SPEC_HARD', 'ALPHA'] + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_alpha_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleAlphaModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Noise.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Noise.rst new file mode 100644 index 0000000..22fdc21 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Noise.rst @@ -0,0 +1,146 @@ +LineStyleAlphaModifier_Noise(LineStyleAlphaModifier) +==================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleAlphaModifier` + +.. class:: LineStyleAlphaModifier_Noise(LineStyleAlphaModifier) + + Alpha transparency based on random noise + + .. attribute:: amplitude + + Amplitude of the noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. attribute:: period + + Period of the noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: seed + + Seed for the noise generation (in [1, 32767], default 0) + + :type: int + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_alpha_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleAlphaModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Tangent.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Tangent.rst new file mode 100644 index 0000000..58d00a1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifier_Tangent.rst @@ -0,0 +1,128 @@ +LineStyleAlphaModifier_Tangent(LineStyleAlphaModifier) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleAlphaModifier` + +.. class:: LineStyleAlphaModifier_Tangent(LineStyleAlphaModifier) + + Alpha transparency based on the direction of the stroke + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_alpha_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleAlphaModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass` + - :class:`LineStyleAlphaModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifiers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifiers.rst new file mode 100644 index 0000000..7c6fc74 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleAlphaModifiers.rst @@ -0,0 +1,96 @@ +LineStyleAlphaModifiers(bpy_prop_collection) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: LineStyleAlphaModifiers(bpy_prop_collection) + + Alpha modifiers for changing line alphas + + .. method:: new(name, type) + + Add a alpha modifier to line style + + :param name: New name for the alpha modifier (not unique) (never None) + :type name: str + :param type: Alpha modifier type to add + :type type: Literal[:ref:`rna_enum_linestyle_alpha_modifier_type_items`] + :return: Newly added alpha modifier + :rtype: :class:`LineStyleAlphaModifier` + + .. method:: remove(modifier) + + Remove a alpha modifier from line style + + :param modifier: Alpha modifier to remove (never None) + :type modifier: :class:`LineStyleAlphaModifier` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleLineStyle.alpha_modifiers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier.rst new file mode 100644 index 0000000..485ee93 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier.rst @@ -0,0 +1,91 @@ +LineStyleColorModifier(LineStyleModifier) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier` + +subclasses --- +:class:`LineStyleColorModifier_AlongStroke`, :class:`LineStyleColorModifier_CreaseAngle`, :class:`LineStyleColorModifier_Curvature_3D`, :class:`LineStyleColorModifier_DistanceFromCamera`, :class:`LineStyleColorModifier_DistanceFromObject`, :class:`LineStyleColorModifier_Material`, :class:`LineStyleColorModifier_Noise`, :class:`LineStyleColorModifier_Tangent` + +.. class:: LineStyleColorModifier(LineStyleModifier) + + Base type to define line color modifiers + + .. attribute:: name + + Name of the modifier (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleLineStyle.color_modifiers` + - :class:`LineStyleColorModifiers.new` + - :class:`LineStyleColorModifiers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_AlongStroke.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_AlongStroke.rst new file mode 100644 index 0000000..b05f171 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_AlongStroke.rst @@ -0,0 +1,111 @@ +LineStyleColorModifier_AlongStroke(LineStyleColorModifier) +========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleColorModifier` + +.. class:: LineStyleColorModifier_AlongStroke(LineStyleColorModifier) + + Change line color along stroke + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. data:: color_ramp + + Color ramp used to change line color (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_color_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleColorModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleColorModifier.bl_rna_get_subclass` + - :class:`LineStyleColorModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_CreaseAngle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_CreaseAngle.rst new file mode 100644 index 0000000..841ab79 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_CreaseAngle.rst @@ -0,0 +1,123 @@ +LineStyleColorModifier_CreaseAngle(LineStyleColorModifier) +========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleColorModifier` + +.. class:: LineStyleColorModifier_CreaseAngle(LineStyleColorModifier) + + Change line color based on the underlying crease angle + + .. attribute:: angle_max + + Maximum angle to modify thickness (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: angle_min + + Minimum angle to modify thickness (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. data:: color_ramp + + Color ramp used to change line color (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_color_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleColorModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleColorModifier.bl_rna_get_subclass` + - :class:`LineStyleColorModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Curvature_3D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Curvature_3D.rst new file mode 100644 index 0000000..6e54689 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Curvature_3D.rst @@ -0,0 +1,123 @@ +LineStyleColorModifier_Curvature_3D(LineStyleColorModifier) +=========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleColorModifier` + +.. class:: LineStyleColorModifier_Curvature_3D(LineStyleColorModifier) + + Change line color based on the radial curvature of 3D mesh surfaces + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. data:: color_ramp + + Color ramp used to change line color (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: curvature_max + + Maximum Curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: curvature_min + + Minimum Curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_color_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleColorModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleColorModifier.bl_rna_get_subclass` + - :class:`LineStyleColorModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_DistanceFromCamera.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_DistanceFromCamera.rst new file mode 100644 index 0000000..04170c5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_DistanceFromCamera.rst @@ -0,0 +1,123 @@ +LineStyleColorModifier_DistanceFromCamera(LineStyleColorModifier) +================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleColorModifier` + +.. class:: LineStyleColorModifier_DistanceFromCamera(LineStyleColorModifier) + + Change line color based on the distance from the camera + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. data:: color_ramp + + Color ramp used to change line color (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: range_max + + Upper bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: range_min + + Lower bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_color_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleColorModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleColorModifier.bl_rna_get_subclass` + - :class:`LineStyleColorModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_DistanceFromObject.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_DistanceFromObject.rst new file mode 100644 index 0000000..6b6cac0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_DistanceFromObject.rst @@ -0,0 +1,129 @@ +LineStyleColorModifier_DistanceFromObject(LineStyleColorModifier) +================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleColorModifier` + +.. class:: LineStyleColorModifier_DistanceFromObject(LineStyleColorModifier) + + Change line color based on the distance from an object + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. data:: color_ramp + + Color ramp used to change line color (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: range_max + + Upper bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: range_min + + Lower bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: target + + Target object from which the distance is measured + + :type: :class:`Object` | None + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_color_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleColorModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleColorModifier.bl_rna_get_subclass` + - :class:`LineStyleColorModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Material.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Material.rst new file mode 100644 index 0000000..52f1096 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Material.rst @@ -0,0 +1,123 @@ +LineStyleColorModifier_Material(LineStyleColorModifier) +======================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleColorModifier` + +.. class:: LineStyleColorModifier_Material(LineStyleColorModifier) + + Change line color based on a material attribute + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. data:: color_ramp + + Color ramp used to change line color (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: material_attribute + + Specify which material attribute is used (default ``'LINE'``) + + :type: Literal['LINE', 'LINE_R', 'LINE_G', 'LINE_B', 'LINE_A', 'DIFF', 'DIFF_R', 'DIFF_G', 'DIFF_B', 'SPEC', 'SPEC_R', 'SPEC_G', 'SPEC_B', 'SPEC_HARD', 'ALPHA'] + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_color_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. attribute:: use_ramp + + Use color ramp to map the BW average into an RGB color (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleColorModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleColorModifier.bl_rna_get_subclass` + - :class:`LineStyleColorModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Noise.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Noise.rst new file mode 100644 index 0000000..af442c6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Noise.rst @@ -0,0 +1,129 @@ +LineStyleColorModifier_Noise(LineStyleColorModifier) +==================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleColorModifier` + +.. class:: LineStyleColorModifier_Noise(LineStyleColorModifier) + + Change line color based on random noise + + .. attribute:: amplitude + + Amplitude of the noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. data:: color_ramp + + Color ramp used to change line color (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: period + + Period of the noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: seed + + Seed for the noise generation (in [1, 32767], default 0) + + :type: int + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_color_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleColorModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleColorModifier.bl_rna_get_subclass` + - :class:`LineStyleColorModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Tangent.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Tangent.rst new file mode 100644 index 0000000..7fa60d2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifier_Tangent.rst @@ -0,0 +1,111 @@ +LineStyleColorModifier_Tangent(LineStyleColorModifier) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleColorModifier` + +.. class:: LineStyleColorModifier_Tangent(LineStyleColorModifier) + + Change line color based on the direction of a stroke + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. data:: color_ramp + + Color ramp used to change line color (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_color_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleColorModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleColorModifier.bl_rna_get_subclass` + - :class:`LineStyleColorModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifiers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifiers.rst new file mode 100644 index 0000000..1541542 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleColorModifiers.rst @@ -0,0 +1,96 @@ +LineStyleColorModifiers(bpy_prop_collection) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: LineStyleColorModifiers(bpy_prop_collection) + + Color modifiers for changing line colors + + .. method:: new(name, type) + + Add a color modifier to line style + + :param name: New name for the color modifier (not unique) (never None) + :type name: str + :param type: Color modifier type to add + :type type: Literal[:ref:`rna_enum_linestyle_color_modifier_type_items`] + :return: Newly added color modifier + :rtype: :class:`LineStyleColorModifier` + + .. method:: remove(modifier) + + Remove a color modifier from line style + + :param modifier: Color modifier to remove (never None) + :type modifier: :class:`LineStyleColorModifier` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleLineStyle.color_modifiers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier.rst new file mode 100644 index 0000000..b2f7d34 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier.rst @@ -0,0 +1,91 @@ +LineStyleGeometryModifier(LineStyleModifier) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier` + +subclasses --- +:class:`LineStyleGeometryModifier_2DOffset`, :class:`LineStyleGeometryModifier_2DTransform`, :class:`LineStyleGeometryModifier_BackboneStretcher`, :class:`LineStyleGeometryModifier_BezierCurve`, :class:`LineStyleGeometryModifier_Blueprint`, :class:`LineStyleGeometryModifier_GuidingLines`, :class:`LineStyleGeometryModifier_PerlinNoise1D`, :class:`LineStyleGeometryModifier_PerlinNoise2D`, :class:`LineStyleGeometryModifier_Polygonalization`, :class:`LineStyleGeometryModifier_Sampling`, :class:`LineStyleGeometryModifier_Simplification`, :class:`LineStyleGeometryModifier_SinusDisplacement`, :class:`LineStyleGeometryModifier_SpatialNoise`, :class:`LineStyleGeometryModifier_TipRemover` + +.. class:: LineStyleGeometryModifier(LineStyleModifier) + + Base type to define stroke geometry modifiers + + .. attribute:: name + + Name of the modifier (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleLineStyle.geometry_modifiers` + - :class:`LineStyleGeometryModifiers.new` + - :class:`LineStyleGeometryModifiers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_2DOffset.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_2DOffset.rst new file mode 100644 index 0000000..1ac7299 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_2DOffset.rst @@ -0,0 +1,117 @@ +LineStyleGeometryModifier_2DOffset(LineStyleGeometryModifier) +============================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_2DOffset(LineStyleGeometryModifier) + + Add two-dimensional offsets to stroke backbone geometry + + .. attribute:: end + + Displacement that is applied from the end of the stroke (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: start + + Displacement that is applied from the beginning of the stroke (in [-inf, inf], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. attribute:: x + + Displacement that is applied to the X coordinates of stroke vertices (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: y + + Displacement that is applied to the Y coordinates of stroke vertices (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_2DTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_2DTransform.rst new file mode 100644 index 0000000..0573559 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_2DTransform.rst @@ -0,0 +1,135 @@ +LineStyleGeometryModifier_2DTransform(LineStyleGeometryModifier) +================================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_2DTransform(LineStyleGeometryModifier) + + Apply two-dimensional scaling and rotation to stroke backbone geometry + + .. attribute:: angle + + Rotation angle (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: pivot + + Pivot of scaling and rotation operations (default ``'CENTER'``) + + :type: Literal['CENTER', 'START', 'END', 'PARAM', 'ABSOLUTE'] + + .. attribute:: pivot_u + + Pivot in terms of the stroke point parameter u (0 <= u <= 1) (in [0, 1], default 0.0) + + :type: float + + .. attribute:: pivot_x + + 2D X coordinate of the absolute pivot (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: pivot_y + + 2D Y coordinate of the absolute pivot (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: scale_x + + Scaling factor that is applied along the X axis (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: scale_y + + Scaling factor that is applied along the Y axis (in [-inf, inf], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_BackboneStretcher.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_BackboneStretcher.rst new file mode 100644 index 0000000..09acc86 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_BackboneStretcher.rst @@ -0,0 +1,99 @@ +LineStyleGeometryModifier_BackboneStretcher(LineStyleGeometryModifier) +====================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_BackboneStretcher(LineStyleGeometryModifier) + + Stretch the beginning and the end of stroke backbone + + .. attribute:: backbone_length + + Amount of backbone stretching (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_BezierCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_BezierCurve.rst new file mode 100644 index 0000000..f5a6103 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_BezierCurve.rst @@ -0,0 +1,99 @@ +LineStyleGeometryModifier_BezierCurve(LineStyleGeometryModifier) +================================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_BezierCurve(LineStyleGeometryModifier) + + Replace stroke backbone geometry by a Bézier curve approximation of the original backbone geometry + + .. attribute:: error + + Maximum distance allowed between the new Bézier curve and the original backbone geometry (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Blueprint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Blueprint.rst new file mode 100644 index 0000000..3607959 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Blueprint.rst @@ -0,0 +1,136 @@ +LineStyleGeometryModifier_Blueprint(LineStyleGeometryModifier) +============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_Blueprint(LineStyleGeometryModifier) + + Produce a blueprint using circular, elliptic, and square contour strokes + + .. attribute:: backbone_length + + Amount of backbone stretching (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: random_backbone + + Randomness of the backbone stretching (in [0, inf], default 0) + + :type: int + + .. attribute:: random_center + + Randomness of the center (in [0, inf], default 0) + + :type: int + + .. attribute:: random_radius + + Randomness of the radius (in [0, inf], default 0) + + :type: int + + .. attribute:: rounds + + Number of rounds in contour strokes (in [1, 1000], default 0) + + :type: int + + .. attribute:: shape + + Select the shape of blueprint contour strokes (default ``'CIRCLES'``) + + - ``CIRCLES`` + Circles -- Draw a blueprint using circular contour strokes. + - ``ELLIPSES`` + Ellipses -- Draw a blueprint using elliptic contour strokes. + - ``SQUARES`` + Squares -- Draw a blueprint using square contour strokes. + + :type: Literal['CIRCLES', 'ELLIPSES', 'SQUARES'] + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_GuidingLines.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_GuidingLines.rst new file mode 100644 index 0000000..134e390 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_GuidingLines.rst @@ -0,0 +1,99 @@ +LineStyleGeometryModifier_GuidingLines(LineStyleGeometryModifier) +================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_GuidingLines(LineStyleGeometryModifier) + + Modify the stroke geometry so that it corresponds to its main direction line + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: offset + + Displacement that is applied to the main direction line along its normal (in [-inf, inf], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_PerlinNoise1D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_PerlinNoise1D.rst new file mode 100644 index 0000000..1ea1ef1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_PerlinNoise1D.rst @@ -0,0 +1,123 @@ +LineStyleGeometryModifier_PerlinNoise1D(LineStyleGeometryModifier) +================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_PerlinNoise1D(LineStyleGeometryModifier) + + Add one-dimensional Perlin noise to stroke backbone geometry + + .. attribute:: amplitude + + Amplitude of the Perlin noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: angle + + Displacement direction (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: frequency + + Frequency of the Perlin noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: octaves + + Number of octaves (i.e., the amount of detail of the Perlin noise) (in [0, inf], default 0) + + :type: int + + .. attribute:: seed + + Seed for random number generation (if negative, time is used as a seed instead) (in [-inf, inf], default 0) + + :type: int + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_PerlinNoise2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_PerlinNoise2D.rst new file mode 100644 index 0000000..e55e876 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_PerlinNoise2D.rst @@ -0,0 +1,123 @@ +LineStyleGeometryModifier_PerlinNoise2D(LineStyleGeometryModifier) +================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_PerlinNoise2D(LineStyleGeometryModifier) + + Add two-dimensional Perlin noise to stroke backbone geometry + + .. attribute:: amplitude + + Amplitude of the Perlin noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: angle + + Displacement direction (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: frequency + + Frequency of the Perlin noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: octaves + + Number of octaves (i.e., the amount of detail of the Perlin noise) (in [0, inf], default 0) + + :type: int + + .. attribute:: seed + + Seed for random number generation (if negative, time is used as a seed instead) (in [-inf, inf], default 0) + + :type: int + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Polygonalization.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Polygonalization.rst new file mode 100644 index 0000000..da180c0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Polygonalization.rst @@ -0,0 +1,99 @@ +LineStyleGeometryModifier_Polygonalization(LineStyleGeometryModifier) +===================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_Polygonalization(LineStyleGeometryModifier) + + Modify the stroke geometry so that it looks more 'polygonal' + + .. attribute:: error + + Maximum distance between the original stroke and its polygonal approximation (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Sampling.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Sampling.rst new file mode 100644 index 0000000..6cf884a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Sampling.rst @@ -0,0 +1,99 @@ +LineStyleGeometryModifier_Sampling(LineStyleGeometryModifier) +============================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_Sampling(LineStyleGeometryModifier) + + Specify a new sampling value that determines the resolution of stroke polylines + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: sampling + + New sampling value to be used for subsequent modifiers (in [0, 10000], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Simplification.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Simplification.rst new file mode 100644 index 0000000..748065f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_Simplification.rst @@ -0,0 +1,99 @@ +LineStyleGeometryModifier_Simplification(LineStyleGeometryModifier) +=================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_Simplification(LineStyleGeometryModifier) + + Simplify the stroke set + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: tolerance + + Distance below which segments will be merged (in [-inf, inf], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_SinusDisplacement.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_SinusDisplacement.rst new file mode 100644 index 0000000..4842a03 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_SinusDisplacement.rst @@ -0,0 +1,111 @@ +LineStyleGeometryModifier_SinusDisplacement(LineStyleGeometryModifier) +====================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_SinusDisplacement(LineStyleGeometryModifier) + + Add sinus displacement to stroke backbone geometry + + .. attribute:: amplitude + + Amplitude of the sinus displacement (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: phase + + Phase of the sinus displacement (in [-inf, inf], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. attribute:: wavelength + + Wavelength of the sinus displacement (in [0.0001, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_SpatialNoise.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_SpatialNoise.rst new file mode 100644 index 0000000..f9e23ca --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_SpatialNoise.rst @@ -0,0 +1,123 @@ +LineStyleGeometryModifier_SpatialNoise(LineStyleGeometryModifier) +================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_SpatialNoise(LineStyleGeometryModifier) + + Add spatial noise to stroke backbone geometry + + .. attribute:: amplitude + + Amplitude of the spatial noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: octaves + + Number of octaves (i.e., the amount of detail of the spatial noise) (in [0, inf], default 0) + + :type: int + + .. attribute:: scale + + Scale of the spatial noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: smooth + + If true, the spatial noise is smooth (default False) + + :type: bool + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. attribute:: use_pure_random + + If true, the spatial noise does not show any coherence (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_TipRemover.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_TipRemover.rst new file mode 100644 index 0000000..552e9db --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifier_TipRemover.rst @@ -0,0 +1,99 @@ +LineStyleGeometryModifier_TipRemover(LineStyleGeometryModifier) +=============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleGeometryModifier` + +.. class:: LineStyleGeometryModifier_TipRemover(LineStyleGeometryModifier) + + Remove a piece of stroke at the beginning and the end of stroke backbone + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: tip_length + + Length of tips to be removed (in [-inf, inf], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'2D_OFFSET'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleGeometryModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass` + - :class:`LineStyleGeometryModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifiers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifiers.rst new file mode 100644 index 0000000..38d1659 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleGeometryModifiers.rst @@ -0,0 +1,96 @@ +LineStyleGeometryModifiers(bpy_prop_collection) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: LineStyleGeometryModifiers(bpy_prop_collection) + + Geometry modifiers for changing line geometries + + .. method:: new(name, type) + + Add a geometry modifier to line style + + :param name: New name for the geometry modifier (not unique) (never None) + :type name: str + :param type: Geometry modifier type to add + :type type: Literal[:ref:`rna_enum_linestyle_geometry_modifier_type_items`] + :return: Newly added geometry modifier + :rtype: :class:`LineStyleGeometryModifier` + + .. method:: remove(modifier) + + Remove a geometry modifier from line style + + :param modifier: Geometry modifier to remove (never None) + :type modifier: :class:`LineStyleGeometryModifier` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleLineStyle.geometry_modifiers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleModifier.rst new file mode 100644 index 0000000..da19aaa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleModifier.rst @@ -0,0 +1,73 @@ +LineStyleModifier(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`LineStyleAlphaModifier`, :class:`LineStyleColorModifier`, :class:`LineStyleGeometryModifier`, :class:`LineStyleThicknessModifier` + +.. class:: LineStyleModifier(bpy_struct) + + Base type to define modifiers + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleTextureSlot.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleTextureSlot.rst new file mode 100644 index 0000000..e8f25ec --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleTextureSlot.rst @@ -0,0 +1,162 @@ +LineStyleTextureSlot(TextureSlot) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`TextureSlot` + +.. class:: LineStyleTextureSlot(TextureSlot) + + Texture slot for textures in a LineStyle data-block + + .. attribute:: alpha_factor + + Amount texture affects alpha (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: diffuse_color_factor + + Amount texture affects diffuse color (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: mapping + + (default ``'FLAT'``) + + - ``FLAT`` + Flat -- Map X and Y coordinates directly. + - ``CUBE`` + Cube -- Map using the normal vector. + - ``TUBE`` + Tube -- Map with Z as central axis. + - ``SPHERE`` + Sphere -- Map with Z as central axis. + + :type: Literal['FLAT', 'CUBE', 'TUBE', 'SPHERE'] + + .. attribute:: mapping_x + + (default ``'X'``) + + :type: Literal['NONE', 'X', 'Y', 'Z'] + + .. attribute:: mapping_y + + (default ``'Y'``) + + :type: Literal['NONE', 'X', 'Y', 'Z'] + + .. attribute:: mapping_z + + (default ``'Z'``) + + :type: Literal['NONE', 'X', 'Y', 'Z'] + + .. attribute:: texture_coords + + Texture coordinates used to map the texture onto the background (default ``'ALONG_STROKE'``) + + - ``WINDOW`` + Window -- Use screen coordinates as texture coordinates. + - ``GLOBAL`` + Global -- Use global coordinates for the texture coordinates. + - ``ALONG_STROKE`` + Along stroke -- Use stroke length for texture coordinates. + - ``ORCO`` + Generated -- Use the original undeformed coordinates of the object. + + :type: Literal['WINDOW', 'GLOBAL', 'ALONG_STROKE', 'ORCO'] + + .. attribute:: use_map_alpha + + The texture affects the alpha value (default False) + + :type: bool + + .. attribute:: use_map_color_diffuse + + The texture affects basic color of the stroke (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`TextureSlot.texture` + - :class:`TextureSlot.name` + - :class:`TextureSlot.offset` + - :class:`TextureSlot.scale` + - :class:`TextureSlot.color` + - :class:`TextureSlot.blend_type` + - :class:`TextureSlot.default_value` + - :class:`TextureSlot.output_node` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`TextureSlot.bl_rna_get_subclass` + - :class:`TextureSlot.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleLineStyle.texture_slots` + - :class:`LineStyleTextureSlots.add` + - :class:`LineStyleTextureSlots.create` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleTextureSlots.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleTextureSlots.rst new file mode 100644 index 0000000..d109554 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleTextureSlots.rst @@ -0,0 +1,101 @@ +LineStyleTextureSlots(bpy_prop_collection) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: LineStyleTextureSlots(bpy_prop_collection) + + Collection of texture slots + + .. classmethod:: add() + + add + + :return: The newly initialized mtex + :rtype: :class:`LineStyleTextureSlot` + + .. classmethod:: create(index) + + create + + :param index: Index, Slot index to initialize (in [0, inf]) + :type index: int + :return: The newly initialized mtex + :rtype: :class:`LineStyleTextureSlot` + + .. classmethod:: clear(index) + + clear + + :param index: Index, Slot index to clear (in [0, inf]) + :type index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleLineStyle.texture_slots` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier.rst new file mode 100644 index 0000000..ef35140 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier.rst @@ -0,0 +1,91 @@ +LineStyleThicknessModifier(LineStyleModifier) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier` + +subclasses --- +:class:`LineStyleThicknessModifier_AlongStroke`, :class:`LineStyleThicknessModifier_Calligraphy`, :class:`LineStyleThicknessModifier_CreaseAngle`, :class:`LineStyleThicknessModifier_Curvature_3D`, :class:`LineStyleThicknessModifier_DistanceFromCamera`, :class:`LineStyleThicknessModifier_DistanceFromObject`, :class:`LineStyleThicknessModifier_Material`, :class:`LineStyleThicknessModifier_Noise`, :class:`LineStyleThicknessModifier_Tangent` + +.. class:: LineStyleThicknessModifier(LineStyleModifier) + + Base type to define line thickness modifiers + + .. attribute:: name + + Name of the modifier (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleLineStyle.thickness_modifiers` + - :class:`LineStyleThicknessModifiers.new` + - :class:`LineStyleThicknessModifiers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_AlongStroke.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_AlongStroke.rst new file mode 100644 index 0000000..fd21e5c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_AlongStroke.rst @@ -0,0 +1,140 @@ +LineStyleThicknessModifier_AlongStroke(LineStyleThicknessModifier) +================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleThicknessModifier` + +.. class:: LineStyleThicknessModifier_AlongStroke(LineStyleThicknessModifier) + + Change line thickness along stroke + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_thickness_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. attribute:: value_max + + Maximum output value of the mapping (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: value_min + + Minimum output value of the mapping (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleThicknessModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Calligraphy.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Calligraphy.rst new file mode 100644 index 0000000..0c66b96 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Calligraphy.rst @@ -0,0 +1,123 @@ +LineStyleThicknessModifier_Calligraphy(LineStyleThicknessModifier) +================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleThicknessModifier` + +.. class:: LineStyleThicknessModifier_Calligraphy(LineStyleThicknessModifier) + + Change line thickness so that stroke looks like made with a calligraphic pen + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: orientation + + Angle of the main direction (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: thickness_max + + Maximum thickness in the main direction (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: thickness_min + + Minimum thickness in the direction perpendicular to the main direction (in [0, 10000], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_thickness_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleThicknessModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_CreaseAngle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_CreaseAngle.rst new file mode 100644 index 0000000..aff13ca --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_CreaseAngle.rst @@ -0,0 +1,152 @@ +LineStyleThicknessModifier_CreaseAngle(LineStyleThicknessModifier) +================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleThicknessModifier` + +.. class:: LineStyleThicknessModifier_CreaseAngle(LineStyleThicknessModifier) + + Line thickness based on the angle between two adjacent faces + + .. attribute:: angle_max + + Maximum angle to modify thickness (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: angle_min + + Minimum angle to modify thickness (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. attribute:: thickness_max + + Maximum thickness (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: thickness_min + + Minimum thickness (in [0, 10000], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_thickness_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleThicknessModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Curvature_3D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Curvature_3D.rst new file mode 100644 index 0000000..53bf860 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Curvature_3D.rst @@ -0,0 +1,152 @@ +LineStyleThicknessModifier_Curvature_3D(LineStyleThicknessModifier) +=================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleThicknessModifier` + +.. class:: LineStyleThicknessModifier_Curvature_3D(LineStyleThicknessModifier) + + Line thickness based on the radial curvature of 3D mesh surfaces + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. attribute:: curvature_max + + Maximum Curvature (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: curvature_min + + Minimum Curvature (in [0, 10000], default 0.0) + + :type: float + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. attribute:: thickness_max + + Maximum thickness (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: thickness_min + + Minimum thickness (in [0, 10000], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_thickness_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleThicknessModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_DistanceFromCamera.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_DistanceFromCamera.rst new file mode 100644 index 0000000..ef1223c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_DistanceFromCamera.rst @@ -0,0 +1,152 @@ +LineStyleThicknessModifier_DistanceFromCamera(LineStyleThicknessModifier) +========================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleThicknessModifier` + +.. class:: LineStyleThicknessModifier_DistanceFromCamera(LineStyleThicknessModifier) + + Change line thickness based on the distance from the camera + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. attribute:: range_max + + Upper bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: range_min + + Lower bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_thickness_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. attribute:: value_max + + Maximum output value of the mapping (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: value_min + + Minimum output value of the mapping (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleThicknessModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_DistanceFromObject.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_DistanceFromObject.rst new file mode 100644 index 0000000..04f0206 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_DistanceFromObject.rst @@ -0,0 +1,158 @@ +LineStyleThicknessModifier_DistanceFromObject(LineStyleThicknessModifier) +========================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleThicknessModifier` + +.. class:: LineStyleThicknessModifier_DistanceFromObject(LineStyleThicknessModifier) + + Change line thickness based on the distance from an object + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. attribute:: range_max + + Upper bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: range_min + + Lower bound of the input range the mapping is applied (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: target + + Target object from which the distance is measured + + :type: :class:`Object` | None + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_thickness_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. attribute:: value_max + + Maximum output value of the mapping (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: value_min + + Minimum output value of the mapping (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleThicknessModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Material.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Material.rst new file mode 100644 index 0000000..25d8c32 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Material.rst @@ -0,0 +1,146 @@ +LineStyleThicknessModifier_Material(LineStyleThicknessModifier) +=============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleThicknessModifier` + +.. class:: LineStyleThicknessModifier_Material(LineStyleThicknessModifier) + + Change line thickness based on a material attribute + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. attribute:: material_attribute + + Specify which material attribute is used (default ``'LINE'``) + + :type: Literal['LINE', 'LINE_R', 'LINE_G', 'LINE_B', 'LINE_A', 'DIFF', 'DIFF_R', 'DIFF_G', 'DIFF_B', 'SPEC', 'SPEC_R', 'SPEC_G', 'SPEC_B', 'SPEC_HARD', 'ALPHA'] + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_thickness_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. attribute:: value_max + + Maximum output value of the mapping (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: value_min + + Minimum output value of the mapping (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleThicknessModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Noise.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Noise.rst new file mode 100644 index 0000000..3bf771a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Noise.rst @@ -0,0 +1,129 @@ +LineStyleThicknessModifier_Noise(LineStyleThicknessModifier) +============================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleThicknessModifier` + +.. class:: LineStyleThicknessModifier_Noise(LineStyleThicknessModifier) + + Line thickness based on random noise + + .. attribute:: amplitude + + Amplitude of the noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: period + + Period of the noise (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: seed + + Seed for the noise generation (in [1, 32767], default 0) + + :type: int + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_thickness_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. attribute:: use_asymmetric + + Allow thickness to be assigned asymmetrically (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleThicknessModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Tangent.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Tangent.rst new file mode 100644 index 0000000..b3e4db1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifier_Tangent.rst @@ -0,0 +1,140 @@ +LineStyleThicknessModifier_Tangent(LineStyleThicknessModifier) +============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`LineStyleModifier`, :class:`LineStyleThicknessModifier` + +.. class:: LineStyleThicknessModifier_Tangent(LineStyleThicknessModifier) + + Thickness based on the direction of the stroke + + .. attribute:: blend + + Specify how the modifier value is blended into the base value (default ``'MIX'``) + + :type: Literal['MIX', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE', 'DIFFERENCE', 'MINIMUM', 'MAXIMUM'] + + .. data:: curve + + Curve used for the curve mapping (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: expanded + + True if the modifier tab is expanded (default False) + + :type: bool + + .. attribute:: influence + + Influence factor by which the modifier changes the property (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert + + Invert the fade-out direction of the linear mapping (default False) + + :type: bool + + .. attribute:: mapping + + Select the mapping type (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Use linear mapping. + - ``CURVE`` + Curve -- Use curve mapping. + + :type: Literal['LINEAR', 'CURVE'] + + .. attribute:: thickness_max + + Maximum thickness (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: thickness_min + + Minimum thickness (in [0, 10000], default 0.0) + + :type: float + + .. data:: type + + Type of the modifier (default ``'ALONG_STROKE'``, readonly) + + :type: Literal[:ref:`rna_enum_linestyle_thickness_modifier_type_items`] + + .. attribute:: use + + Enable or disable this modifier during stroke rendering (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`LineStyleThicknessModifier.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`LineStyleModifier.bl_rna_get_subclass` + - :class:`LineStyleModifier.bl_rna_get_subclass_py` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass` + - :class:`LineStyleThicknessModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifiers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifiers.rst new file mode 100644 index 0000000..c197330 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LineStyleThicknessModifiers.rst @@ -0,0 +1,96 @@ +LineStyleThicknessModifiers(bpy_prop_collection) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: LineStyleThicknessModifiers(bpy_prop_collection) + + Thickness modifiers for changing line thickness + + .. method:: new(name, type) + + Add a thickness modifier to line style + + :param name: New name for the thickness modifier (not unique) (never None) + :type name: str + :param type: Thickness modifier type to add + :type type: Literal[:ref:`rna_enum_linestyle_thickness_modifier_type_items`] + :return: Newly added thickness modifier + :rtype: :class:`LineStyleThicknessModifier` + + .. method:: remove(modifier) + + Remove a thickness modifier from line style + + :param modifier: Thickness modifier to remove (never None) + :type modifier: :class:`LineStyleThicknessModifier` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleLineStyle.thickness_modifiers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Linesets.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Linesets.rst new file mode 100644 index 0000000..bd30d20 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Linesets.rst @@ -0,0 +1,106 @@ +Linesets(bpy_prop_collection) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: Linesets(bpy_prop_collection) + + Line sets for associating lines and style parameters + + .. data:: active + + Active line set being displayed (readonly) + + :type: :class:`FreestyleLineSet` | None + + .. attribute:: active_index + + Index of active line set slot (in [0, inf], default 0) + + :type: int + + .. method:: new(name) + + Add a line set to scene render layer Freestyle settings + + :param name: New name for the line set (not unique) (never None) + :type name: str + :return: Newly created line set + :rtype: :class:`FreestyleLineSet` + + .. method:: remove(lineset) + + Remove a line set from scene render layer Freestyle settings + + :param lineset: Line set to remove (never None) + :type lineset: :class:`FreestyleLineSet` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FreestyleSettings.linesets` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LockedTrackConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LockedTrackConstraint.rst new file mode 100644 index 0000000..cb81ff4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LockedTrackConstraint.rst @@ -0,0 +1,123 @@ +LockedTrackConstraint(Constraint) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: LockedTrackConstraint(Constraint) + + Point toward the target along the track axis, while locking the other axis + + .. attribute:: head_tail + + Target along length of bone: Head is 0, Tail is 1 (in [0, 1], default 0.0) + + :type: float + + .. attribute:: lock_axis + + Axis that points upward (default ``'LOCK_X'``) + + :type: Literal['LOCK_X', 'LOCK_Y', 'LOCK_Z'] + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: track_axis + + Axis that points to the target object (default ``'TRACK_X'``) + + :type: Literal['TRACK_X', 'TRACK_Y', 'TRACK_Z', 'TRACK_NEGATIVE_X', 'TRACK_NEGATIVE_Y', 'TRACK_NEGATIVE_Z'] + + .. attribute:: use_bbone_shape + + Follow shape of B-Bone segments when calculating Head/Tail position (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LoopColors.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LoopColors.rst new file mode 100644 index 0000000..74169e4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.LoopColors.rst @@ -0,0 +1,108 @@ +LoopColors(bpy_prop_collection) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: LoopColors(bpy_prop_collection) + + Collection of vertex colors + + .. attribute:: active + + Active vertex color layer + + :type: :class:`MeshLoopColorLayer` | None + + .. attribute:: active_index + + Active vertex color index (in [0, inf], default 0) + + :type: int + + .. method:: new(*, name="Col", do_init=True) + + Add a vertex color layer to Mesh + + :param name: Vertex color name (optional, never None) + :type name: str + :param do_init: Whether new layer's data should be initialized by copying current active one (optional) + :type do_init: bool + :return: The newly created layer + :rtype: :class:`MeshLoopColorLayer` + + .. method:: remove(layer) + + Remove a vertex color layer + + :param layer: The layer to remove (never None) + :type layer: :class:`MeshLoopColorLayer` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.vertex_colors` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MASK_UL_layers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MASK_UL_layers.rst new file mode 100644 index 0000000..1bd352c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MASK_UL_layers.rst @@ -0,0 +1,92 @@ +MASK_UL_layers(UIList) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: MASK_UL_layers(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MATERIAL_UL_matslots.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MATERIAL_UL_matslots.rst new file mode 100644 index 0000000..f43f324 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MATERIAL_UL_matslots.rst @@ -0,0 +1,92 @@ +MATERIAL_UL_matslots(UIList) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: MATERIAL_UL_matslots(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_attributes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_attributes.rst new file mode 100644 index 0000000..397a11a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_attributes.rst @@ -0,0 +1,94 @@ +MESH_UL_attributes(UIList) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: MESH_UL_attributes(UIList) + + + .. method:: draw_item(_context, layout, _data, attribute, _icon, _active_data, _active_propname, _index) + + .. method:: filter_items(_context, data, property) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_color_attributes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_color_attributes.rst new file mode 100644 index 0000000..cfcb204 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_color_attributes.rst @@ -0,0 +1,94 @@ +MESH_UL_color_attributes(UIList) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: MESH_UL_color_attributes(UIList) + + + .. method:: draw_item(_context, layout, data, attribute, _icon, _active_data, _active_propname, _index) + + .. method:: filter_items(_context, data, property) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_color_attributes_selector.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_color_attributes_selector.rst new file mode 100644 index 0000000..0971795 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_color_attributes_selector.rst @@ -0,0 +1,94 @@ +MESH_UL_color_attributes_selector(UIList) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: MESH_UL_color_attributes_selector(UIList) + + + .. method:: draw_item(_context, layout, _data, attribute, _icon, _active_data, _active_propname, _index) + + .. method:: filter_items(_context, data, property) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_uvmaps.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_uvmaps.rst new file mode 100644 index 0000000..4146529 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_uvmaps.rst @@ -0,0 +1,92 @@ +MESH_UL_uvmaps(UIList) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: MESH_UL_uvmaps(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_vgroups.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_vgroups.rst new file mode 100644 index 0000000..953baf3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MESH_UL_vgroups.rst @@ -0,0 +1,92 @@ +MESH_UL_vgroups(UIList) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: MESH_UL_vgroups(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data_, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Macro.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Macro.rst new file mode 100644 index 0000000..41ea1d3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Macro.rst @@ -0,0 +1,186 @@ +Macro(bpy_struct) +================= + +.. currentmodule:: bpy.types + + +Example Macro ++++++++++++++ + +This example creates a simple macro operator that +moves the active object and then rotates it. +It demonstrates: + +- Defining a macro operator class. +- Registering it and defining sub-operators. +- Setting property values for each step. + +.. literalinclude:: ./examples/bpy.types.Macro.0.py + :lines: 14- + +base class --- :class:`bpy_struct` + +.. class:: Macro(bpy_struct) + + Storage of a macro operator being executed, or registered after execution + + .. attribute:: bl_cursor_pending + + Cursor to use when waiting for the user to select a location to activate the operator (when ``bl_options`` has ``DEPENDS_ON_CURSOR`` set) (default ``'DEFAULT'``) + + :type: Literal[:ref:`rna_enum_window_cursor_items`] + + .. attribute:: bl_description + + (default "", never None) + + :type: str + + .. attribute:: bl_idname + + (default "", never None) + + :type: str + + .. attribute:: bl_label + + (default "", never None) + + :type: str + + .. attribute:: bl_options + + Options for this operator type (default set()) + + :type: set[Literal[:ref:`rna_enum_operator_type_flag_items`]] + + .. attribute:: bl_translation_context + + (default "Operator", never None) + + :type: str + + .. attribute:: bl_undo_group + + (default "", never None) + + :type: str + + .. data:: has_reports + + Operator has a set of reports (warnings and errors) from last execution (default False, readonly) + + :type: bool + + .. data:: name + + (default "", readonly, never None) + + :type: str + + .. data:: properties + + (readonly, never None) + + :type: :class:`OperatorProperties` + + .. method:: report(type, message) + + report + + :param type: Type + :type type: set[Literal[:ref:`rna_enum_wm_report_items`]] + :param message: Report Message, (never None) + :type message: str + + .. classmethod:: poll(context) + + Test if the operator can be called or not + + :param context: (never None) + :type context: :class:`Context` | None + :rtype: bool + + .. method:: draw(context) + + Draw function for the operator + + :param context: (never None) + :type context: :class:`Context` | None + + .. classmethod:: define(operator) + + Append an operator to a registered macro class. + + :param operator: Identifier of the operator. This does not have to be defined when this function is called. + :type operator: str + :return: The operator macro for property access. + :rtype: :class:`OperatorMacro` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Operator.macros` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MagicTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MagicTexture.rst new file mode 100644 index 0000000..575595c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MagicTexture.rst @@ -0,0 +1,161 @@ +MagicTexture(Texture) +===================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Texture` + +.. class:: MagicTexture(Texture) + + Procedural noise texture + + .. attribute:: noise_depth + + Depth of the noise (in [0, 30], default 2) + + :type: int + + .. attribute:: turbulence + + Turbulence of the noise (in [0.0001, inf], default 5.0) + + :type: float + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Texture.type` + - :class:`Texture.use_clamp` + - :class:`Texture.use_color_ramp` + - :class:`Texture.color_ramp` + - :class:`Texture.intensity` + - :class:`Texture.contrast` + - :class:`Texture.saturation` + - :class:`Texture.factor_red` + - :class:`Texture.factor_green` + - :class:`Texture.factor_blue` + - :class:`Texture.use_preview_alpha` + - :class:`Texture.use_nodes` + - :class:`Texture.node_tree` + - :class:`Texture.animation_data` + - :class:`Texture.users_material` + - :class:`Texture.users_object_modifier` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Texture.evaluate` + - :class:`Texture.bl_rna_get_subclass` + - :class:`Texture.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaintainVolumeConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaintainVolumeConstraint.rst new file mode 100644 index 0000000..7e157e2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaintainVolumeConstraint.rst @@ -0,0 +1,112 @@ +MaintainVolumeConstraint(Constraint) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: MaintainVolumeConstraint(Constraint) + + Maintain a constant volume along a single scaling axis + + .. attribute:: free_axis + + The free scaling axis of the object (default ``'SAMEVOL_X'``) + + :type: Literal['SAMEVOL_X', 'SAMEVOL_Y', 'SAMEVOL_Z'] + + .. attribute:: mode + + The way the constraint treats original non-free axis scaling (default ``'STRICT'``) + + - ``STRICT`` + Strict -- Volume is strictly preserved, overriding the scaling of non-free axes. + - ``UNIFORM`` + Uniform -- Volume is preserved when the object is scaled uniformly. Deviations from uniform scale on non-free axes are passed through.. + - ``SINGLE_AXIS`` + Single Axis -- Volume is preserved when the object is scaled only on the free axis. Non-free axis scaling is passed through.. + + :type: Literal['STRICT', 'UNIFORM', 'SINGLE_AXIS'] + + .. attribute:: volume + + Volume of the bone at rest (in [0, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MarbleTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MarbleTexture.rst new file mode 100644 index 0000000..a27839f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MarbleTexture.rst @@ -0,0 +1,237 @@ +MarbleTexture(Texture) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Texture` + +.. class:: MarbleTexture(Texture) + + Procedural noise texture + + .. attribute:: marble_type + + (default ``'SOFT'``) + + - ``SOFT`` + Soft -- Use soft marble. + - ``SHARP`` + Sharp -- Use more clearly defined marble. + - ``SHARPER`` + Sharper -- Use very clearly defined marble. + + :type: Literal['SOFT', 'SHARP', 'SHARPER'] + + .. attribute:: nabla + + Size of derivative offset used for calculating normal (in [0.001, 0.1], default 0.025) + + :type: float + + .. attribute:: noise_basis + + Noise basis used for turbulence (default ``'BLENDER_ORIGINAL'``) + + - ``BLENDER_ORIGINAL`` + Blender Original -- Noise algorithm - Blender original: Smooth interpolated noise. + - ``ORIGINAL_PERLIN`` + Original Perlin -- Noise algorithm - Original Perlin: Smooth interpolated noise. + - ``IMPROVED_PERLIN`` + Improved Perlin -- Noise algorithm - Improved Perlin: Smooth interpolated noise. + - ``VORONOI_F1`` + Voronoi F1 -- Noise algorithm - Voronoi F1: Returns distance to the closest feature point. + - ``VORONOI_F2`` + Voronoi F2 -- Noise algorithm - Voronoi F2: Returns distance to the 2nd closest feature point. + - ``VORONOI_F3`` + Voronoi F3 -- Noise algorithm - Voronoi F3: Returns distance to the 3rd closest feature point. + - ``VORONOI_F4`` + Voronoi F4 -- Noise algorithm - Voronoi F4: Returns distance to the 4th closest feature point. + - ``VORONOI_F2_F1`` + Voronoi F2-F1 -- Noise algorithm - Voronoi F1-F2. + - ``VORONOI_CRACKLE`` + Voronoi Crackle -- Noise algorithm - Voronoi Crackle: Voronoi tessellation with sharp edges. + - ``CELL_NOISE`` + Cell Noise -- Noise algorithm - Cell Noise: Square cell tessellation. + + :type: Literal['BLENDER_ORIGINAL', 'ORIGINAL_PERLIN', 'IMPROVED_PERLIN', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2_F1', 'VORONOI_CRACKLE', 'CELL_NOISE'] + + .. attribute:: noise_basis_2 + + (default ``'SIN'``) + + - ``SIN`` + Sin -- Use a sine wave to produce bands. + - ``SAW`` + Saw -- Use a saw wave to produce bands. + - ``TRI`` + Tri -- Use a triangle wave to produce bands. + + :type: Literal['SIN', 'SAW', 'TRI'] + + .. attribute:: noise_depth + + Depth of the cloud calculation (in [0, 30], default 2) + + :type: int + + .. attribute:: noise_scale + + Scaling for noise input (in [0.0001, inf], default 0.25) + + :type: float + + .. attribute:: noise_type + + (default ``'SOFT_NOISE'``) + + - ``SOFT_NOISE`` + Soft -- Generate soft noise (smooth transitions). + - ``HARD_NOISE`` + Hard -- Generate hard noise (sharp transitions). + + :type: Literal['SOFT_NOISE', 'HARD_NOISE'] + + .. attribute:: turbulence + + Turbulence of the bandnoise and ringnoise types (in [0.0001, inf], default 5.0) + + :type: float + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Texture.type` + - :class:`Texture.use_clamp` + - :class:`Texture.use_color_ramp` + - :class:`Texture.color_ramp` + - :class:`Texture.intensity` + - :class:`Texture.contrast` + - :class:`Texture.saturation` + - :class:`Texture.factor_red` + - :class:`Texture.factor_green` + - :class:`Texture.factor_blue` + - :class:`Texture.use_preview_alpha` + - :class:`Texture.use_nodes` + - :class:`Texture.node_tree` + - :class:`Texture.animation_data` + - :class:`Texture.users_material` + - :class:`Texture.users_object_modifier` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Texture.evaluate` + - :class:`Texture.bl_rna_get_subclass` + - :class:`Texture.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Mask.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Mask.rst new file mode 100644 index 0000000..eeb1c2e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Mask.rst @@ -0,0 +1,160 @@ +Mask(ID) +======== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Mask(ID) + + Mask data-block defining mask for compositing + + .. attribute:: active_layer_index + + Index of active layer in list of all mask's layers (in [-inf, inf], default 0) + + :type: int + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: frame_end + + Final frame of the mask (used for sequencer) (in [0, 1048574], default 0) + + :type: int + + .. attribute:: frame_start + + First frame of the mask (used for sequencer) (in [0, 1048574], default 0) + + :type: int + + .. data:: layers + + Collection of layers which defines this mask (default None, readonly) + + :type: :class:`MaskLayers`\ [:class:`MaskLayer`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.edit_mask` + - :class:`BlendData.masks` + - :class:`BlendDataMasks.new` + - :class:`BlendDataMasks.remove` + - :class:`CompositorNodeMask.mask` + - :class:`MaskStrip.mask` + - :class:`NodeSocketMask.default_value` + - :class:`NodeTreeInterfaceSocketMask.default_value` + - :class:`SpaceClipEditor.mask` + - :class:`SpaceImageEditor.mask` + - :class:`StripModifier.input_mask_id` + - :class:`StripsMeta.new_mask` + - :class:`StripsTopLevel.new_mask` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskLayer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskLayer.rst new file mode 100644 index 0000000..1315013 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskLayer.rst @@ -0,0 +1,153 @@ +MaskLayer(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MaskLayer(bpy_struct) + + Single layer used for masking pixels + + .. attribute:: alpha + + Render Opacity (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: blend + + Method of blending mask layers (default ``'ADD'``) + + :type: Literal['MERGE_ADD', 'MERGE_SUBTRACT', 'ADD', 'SUBTRACT', 'LIGHTEN', 'DARKEN', 'MUL', 'REPLACE', 'DIFFERENCE'] + + .. attribute:: falloff + + Falloff type of the feather (default ``'SMOOTH'``) + + :type: Literal[:ref:`rna_enum_proportional_falloff_curve_only_items`] + + .. attribute:: hide + + Restrict visibility in the viewport (default False) + + :type: bool + + .. attribute:: hide_render + + Restrict renderability (default False) + + :type: bool + + .. attribute:: hide_select + + Restrict selection in the viewport (default False) + + :type: bool + + .. attribute:: invert + + Invert the mask black/white (default False) + + :type: bool + + .. attribute:: name + + Unique name of layer (default "", never None) + + :type: str + + .. attribute:: select + + Layer is selected for editing in the Dope Sheet (default False) + + :type: bool + + .. data:: splines + + Collection of splines which defines this layer (default None, readonly) + + :type: :class:`MaskSplines`\ [:class:`MaskSpline`] + + .. attribute:: use_fill_holes + + Calculate holes when filling overlapping curves (default True) + + :type: bool + + .. attribute:: use_fill_overlap + + Calculate self intersections and overlap before filling (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mask.layers` + - :class:`MaskLayers.active` + - :class:`MaskLayers.new` + - :class:`MaskLayers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskLayers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskLayers.rst new file mode 100644 index 0000000..5d089d4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskLayers.rst @@ -0,0 +1,105 @@ +MaskLayers(bpy_prop_collection) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MaskLayers(bpy_prop_collection) + + Collection of layers used by mask + + .. attribute:: active + + Active layer in this mask + + :type: :class:`MaskLayer` | None + + .. method:: new(*, name="") + + Add layer to this mask + + :param name: Name, Name of new layer (optional, never None) + :type name: str + :return: New mask layer + :rtype: :class:`MaskLayer` + + .. method:: remove(layer) + + Remove layer from this mask + + :param layer: Shape to be removed (never None) + :type layer: :class:`MaskLayer` | None + + .. method:: clear() + + Remove all mask layers + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mask.layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskModifier.rst new file mode 100644 index 0000000..c183f4d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskModifier.rst @@ -0,0 +1,121 @@ +MaskModifier(Modifier) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: MaskModifier(Modifier) + + Mask modifier to hide parts of the mesh + + .. attribute:: armature + + Armature to use as source of bones to mask + + :type: :class:`Object` | None + + .. attribute:: invert_vertex_group + + Use vertices that are not part of region defined (default False) + + :type: bool + + .. attribute:: mode + + (default ``'VERTEX_GROUP'``) + + :type: Literal['VERTEX_GROUP', 'ARMATURE'] + + .. attribute:: threshold + + Weights over this threshold remain (in [0, 1], default 0.0) + + :type: float + + .. attribute:: use_smooth + + Use vertex group weights to cut faces at the weight contour (default False) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskParent.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskParent.rst new file mode 100644 index 0000000..19c673b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskParent.rst @@ -0,0 +1,108 @@ +MaskParent(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MaskParent(bpy_struct) + + Parenting settings for masking element + + .. attribute:: id + + ID-block to which masking element would be parented to or to its property + + :type: :class:`ID` | None + + .. attribute:: id_type + + Type of ID-block that can be used (default ``'MOVIECLIP'``) + + :type: Literal['MOVIECLIP'] + + .. attribute:: parent + + Name of parent object in specified data-block to which parenting happens (default "", never None) + + :type: str + + .. attribute:: sub_parent + + Name of parent sub-object in specified data-block to which parenting happens (default "", never None) + + :type: str + + .. attribute:: type + + Parent Type (default ``'POINT_TRACK'``) + + :type: Literal['POINT_TRACK', 'PLANE_TRACK'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MaskSplinePoint.parent` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSpline.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSpline.rst new file mode 100644 index 0000000..6211445 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSpline.rst @@ -0,0 +1,122 @@ +MaskSpline(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MaskSpline(bpy_struct) + + Single spline used for defining mask shape + + .. attribute:: offset_mode + + The method used for calculating the feather offset (default ``'EVEN'``) + + - ``EVEN`` + Even -- Calculate even feather offset. + - ``SMOOTH`` + Smooth -- Calculate feather offset as a second curve. + + :type: Literal['EVEN', 'SMOOTH'] + + .. data:: points + + Collection of points (default None, readonly) + + :type: :class:`MaskSplinePoints`\ [:class:`MaskSplinePoint`] + + .. attribute:: use_cyclic + + Make this spline a closed loop (default False) + + :type: bool + + .. attribute:: use_fill + + Make this spline filled (default True) + + :type: bool + + .. attribute:: use_self_intersection_check + + Prevent feather from self-intersections (default False) + + :type: bool + + .. attribute:: weight_interpolation + + The type of weight interpolation for spline (default ``'LINEAR'``) + + :type: Literal['LINEAR', 'EASE'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MaskLayer.splines` + - :class:`MaskSplines.active` + - :class:`MaskSplines.new` + - :class:`MaskSplines.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplinePoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplinePoint.rst new file mode 100644 index 0000000..0e7c88f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplinePoint.rst @@ -0,0 +1,164 @@ +MaskSplinePoint(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MaskSplinePoint(bpy_struct) + + Single point in spline used for defining mask + + .. attribute:: co + + Coordinates of the control point (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: feather_points + + Points defining feather (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MaskSplinePointUW`] + + .. attribute:: handle_left + + Coordinates of the first handle (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: handle_left_type + + Handle type (default ``'FREE'``) + + :type: Literal['AUTO', 'VECTOR', 'ALIGNED', 'ALIGNED_DOUBLESIDE', 'FREE'] + + .. attribute:: handle_right + + Coordinates of the second handle (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: handle_right_type + + Handle type (default ``'FREE'``) + + :type: Literal['AUTO', 'VECTOR', 'ALIGNED', 'ALIGNED_DOUBLESIDE', 'FREE'] + + .. attribute:: handle_type + + Handle type (default ``'FREE'``) + + :type: Literal['AUTO', 'VECTOR', 'ALIGNED', 'ALIGNED_DOUBLESIDE', 'FREE'] + + .. data:: parent + + (readonly) + + :type: :class:`MaskParent` | None + + .. attribute:: select + + Selection status of the control point. (Deprecated: use Select Control Point instead) (default False) + + :type: bool + + .. attribute:: select_control_point + + Selection status of the control point (default False) + + :type: bool + + .. attribute:: select_left_handle + + Selection status of the left handle (default False) + + :type: bool + + .. attribute:: select_right_handle + + Selection status of the right handle (default False) + + :type: bool + + .. attribute:: select_single_handle + + Selection status of the Aligned Single handle (default False) + + :type: bool + + .. attribute:: weight + + Weight of the point (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MaskSpline.points` + - :class:`MaskSplinePoints.remove` + - :class:`MaskSplines.active_point` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplinePointUW.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplinePointUW.rst new file mode 100644 index 0000000..1eb51e0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplinePointUW.rst @@ -0,0 +1,96 @@ +MaskSplinePointUW(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MaskSplinePointUW(bpy_struct) + + Single point in spline segment defining feather + + .. attribute:: select + + Selection status (default False) + + :type: bool + + .. attribute:: u + + U coordinate of point along spline segment (in [0, 1], default 0.0) + + :type: float + + .. attribute:: weight + + Weight of feather point (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MaskSplinePoint.feather_points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplinePoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplinePoints.rst new file mode 100644 index 0000000..2271963 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplinePoints.rst @@ -0,0 +1,92 @@ +MaskSplinePoints(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MaskSplinePoints(bpy_prop_collection) + + Collection of masking spline points + + .. method:: add(count) + + Add a number of point to this spline + + :param count: Number, Number of points to add to the spline (in [0, inf]) + :type count: int + + .. method:: remove(point) + + Remove a point from a spline + + :param point: The point to remove (never None) + :type point: :class:`MaskSplinePoint` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MaskSpline.points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplines.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplines.rst new file mode 100644 index 0000000..53a9d9c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskSplines.rst @@ -0,0 +1,104 @@ +MaskSplines(bpy_prop_collection) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MaskSplines(bpy_prop_collection) + + Collection of masking splines + + .. attribute:: active + + Active spline of masking layer + + :type: :class:`MaskSpline` | None + + .. attribute:: active_point + + Active point of masking layer + + :type: :class:`MaskSplinePoint` | None + + .. method:: new() + + Add a new spline to the layer + + :return: The newly created spline + :rtype: :class:`MaskSpline` + + .. method:: remove(spline) + + Remove a spline from a layer + + :param spline: The spline to remove (never None) + :type spline: :class:`MaskSpline` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MaskLayer.splines` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskStrip.rst new file mode 100644 index 0000000..46938f8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskStrip.rst @@ -0,0 +1,225 @@ +MaskStrip(Strip) +================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip` + +.. class:: MaskStrip(Strip) + + Sequence strip to load a video from a mask + + .. attribute:: alpha_mode + + Representation of alpha information in the RGBA pixels (default ``'STRAIGHT'``) + + - ``STRAIGHT`` + Straight -- RGB channels in transparent pixels are unaffected by the alpha channel. + - ``PREMUL`` + Premultiplied -- RGB channels in transparent pixels are multiplied by the alpha channel. + + :type: Literal['STRAIGHT', 'PREMUL'] + + .. attribute:: animation_offset_end + + Animation end offset (trim end) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_end'. + + :type: int + + .. attribute:: animation_offset_start + + Animation start offset (trim start) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_start'. + + :type: int + + .. attribute:: color_multiply + + (in [0, 20], default 1.0) + + :type: float + + .. attribute:: color_saturation + + Adjust the intensity of the input's color (in [0, 20], default 1.0) + + :type: float + + .. attribute:: content_trim_end + + Number of frames to ignore from the end of the underlying source. The source content is trimmed, and future frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. attribute:: content_trim_start + + Number of frames to ignore from the start of the underlying source. The source content is trimmed, and previous frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. data:: crop + + (readonly) + + :type: :class:`StripCrop` | None + + .. attribute:: mask + + Mask that this strip uses + + :type: :class:`Mask` | None + + .. attribute:: multiply_alpha + + Multiply alpha along with color channels (default False) + + :type: bool + + .. attribute:: strobe + + Only display every nth frame (in [1, 30], default 0.0) + + :type: float + + .. data:: transform + + (readonly) + + :type: :class:`StripTransform` | None + + .. attribute:: use_deinterlace + + Remove fields from video movies (default False) + + :type: bool + + .. attribute:: use_flip_x + + Flip on the X axis (default False) + + :type: bool + + .. attribute:: use_flip_y + + Flip on the Y axis (default False) + + :type: bool + + .. attribute:: use_float + + Convert input to float data (default False) + + :type: bool + + .. attribute:: use_reverse_frames + + Reverse frame order (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskStripModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskStripModifier.rst new file mode 100644 index 0000000..95ece2b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaskStripModifier.rst @@ -0,0 +1,82 @@ +MaskStripModifier(StripModifier) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripModifier` + +.. class:: MaskStripModifier(StripModifier) + + Mask modifier for sequence strip + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripModifier.name` + - :class:`StripModifier.type` + - :class:`StripModifier.mute` + - :class:`StripModifier.enable` + - :class:`StripModifier.show_expanded` + - :class:`StripModifier.input_mask_type` + - :class:`StripModifier.mask_time` + - :class:`StripModifier.input_mask_strip` + - :class:`StripModifier.input_mask_id` + - :class:`StripModifier.is_active` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripModifier.bl_rna_get_subclass` + - :class:`StripModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Material.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Material.rst new file mode 100644 index 0000000..906618f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Material.rst @@ -0,0 +1,451 @@ +Material(ID) +============ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Material(ID) + + Material data-block to define the appearance of geometric objects for rendering + + .. attribute:: alpha_threshold + + A pixel is rendered only if its alpha value is above this threshold (in [0, 1], default 0.5) + + :type: float + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: blend_method + + Blend Mode for Transparent Faces (Deprecated: use 'surface_render_method') (default ``'OPAQUE'``) + + - ``OPAQUE`` + Opaque -- Render surface without transparency. + - ``CLIP`` + Alpha Clip -- Use the alpha threshold to clip the visibility (binary visibility). + - ``HASHED`` + Alpha Hashed -- Use noise to dither the binary visibility (works well with multi-samples). + - ``BLEND`` + Alpha Blend -- Render polygon transparent, depending on alpha channel of the texture. + + :type: Literal['OPAQUE', 'CLIP', 'HASHED', 'BLEND'] + + .. attribute:: diffuse_color + + Diffuse color of the material (array of 4 items, in [0, inf], default (0.8, 0.8, 0.8, 1.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: displacement_method + + Method to use for the displacement (default ``'BUMP'``) + + - ``BUMP`` + Bump Only -- Bump mapping to simulate the appearance of displacement. + - ``DISPLACEMENT`` + Displacement Only -- Use true displacement of surface only, requires fine subdivision. + - ``BOTH`` + Displacement and Bump -- Combination of true displacement and bump mapping for finer detail. + + :type: Literal['BUMP', 'DISPLACEMENT', 'BOTH'] + + .. data:: grease_pencil + + Grease Pencil color settings for material (readonly) + + :type: :class:`MaterialGPencilStyle` | None + + .. data:: is_grease_pencil + + True if this material has Grease Pencil data (default False, readonly) + + :type: bool + + .. attribute:: line_color + + Line color used for Freestyle line rendering (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: line_priority + + The line color of a higher priority is used at material boundaries (in [0, 32767], default 0) + + :type: int + + .. data:: lineart + + Line Art settings for material (readonly) + + :type: :class:`MaterialLineArt` | None + + .. attribute:: max_vertex_displacement + + The max distance a vertex can be displaced. Displacements over this threshold may cause visibility issues. (in [0, inf], default 0.0) + + :type: float + + .. attribute:: metallic + + Amount of mirror reflection for raytrace (in [0, 1], default 0.0) + + :type: float + + .. data:: node_tree + + Node tree for node based materials (readonly) + + :type: :class:`NodeTree` | None + + .. attribute:: paint_active_slot + + Index of active texture paint slot (in [0, 32767], default 0) + + :type: int + + .. attribute:: paint_clone_slot + + Index of clone texture paint slot (in [0, 32767], default 0) + + :type: int + + .. attribute:: pass_index + + Index number for the "Material Index" render pass (in [0, 32767], default 0) + + :type: int + + .. attribute:: preview_render_type + + Type of preview render (default ``'SPHERE'``) + + - ``FLAT`` + Flat -- Flat XY plane. + - ``SPHERE`` + Sphere -- Sphere. + - ``CUBE`` + Cube -- Cube. + - ``HAIR`` + Hair -- Hair strands. + - ``SHADERBALL`` + Shader Ball -- Shader ball. + - ``CLOTH`` + Cloth -- Cloth. + - ``FLUID`` + Fluid -- Fluid. + + :type: Literal['FLAT', 'SPHERE', 'CUBE', 'HAIR', 'SHADERBALL', 'CLOTH', 'FLUID'] + + .. attribute:: refraction_depth + + Approximate the thickness of the object to compute two refraction events (0 is disabled) (Deprecated) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: roughness + + Roughness of the material (in [0, 1], default 0.4) + + :type: float + + .. attribute:: show_transparent_back + + Render multiple transparent layers (may introduce transparency sorting problems) (Deprecated: use 'use_tranparency_overlap') (default True) + + :type: bool + + .. attribute:: specular_color + + Specular color of the material (array of 3 items, in [0, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: specular_intensity + + How intense (bright) the specular reflection is (in [0, 1], default 0.5) + + :type: float + + .. attribute:: surface_render_method + + Controls the blending and the compatibility with certain features (default ``'DITHERED'``) + + - ``DITHERED`` + Dithered -- Allows for grayscale hashed transparency, and compatible with render passes and raytracing. Also known as deferred rendering.. + - ``BLENDED`` + Blended -- Allows for colored transparency, but incompatible with render passes and raytracing. Also known as forward rendering.. + + :type: Literal['DITHERED', 'BLENDED'] + + .. data:: texture_paint_images + + Texture images used for texture painting (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Image`] + + .. data:: texture_paint_slots + + Texture slots defining the mapping and influence of textures (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`TexPaintSlot`] + + .. attribute:: thickness_mode + + Approximation used to model the light interactions inside the object (default ``'SPHERE'``) + + - ``SPHERE`` + Sphere -- Approximate the object as a sphere whose diameter is equal to the thickness defined by the node tree. + - ``SLAB`` + Slab -- Approximate the object as an infinite slab of thickness defined by the node tree. + + :type: Literal['SPHERE', 'SLAB'] + + .. attribute:: use_backface_culling + + Use back face culling to hide the back side of faces (default False) + + :type: bool + + .. attribute:: use_backface_culling_lightprobe_volume + + Consider material single sided for light probe volume capture. Additionally helps rejecting probes inside the object to avoid light leaks. (default True) + + :type: bool + + .. attribute:: use_backface_culling_shadow + + Use back face culling when casting shadows (default False) + + :type: bool + + .. attribute:: use_nodes + + Use shader nodes to render the material (default False) + + .. deprecated:: 5.0 removal planned in version 6.0 + + Unused but kept for compatibility reasons. Setting the property has no effect, and getting it always returns True. + + :type: bool + + .. attribute:: use_preview_world + + Use the current world background to light the preview render (default False) + + :type: bool + + .. attribute:: use_raytrace_refraction + + Use raytracing to determine transmitted color instead of using only light probes. This prevents the surface from contributing to the lighting of surfaces not using this setting. (default False) + + :type: bool + + .. attribute:: use_screen_refraction + + Use raytracing to determine transmitted color instead of using only light probes. This prevents the surface from contributing to the lighting of surfaces not using this setting. Deprecated: use 'use_raytrace_refraction'. (default False) + + :type: bool + + .. attribute:: use_sss_translucency + + Add translucency effect to subsurface (Deprecated) (default False) + + :type: bool + + .. attribute:: use_thickness_from_shadow + + Use the shadow maps from shadow casting lights to refine the thickness defined by the material node tree (default False) + + :type: bool + + .. attribute:: use_transparency_overlap + + Render multiple transparent layers (may introduce transparency sorting problems) (default True) + + :type: bool + + .. attribute:: use_transparent_shadow + + Use transparent shadows for this material if it contains a Transparent BSDF, disabling will render faster but not give accurate shadows (default True) + + :type: bool + + .. attribute:: volume_intersection_method + + Determines which inner part of the mesh will produce volumetric effect (default ``'FAST'``) + + - ``FAST`` + Fast -- Each face is considered as a medium interface. Gives correct results for manifold geometry that contains no inner parts.. + - ``ACCURATE`` + Accurate -- Faces are considered as medium interface only when they have different consecutive facing. Gives correct results as long as the max ray depth is not exceeded. Have significant memory overhead compared to the fast method.. + + :type: Literal['FAST', 'ACCURATE'] + + .. method:: inline_shader_nodes() + + Get the inlined shader nodes of this material. This preprocesses the node tree + to remove nested groups, repeat zones and more. + + :return: The inlined shader nodes. + :rtype: :class:`bpy.types.InlineShaderNodes` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.material` + - :class:`BlendData.materials` + - :class:`BlendDataMaterials.create_gpencil_data` + - :class:`BlendDataMaterials.new` + - :class:`BlendDataMaterials.remove` + - :class:`BlendDataMaterials.remove_gpencil_data` + - :class:`BrushGpencilSettings.material` + - :class:`BrushGpencilSettings.material_alt` + - :class:`Curve.materials` + - :class:`Curves.materials` + - :class:`GeometryNodeInputMaterial.material` + - :class:`GreasePencil.materials` + - :class:`GreasePencilArrayModifier.material_filter` + - :class:`GreasePencilBuildModifier.material_filter` + - :class:`GreasePencilColorModifier.material_filter` + - :class:`GreasePencilDashModifierData.material_filter` + - :class:`GreasePencilEnvelopeModifier.material_filter` + - :class:`GreasePencilHookModifier.material_filter` + - :class:`GreasePencilLatticeModifier.material_filter` + - :class:`GreasePencilLengthModifier.material_filter` + - :class:`GreasePencilLineartModifier.target_material` + - :class:`GreasePencilMirrorModifier.material_filter` + - :class:`GreasePencilMultiplyModifier.material_filter` + - :class:`GreasePencilNoiseModifier.material_filter` + - :class:`GreasePencilOffsetModifier.material_filter` + - :class:`GreasePencilOpacityModifier.material_filter` + - :class:`GreasePencilOutlineModifier.material_filter` + - :class:`GreasePencilOutlineModifier.outline_material` + - :class:`GreasePencilShrinkwrapModifier.material_filter` + - :class:`GreasePencilSimplifyModifier.material_filter` + - :class:`GreasePencilSmoothModifier.material_filter` + - :class:`GreasePencilSubdivModifier.material_filter` + - :class:`GreasePencilTextureModifier.material_filter` + - :class:`GreasePencilThickModifierData.material_filter` + - :class:`GreasePencilTintModifier.material_filter` + - :class:`GreasePencilWeightAngleModifier.material_filter` + - :class:`GreasePencilWeightProximityModifier.material_filter` + - :class:`IDMaterials.append` + - :class:`IDMaterials.pop` + - :class:`MaterialSlot.material` + - :class:`Mesh.materials` + - :class:`MetaBall.materials` + - :class:`NodeSocketMaterial.default_value` + - :class:`NodeTreeInterfaceSocketMaterial.default_value` + - :class:`Object.active_material` + - :class:`PointCloud.materials` + - :class:`ViewLayer.material_override` + - :class:`Volume.materials` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaterialGPencilStyle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaterialGPencilStyle.rst new file mode 100644 index 0000000..2bbbe60 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaterialGPencilStyle.rst @@ -0,0 +1,292 @@ +MaterialGPencilStyle(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MaterialGPencilStyle(bpy_struct) + + + .. attribute:: alignment_mode + + Defines how align Dots and Boxes with drawing path and object rotation (default ``'PATH'``) + + - ``PATH`` + Path -- Follow stroke drawing path and object rotation. + - ``OBJECT`` + Object -- Follow object rotation only. + - ``FIXED`` + Fixed -- Do not follow drawing path or object rotation and keeps aligned with viewport. + + :type: Literal['PATH', 'OBJECT', 'FIXED'] + + .. attribute:: alignment_rotation + + Additional rotation applied to dots and square texture of strokes. Only applies in texture shading mode. (in [-1.5708, 1.5708], default 0.0) + + :type: float + + .. attribute:: color + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: fill_color + + Color for filling region bounded by each stroke (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: fill_image + + :type: :class:`Image` | None + + .. attribute:: fill_style + + Select style used to fill strokes (default ``'SOLID'``) + + - ``SOLID`` + Solid -- Fill area with solid color. + - ``GRADIENT`` + Gradient -- Fill area with gradient color. + - ``TEXTURE`` + Texture -- Fill area with image texture. + + :type: Literal['SOLID', 'GRADIENT', 'TEXTURE'] + + .. attribute:: flip + + Flip filling colors (default False) + + :type: bool + + .. attribute:: ghost + + Display strokes using this color when showing onion skins (default False) + + :type: bool + + .. attribute:: gradient_type + + Select type of gradient used to fill strokes (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Fill area with gradient color. + - ``RADIAL`` + Radial -- Fill area with radial gradient. + + :type: Literal['LINEAR', 'RADIAL'] + + .. attribute:: hide + + Set color Visibility (default False) + + :type: bool + + .. data:: is_fill_visible + + True when opacity of fill is set high enough to be visible (default False, readonly) + + :type: bool + + .. data:: is_stroke_visible + + True when opacity of stroke is set high enough to be visible (default False, readonly) + + :type: bool + + .. attribute:: lock + + Protect color from further editing and/or frame changes (default False) + + :type: bool + + .. attribute:: mix_color + + Color for mixing with primary filling color (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: mix_factor + + Mix Factor (in [0, 1], default 0.0) + + :type: float + + .. attribute:: mix_stroke_factor + + Mix Stroke Factor (in [0, 1], default 0.0) + + :type: float + + .. attribute:: mode + + Select line type for strokes (default ``'LINE'``) + + - ``LINE`` + Line -- Draw strokes using a continuous line. + - ``DOTS`` + Dots -- Draw strokes using separated dots. + - ``BOX`` + Squares -- Draw strokes using separated squares. + + :type: Literal['LINE', 'DOTS', 'BOX'] + + .. attribute:: pass_index + + Index number for the "Color Index" pass (in [0, 32767], default 0) + + :type: int + + .. attribute:: pixel_size + + Texture Pixel Size factor along the stroke (in [1, 5000], default 0.0) + + :type: float + + .. attribute:: show_fill + + Show stroke fills of this material (default False) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Unused but kept for compatibility with older versions of Blender. + + :type: bool + + .. attribute:: show_stroke + + Show stroke lines of this material (default False) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Unused but kept for compatibility with older versions of Blender. + + :type: bool + + .. attribute:: stroke_image + + :type: :class:`Image` | None + + .. attribute:: stroke_style + + Select style used to draw strokes (default ``'SOLID'``) + + - ``SOLID`` + Solid -- Draw strokes with solid color. + - ``TEXTURE`` + Texture -- Draw strokes using texture. + + :type: Literal['SOLID', 'TEXTURE'] + + .. attribute:: texture_angle + + Texture Orientation Angle (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: texture_clamp + + Do not repeat texture and clamp to one instance only (default False) + + :type: bool + + .. attribute:: texture_offset + + Shift Texture in 2d Space (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: texture_scale + + Scale Factor for Texture (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: use_fill_holdout + + Remove the color from underneath this stroke by using it as a mask (default False) + + :type: bool + + .. attribute:: use_overlap_strokes + + Disable stencil and overlap self intersections with alpha materials (default False) + + :type: bool + + .. attribute:: use_stroke_holdout + + Remove the color from underneath this stroke by using it as a mask (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Material.grease_pencil` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaterialLineArt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaterialLineArt.rst new file mode 100644 index 0000000..78764e9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaterialLineArt.rst @@ -0,0 +1,107 @@ +MaterialLineArt(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MaterialLineArt(bpy_struct) + + + .. attribute:: intersection_priority + + The intersection line will be included into the object with the higher intersection priority value (in [0, 255], default 0) + + :type: int + + .. attribute:: mat_occlusion + + Faces with this material will behave as if it has set number of layers in occlusion (in [0, 255], default 1) + + :type: int + + .. attribute:: use_intersection_priority_override + + Override object and collection intersection priority value (default False) + + :type: bool + + .. attribute:: use_material_mask + + Use material masks to filter out occluded strokes (default False) + + :type: bool + + .. attribute:: use_material_mask_bits + + (array of 8 items, default (False, False, False, False, False, False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Material.lineart` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaterialSlot.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaterialSlot.rst new file mode 100644 index 0000000..340b728 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MaterialSlot.rst @@ -0,0 +1,103 @@ +MaterialSlot(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MaterialSlot(bpy_struct) + + Material slot in an object + + .. attribute:: link + + Link material to object or the object's data (default ``'DATA'``) + + :type: Literal['OBJECT', 'DATA'] + + .. attribute:: material + + Material data-block used by this material slot + + :type: :class:`Material` | None + + .. data:: name + + Material slot name (default "", readonly, never None) + + :type: str + + .. data:: slot_index + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.material_slot` + - :class:`Object.material_slots` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Menu.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Menu.rst new file mode 100644 index 0000000..d7aaee8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Menu.rst @@ -0,0 +1,257 @@ +Menu(bpy_struct) +================ + +.. currentmodule:: bpy.types + + +Basic Menu Example +++++++++++++++++++ + +Here is an example of a simple menu. Menus differ from panels in that they must +reference from a header, panel or another menu. + +Notice the 'CATEGORY_MT_name' in :class:`Menu.bl_idname`, this is a naming +convention for menus. + +.. note:: + + Menu subclasses must be registered before referencing them from Blender. + +.. note:: + + Menus have their :class:`UILayout.operator_context` initialized as + 'EXEC_REGION_WIN' rather than 'INVOKE_REGION_WIN' (see :ref:`Execution Context `). + If the operator context needs to initialize inputs from the + :class:`Operator.invoke` function, then this needs to be explicitly set. + When a menu is added to UI elements such as a panel or header, + the operator execution context will be inherited from them. + +.. literalinclude:: ./examples/bpy.types.Menu.0.py + :lines: 24- + + +Submenus +++++++++ + +This menu demonstrates some different functions. + +.. literalinclude:: ./examples/bpy.types.Menu.1.py + :lines: 7- + + +Extending Menus ++++++++++++++++ + +When creating menus for add-ons you can't reference menus +in Blender's default scripts. +Instead, the add-on can add menu items to existing menus. + +The function menu_draw acts like :class:`Menu.draw`. + +.. literalinclude:: ./examples/bpy.types.Menu.2.py + :lines: 11- + + +Preset Menus +++++++++++++ + +Preset menus are simply a convention that uses a menu sub-class +to perform the common task of managing presets. + +This example shows how you can add a preset menu. + +This example uses the object display options, +however you can use properties defined by your own scripts too. + +.. literalinclude:: ./examples/bpy.types.Menu.3.py + :lines: 14- + + +Extending the Button Context Menu ++++++++++++++++++++++++++++++++++ + +This example enables you to insert your own menu entry into the common +right click menu that you get while hovering over a UI button (e.g. operator, +value field, color, string, etc.) + +To make the example work, you have to first select an object +then right click on an user interface element (maybe a color in the +material properties) and choose *Execute Custom Action*. + +Executing the operator will then print all values. + +.. literalinclude:: ./examples/bpy.types.Menu.4.py + :lines: 16- + +base class --- :class:`bpy_struct` + +.. class:: Menu(bpy_struct) + + Editor menu containing buttons + + .. attribute:: bl_description + + (default "") + + :type: str + + .. attribute:: bl_idname + + If this is set, the menu gets a custom ID, otherwise it takes the name of the class used to define the menu (for example, if the class name is "OBJECT_MT_hello", and bl_idname is not set by the script, then bl_idname = "OBJECT_MT_hello") (default "", never None) + + :type: str + + .. attribute:: bl_label + + The menu label (default "", never None) + + :type: str + + .. attribute:: bl_options + + Options for this menu type (default set()) + + - ``SEARCH_ON_KEY_PRESS`` + Search on Key Press -- Open a menu search when a key pressed while the menu is open. + + :type: set[Literal['SEARCH_ON_KEY_PRESS']] + + .. attribute:: bl_owner_id + + (default "", never None) + + :type: str + + .. attribute:: bl_translation_context + + (default "*", never None) + + :type: str + + .. data:: layout + + Defines the structure of the menu in the UI (readonly) + + :type: :class:`UILayout` | None + + .. classmethod:: poll(context) + + If this method returns a non-null output, then the menu can be drawn + + :type context: :class:`Context` | None + :rtype: bool + + .. method:: draw(context) + + Draw UI elements into the menu UI layout + + :type context: :class:`Context` | None + + .. classmethod:: append(draw_func) + + Append a draw function to this menu, + takes the same arguments as the menus draw function + + .. classmethod:: draw_collapsible(context, layout) + + .. method:: draw_preset(_context) + + Define these on the subclass: + - preset_operator (string) + - preset_subdir (string) + + Optionally: + - preset_add_operator (string) + - preset_extensions (set of strings) + - preset_operator_defaults (dict of keyword args) + + .. classmethod:: is_extended() + + .. method:: path_menu(searchpaths, operator, *, props_default=None, prop_filepath='filepath', filter_ext=None, filter_path=None, display_name=None, add_operator=None, add_operator_props=None, translate=True) + + Populate a menu from a list of paths. + + :param searchpaths: Paths to scan. + :type searchpaths: Sequence[str] + :param operator: The operator id to use with each file. + :type operator: str + :param prop_filepath: Optional operator filepath property (defaults to "filepath"). + :type prop_filepath: str + :param props_default: Properties to assign to each operator. + :type props_default: dict[str, Any] | None + :param filter_ext: Optional callback that takes the file extensions. + + Returning false excludes the file from the list. + + :type filter_ext: Callable[[str], bool] | None + :param display_name: Optional callback that takes the full path, returns the name to display. + :type display_name: Callable[[str], str] | None + + .. classmethod:: prepend(draw_func) + + Prepend a draw function to this menu, takes the same arguments as + the menus draw function + + .. classmethod:: remove(draw_func) + + Remove a draw function that has been added to this menu. + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Mesh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Mesh.rst new file mode 100644 index 0000000..1af2bf4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Mesh.rst @@ -0,0 +1,655 @@ +Mesh(ID) +======== + +.. currentmodule:: bpy.types + + +Mesh Data ++++++++++ + +The mesh data is accessed in object mode and intended for compact storage, +for more flexible mesh editing from Python see :mod:`bmesh`. + +Blender stores 4 main arrays to define mesh geometry. + +- :class:`Mesh.vertices` (3 points in space) +- :class:`Mesh.edges` (reference 2 vertices) +- :class:`Mesh.loops` (reference a single vertex and edge) +- :class:`Mesh.polygons`: (reference a range of loops) + + +Each polygon references a slice in the loop array, this way, +polygons do not store vertices or corner data such as UVs directly, +only a reference to loops that the polygon uses. + +:class:`Mesh.loops`, :class:`Mesh.uv_layers` :class:`Mesh.vertex_colors` are all aligned so the same polygon loop +indices can be used to find the UVs and vertex colors as with as the vertices. + +To compare mesh API options see: :ref:`NGons and Tessellation Faces ` + + +This example script prints the vertices and UVs for each polygon, assumes the active object is a mesh with UVs. + +.. literalinclude:: ./examples/bpy.types.Mesh.0.py + :lines: 29- + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Mesh(ID) + + Mesh data-block defining geometric surfaces + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. data:: attributes + + Geometry attributes (default None, readonly) + + :type: :class:`AttributeGroupMesh`\ [:class:`Attribute`] + + .. attribute:: auto_texspace + + Adjust active object's texture space automatically when transforming object (default True) + + :type: bool + + .. data:: color_attributes + + Geometry color attributes (default None, readonly) + + :type: :class:`AttributeGroupMesh`\ [:class:`Attribute`] + + .. data:: corner_normals + + The "slit" normal direction of each face corner, influenced by vertex normals, sharp faces, sharp edges, and custom normals. May be empty. (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MeshNormalValue`] + + .. data:: edges + + Edges of the mesh (default None, readonly) + + :type: :class:`MeshEdges`\ [:class:`MeshEdge`] + + .. data:: has_custom_normals + + True if there is custom normal data for this mesh (default False, readonly) + + :type: bool + + .. data:: is_editmode + + True when used in editmode (default False, readonly) + + :type: bool + + .. data:: loop_triangle_polygons + + The face index for each loop triangle (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ReadOnlyInteger`] + + .. data:: loop_triangles + + Tessellation of mesh polygons into triangles (default None, readonly) + + :type: :class:`MeshLoopTriangles`\ [:class:`MeshLoopTriangle`] + + .. data:: loops + + Loops of the mesh (face corners) (default None, readonly) + + :type: :class:`MeshLoops`\ [:class:`MeshLoop`] + + .. data:: materials + + (default None, readonly) + + :type: :class:`IDMaterials`\ [:class:`Material`] + + .. data:: normals_domain + + The attribute domain that gives enough information to represent the mesh's normals (default ``'FACE'``, readonly) + + :type: Literal['POINT', 'FACE', 'CORNER'] + + .. data:: polygon_normals + + The normal direction of each face, defined by the winding order and position of its vertices (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MeshNormalValue`] + + .. data:: polygons + + Polygons of the mesh (default None, readonly) + + :type: :class:`MeshPolygons`\ [:class:`MeshPolygon`] + + .. attribute:: radial_symmetry + + Number of mirrored regions around a central axis (array of 3 items, in [1, 64], default (1, 1, 1)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: remesh_mode + + (default ``'VOXEL'``) + + - ``VOXEL`` + Voxel -- Use the voxel remesher. + - ``QUAD`` + Quad -- Use the quad remesher. + + :type: Literal['VOXEL', 'QUAD'] + + .. attribute:: remesh_voxel_adaptivity + + Reduces the final face count by simplifying geometry where detail is not needed, generating triangles. A value greater than 0 disables Fix Poles. (in [0, 1], default 0.0) + + :type: float + + .. attribute:: remesh_voxel_size + + Size of the voxel in object space used for volume evaluation. Lower values preserve finer details. (in [0, inf], default 0.1) + + :type: float + + .. data:: shape_keys + + (readonly) + + :type: :class:`Key` | None + + .. data:: skin_vertices + + All skin vertices (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MeshSkinVertexLayer`] + + .. attribute:: texco_mesh + + Derive texture coordinates from another mesh + + :type: :class:`Mesh` | None + + .. attribute:: texspace_location + + Texture space location (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: texspace_size + + Texture space size (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: texture_mesh + + Use another mesh for texture indices (vertex indices must be aligned) + + :type: :class:`Mesh` | None + + .. data:: total_edge_sel + + Selected edge count in editmode (in [0, inf], default 0, readonly) + + :type: int + + .. data:: total_face_sel + + Selected face count in editmode (in [0, inf], default 0, readonly) + + :type: int + + .. data:: total_vert_sel + + Selected vertex count in editmode (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: use_auto_texspace + + Adjust active object's texture space automatically when transforming object (default True) + + :type: bool + + .. attribute:: use_mirror_topology + + Use topology based mirroring (for when both sides of mesh have matching, unique topology) (default False) + + :type: bool + + .. attribute:: use_mirror_vertex_groups + + Mirror the left/right vertex groups when painting. The symmetry axis is determined by the symmetry settings. (default True) + + :type: bool + + .. attribute:: use_mirror_x + + Enable symmetry in the X axis (default False) + + :type: bool + + .. attribute:: use_mirror_y + + Enable symmetry in the Y axis (default False) + + :type: bool + + .. attribute:: use_mirror_z + + Enable symmetry in the Z axis (default False) + + :type: bool + + .. attribute:: use_paint_bone_selection + + Bone selection during painting (default True) + + :type: bool + + .. attribute:: use_paint_mask + + Face selection masking for painting (default False) + + :type: bool + + .. attribute:: use_paint_mask_vertex + + Vertex selection masking for painting (default False) + + :type: bool + + .. attribute:: use_remesh_fix_poles + + Produces fewer poles and a better topology flow (default False) + + :type: bool + + .. attribute:: use_remesh_preserve_attributes + + Transfer all attributes to the new mesh (default False) + + :type: bool + + .. attribute:: use_remesh_preserve_volume + + Projects the mesh to preserve the volume and details of the original mesh (default False) + + :type: bool + + .. attribute:: uv_layer_clone + + UV loop layer to be used as cloning source + + :type: :class:`MeshUVLoopLayer` | None + + .. attribute:: uv_layer_clone_index + + Clone UV loop layer index (in [0, inf], default 0) + + :type: int + + .. attribute:: uv_layer_stencil + + UV loop layer to mask the painted area + + :type: :class:`MeshUVLoopLayer` | None + + .. attribute:: uv_layer_stencil_index + + Mask UV loop layer index (in [0, inf], default 0) + + :type: int + + .. data:: uv_layers + + All UV loop layers (default None, readonly) + + :type: :class:`UVLoopLayers`\ [:class:`MeshUVLoopLayer`] + + .. data:: vertex_colors + + Legacy vertex color layers. Deprecated, use color attributes instead. (default None, readonly) + + :type: :class:`LoopColors`\ [:class:`MeshLoopColorLayer`] + + .. data:: vertex_normals + + The normal direction of each vertex, defined as the average of the surrounding face normals (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MeshNormalValue`] + + .. data:: vertices + + Vertices of the mesh (default None, readonly) + + :type: :class:`MeshVertices`\ [:class:`MeshVertex`] + + .. data:: edge_creases + + Edge crease values for subdivision surface, corresponding to the "crease_edge" attribute. + + (readonly) + + .. data:: edge_keys + + + (readonly) + + .. data:: vertex_creases + + Vertex crease values for subdivision surface, corresponding to the "crease_vert" attribute. + + (readonly) + + .. data:: vertex_paint_mask + + Mask values for sculpting and painting, corresponding to the ".sculpt_mask" attribute. + + (readonly) + + .. method:: transform(matrix, *, shape_keys=False) + + Transform mesh vertices by a matrix (Warning: inverts normals if matrix is negative) + + :param matrix: Matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param shape_keys: Transform Shape Keys (optional) + :type shape_keys: bool + + .. method:: flip_normals() + + Invert winding of all polygons (clears tessellation, does not handle custom normals) + + + .. method:: set_sharp_from_angle(*, angle=3.14159) + + Reset and fill the "sharp_edge" attribute based on the angle of faces neighboring manifold edges + + :param angle: Angle, Angle between faces beyond which edges are marked sharp (in [0, 3.14159], optional) + :type angle: float + + .. method:: split_faces() + + Split faces based on the edge angle + + + .. method:: calc_tangents(*, uvmap="") + + Compute tangents and bitangent signs, to be used together with the custom normals to get a complete tangent space for normal mapping (custom normals are also computed if not yet present) + + :param uvmap: Name of the UV map to use for tangent space computation (optional, never None) + :type uvmap: str + + .. method:: free_tangents() + + Free tangents + + + .. method:: calc_loop_triangles() + + Calculate loop triangle tessellation (supports editmode too) + + + .. method:: calc_smooth_groups(*, use_bitflags=False, use_boundary_vertices_for_bitflags=False) + + Calculate smooth groups from sharp edges + + :param use_bitflags: Produce bitflags groups instead of simple numeric values (optional) + :type use_bitflags: bool + :param use_boundary_vertices_for_bitflags: Also consider different smoothgroups sharing only vertices (but without any common edge) as neighbors, preventing them from sharing the same bitflag value. Only effective when ``use_bitflags`` is set. WARNING: Will overflow (run out of available bits) easily with some types of topology, e.g. large fans of sharp edges (optional) + :type use_boundary_vertices_for_bitflags: bool + :return: + ``poly_groups``, Smooth Groups, :class:`bpy_prop_array`\ [int] + + ``groups``, Total number of groups, int + + :rtype: tuple[:class:`bpy_prop_array`\ [int], int] + + .. method:: normals_split_custom_set(normals) + + Define custom normals of this mesh (use zero-vectors to keep auto ones) + + :param normals: Normals (multi-dimensional array of 1 * 3 items, in [-1, 1]) + :type normals: Sequence[float] + + .. method:: normals_split_custom_set_from_vertices(normals) + + Define custom normals of this mesh, from vertices' normals (use zero-vectors to keep auto ones) + + :param normals: Normals (multi-dimensional array of 1 * 3 items, in [-1, 1]) + :type normals: Sequence[float] + + .. method:: update(*, calc_edges=False, calc_edges_loose=False) + + update + + :param calc_edges: Calculate Edges, Force recalculation of edges (optional) + :type calc_edges: bool + :param calc_edges_loose: Calculate Loose Edges, Calculate the loose state of each edge (optional) + :type calc_edges_loose: bool + + .. method:: update_gpu_tag() + + update_gpu_tag + + + .. method:: unit_test_compare(*, mesh=None, threshold=7.1526e-06) + + unit_test_compare + + :param mesh: Mesh to compare to (optional) + :type mesh: :class:`Mesh` | None + :param threshold: Threshold, Comparison tolerance threshold (in [0, inf], optional) + :type threshold: float + :return: Return value, String description of result of comparison (never None) + :rtype: str + + .. method:: clear_geometry() + + Remove all geometry from the mesh. Note that this does not free shape keys or materials. + + + .. method:: validate(*, verbose=False, clean_customdata=True) + + Validate geometry, return True when the mesh has had invalid geometry corrected/removed + + :param verbose: Verbose, Output information about the errors found (optional) + :type verbose: bool + :param clean_customdata: Clean Custom Data, Deprecated, has no effect (optional) + :type clean_customdata: bool + :return: Result + :rtype: bool + + .. method:: validate_material_indices() + + Validate material indices of polygons, return True when the mesh has had invalid indices corrected (to default 0) + + :return: Result + :rtype: bool + + .. method:: count_selected_items() + + Return the number of selected items (vert, edge, face) + + :return: Result, (array of 3 items, in [0, inf]) + :rtype: :class:`bpy_prop_array`\ [int] + + .. method:: edge_creases_ensure() + + .. method:: edge_creases_remove() + + .. method:: from_pydata(vertices, edges, faces, shade_flat=True) + + Make a mesh from a list of vertices/edges/faces + Until we have a nicer way to make geometry, use this. + + :param vertices: + + float triplets each representing (X, Y, Z) + eg: [(0.0, 1.0, 0.5), ...]. + + :type vertices: Iterable[Sequence[float]] + :param edges: + + int pairs, each pair contains two indices to the + *vertices* argument. eg: [(1, 2), ...] + + When an empty iterable is passed in, the edges are inferred from the polygons. + + :type edges: Iterable[Sequence[int]] + :param faces: + + iterator of faces, each faces contains three or more indices to + the *vertices* argument. eg: [(5, 6, 8, 9), (1, 2, 3), ...] + + :type faces: Iterable[Sequence[int]] + + .. warning:: + + Invalid mesh data + *(out of range indices, edges with matching indices, + 2 sided faces... etc)* are **not** prevented. + If the data used for mesh creation isn't known to be valid, + run :class:`Mesh.validate` after this function. + + .. method:: shade_flat() + + Render and display faces uniform, using face normals, + setting the "sharp_face" attribute true for every face + + .. method:: shade_smooth() + + Render and display faces smooth, using interpolated vertex normals, + removing the "sharp_face" attribute + + .. method:: vertex_creases_ensure() + + .. method:: vertex_creases_remove() + + .. method:: vertex_paint_mask_ensure() + + .. method:: vertex_paint_mask_remove() + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.mesh` + - :class:`BlendData.meshes` + - :class:`BlendDataMeshes.new` + - :class:`BlendDataMeshes.new_from_object` + - :class:`BlendDataMeshes.remove` + - :class:`Mesh.texco_mesh` + - :class:`Mesh.texture_mesh` + - :class:`Mesh.unit_test_compare` + - :class:`Object.to_mesh` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshCacheModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshCacheModifier.rst new file mode 100644 index 0000000..36501fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshCacheModifier.rst @@ -0,0 +1,204 @@ +MeshCacheModifier(Modifier) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: MeshCacheModifier(Modifier) + + Cache Mesh + + .. attribute:: cache_format + + (default ``'MDD'``) + + :type: Literal['MDD', 'PC2'] + + .. attribute:: deform_mode + + (default ``'OVERWRITE'``) + + - ``OVERWRITE`` + Overwrite -- Replace vertex coordinates with cached values. + - ``INTEGRATE`` + Integrate -- Integrate deformation from this modifier's input with the mesh-cache coordinates (useful for shape keys). + + :type: Literal['OVERWRITE', 'INTEGRATE'] + + .. attribute:: eval_factor + + Evaluation time in seconds (in [0, 1], default 0.0) + + :type: float + + .. attribute:: eval_frame + + The frame to evaluate (starting at 0) (in [0, 1.04857e+06], default 0.0) + + :type: float + + .. attribute:: eval_time + + Evaluation time in seconds (in [0, inf], default 0.0) + + :type: float + + .. attribute:: factor + + Influence of the deformation (in [0, 1], default 1.0) + + :type: float + + .. attribute:: filepath + + Path to external displacements file (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: flip_axis + + (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: forward_axis + + (default ``'POS_Y'``) + + :type: Literal[:ref:`rna_enum_object_axis_items`] + + .. attribute:: frame_scale + + Evaluation time in seconds (in [0, 100], default 1.0) + + :type: float + + .. attribute:: frame_start + + Add this to the start frame (in [-1.04857e+06, 1.04857e+06], default 0.0) + + :type: float + + .. attribute:: interpolation + + (default ``'LINEAR'``) + + :type: Literal['NONE', 'LINEAR'] + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: play_mode + + (default ``'SCENE'``) + + - ``SCENE`` + Scene -- Use the time from the scene. + - ``CUSTOM`` + Custom -- Use the modifier's own time evaluation. + + :type: Literal['SCENE', 'CUSTOM'] + + .. attribute:: time_mode + + Method to control playback time (default ``'FRAME'``) + + - ``FRAME`` + Frame -- Control playback using a frame-number (ignoring time FPS and start frame from the file). + - ``TIME`` + Time -- Control playback using time in seconds. + - ``FACTOR`` + Factor -- Control playback using a value between 0 and 1. + + :type: Literal['FRAME', 'TIME', 'FACTOR'] + + .. attribute:: up_axis + + (default ``'POS_Z'``) + + :type: Literal[:ref:`rna_enum_object_axis_items`] + + .. attribute:: vertex_group + + Name of the Vertex Group which determines the influence of the modifier per point (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshDeformModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshDeformModifier.rst new file mode 100644 index 0000000..a3322a8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshDeformModifier.rst @@ -0,0 +1,121 @@ +MeshDeformModifier(Modifier) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: MeshDeformModifier(Modifier) + + Mesh deformation modifier to deform with other meshes + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. data:: is_bound + + Whether geometry has been bound to control cage (default False, readonly) + + :type: bool + + .. attribute:: object + + Mesh object to deform with + + :type: :class:`Object` | None + + .. attribute:: precision + + The grid size for binding (in [2, 10], default 5) + + :type: int + + .. attribute:: use_dynamic_bind + + Recompute binding dynamically on top of other deformers (slower and more memory consuming) (default False) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshEdge.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshEdge.rst new file mode 100644 index 0000000..d67f367 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshEdge.rst @@ -0,0 +1,125 @@ +MeshEdge(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshEdge(bpy_struct) + + Edge in a Mesh data-block + + .. attribute:: hide + + (default False) + + :type: bool + + .. data:: index + + Index of this edge (in [0, inf], default 0, readonly) + + :type: int + + .. data:: is_loose + + Edge is not connected to any faces (default False, readonly) + + :type: bool + + .. attribute:: select + + (default False) + + :type: bool + + .. attribute:: use_edge_sharp + + Sharp edge for shading (default False) + + :type: bool + + .. attribute:: use_seam + + Seam edge for UV unwrapping (default False) + + :type: bool + + .. attribute:: vertices + + Vertex indices (array of 2 items, in [0, inf], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: key + + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.edges` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshEdges.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshEdges.rst new file mode 100644 index 0000000..6198900 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshEdges.rst @@ -0,0 +1,85 @@ +MeshEdges(bpy_prop_collection) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MeshEdges(bpy_prop_collection) + + Collection of mesh edges + + .. method:: add(count) + + add + + :param count: Count, Number of edges to add (in [0, inf]) + :type count: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.edges` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoop.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoop.rst new file mode 100644 index 0000000..d10bc2d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoop.rst @@ -0,0 +1,120 @@ +MeshLoop(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshLoop(bpy_struct) + + Loop in a Mesh data-block + + .. data:: bitangent + + Bitangent vector of this vertex for this face (must be computed beforehand using calc_tangents, use it only if really needed, slower access than bitangent_sign) (array of 3 items, in [-1, 1], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. data:: bitangent_sign + + Sign of the bitangent vector of this vertex for this face (must be computed beforehand using calc_tangents, bitangent = bitangent_sign * cross(normal, tangent)) (in [-1, 1], default 0.0, readonly) + + :type: float + + .. attribute:: edge_index + + Edge index (in [0, inf], default 0) + + :type: int + + .. data:: index + + Index of this loop (in [0, inf], default 0, readonly) + + :type: int + + .. data:: normal + + The normal direction of the face corner, taking into account sharp faces, sharp edges, and custom normal data (array of 3 items, in [-1, 1], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. data:: tangent + + Local space unit length tangent vector of this vertex for this face (must be computed beforehand using calc_tangents) (array of 3 items, in [-1, 1], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: vertex_index + + Vertex index (in [0, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.loops` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopColor.rst new file mode 100644 index 0000000..7ebe868 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopColor.rst @@ -0,0 +1,84 @@ +MeshLoopColor(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshLoopColor(bpy_struct) + + Vertex loop colors in a Mesh + + .. attribute:: color + + Color in sRGB color space (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MeshLoopColorLayer.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopColorLayer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopColorLayer.rst new file mode 100644 index 0000000..ba16b76 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopColorLayer.rst @@ -0,0 +1,105 @@ +MeshLoopColorLayer(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshLoopColorLayer(bpy_struct) + + Layer of vertex colors in a Mesh data-block + + .. attribute:: active + + Sets the layer as active for display and editing (default False) + + :type: bool + + .. attribute:: active_render + + Sets the layer as active for rendering (default False) + + :type: bool + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MeshLoopColor`] + + .. attribute:: name + + Name of Vertex color layer (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`LoopColors.active` + - :class:`LoopColors.new` + - :class:`LoopColors.remove` + - :class:`Mesh.vertex_colors` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopTriangle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopTriangle.rst new file mode 100644 index 0000000..953f7a1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopTriangle.rst @@ -0,0 +1,143 @@ +MeshLoopTriangle(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshLoopTriangle(bpy_struct) + + Tessellated triangle in a Mesh data-block + + .. data:: area + + Area of this triangle (in [0, inf], default 0.0, readonly) + + :type: float + + .. data:: index + + Index of this loop triangle (in [0, inf], default 0, readonly) + + :type: int + + .. data:: loops + + Indices of mesh loops that make up the triangle (array of 3 items, in [0, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: material_index + + Material slot index of this triangle (in [0, inf], default 0, readonly) + + :type: int + + .. data:: normal + + Local space unit length normal vector for this triangle (array of 3 items, in [-1, 1], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. data:: polygon_index + + Index of mesh face that the triangle is a part of (in [0, inf], default 0, readonly) + + :type: int + + .. data:: split_normals + + Local space unit length custom normal vectors of the face corners of this triangle (multi-dimensional array of 3 * 3 items, in [-1, 1], default ((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: use_smooth + + (default False, readonly) + + :type: bool + + .. data:: vertices + + Indices of triangle vertices (array of 3 items, in [0, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: center + + The midpoint of the face. + + (readonly) + + .. data:: edge_keys + + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.loop_triangles` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopTriangles.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopTriangles.rst new file mode 100644 index 0000000..ea6ad4b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoopTriangles.rst @@ -0,0 +1,78 @@ +MeshLoopTriangles(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MeshLoopTriangles(bpy_prop_collection) + + Tessellation of mesh polygons into triangles + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.loop_triangles` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoops.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoops.rst new file mode 100644 index 0000000..a70b0f5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshLoops.rst @@ -0,0 +1,85 @@ +MeshLoops(bpy_prop_collection) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MeshLoops(bpy_prop_collection) + + Collection of mesh loops + + .. method:: add(count) + + add + + :param count: Count, Number of loops to add (in [0, inf]) + :type count: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.loops` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshNormalValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshNormalValue.rst new file mode 100644 index 0000000..fe3b3d5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshNormalValue.rst @@ -0,0 +1,86 @@ +MeshNormalValue(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshNormalValue(bpy_struct) + + Vector in a mesh normal array + + .. data:: vector + + 3D vector (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.corner_normals` + - :class:`Mesh.polygon_normals` + - :class:`Mesh.vertex_normals` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshPolygon.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshPolygon.rst new file mode 100644 index 0000000..3560f82 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshPolygon.rst @@ -0,0 +1,159 @@ +MeshPolygon(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshPolygon(bpy_struct) + + Polygon in a Mesh data-block + + .. data:: area + + Read only area of this face (in [0, inf], default 0.0, readonly) + + :type: float + + .. data:: center + + Center of this face (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: hide + + (default False) + + :type: bool + + .. data:: index + + Index of this face (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: loop_start + + Index of the first loop of this face (in [0, inf], default 0) + + :type: int + + .. data:: loop_total + + Number of loops used by this face (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: material_index + + Material slot index of this face (in [0, inf], default 0) + + :type: int + + .. data:: normal + + Local space unit length normal vector for this face (array of 3 items, in [-1, 1], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: select + + (default False) + + :type: bool + + .. attribute:: use_smooth + + (default False) + + :type: bool + + .. attribute:: vertices + + Vertex indices (array of 3 items, in [0, inf], default (0, 0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: edge_keys + + + (readonly) + + .. data:: loop_indices + + + (readonly) + + .. method:: flip() + + Invert winding of this face (flip its normal) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.polygons` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshPolygons.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshPolygons.rst new file mode 100644 index 0000000..f424a79 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshPolygons.rst @@ -0,0 +1,91 @@ +MeshPolygons(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MeshPolygons(bpy_prop_collection) + + Collection of mesh polygons + + .. attribute:: active + + The active face for this mesh (in [-inf, inf], default 0) + + :type: int + + .. method:: add(count) + + add + + :param count: Count, Number of polygons to add (in [0, inf]) + :type count: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.polygons` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshSequenceCacheModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshSequenceCacheModifier.rst new file mode 100644 index 0000000..06593dd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshSequenceCacheModifier.rst @@ -0,0 +1,113 @@ +MeshSequenceCacheModifier(Modifier) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: MeshSequenceCacheModifier(Modifier) + + Cache Mesh + + .. attribute:: cache_file + + :type: :class:`CacheFile` | None + + .. attribute:: object_path + + Path to the object in the Alembic archive used to lookup geometric data (default "", never None) + + :type: str + + .. attribute:: read_data + + Data to read from the cache (default {``'ATTRIBUTES'``, ``'COLOR'``, ``'POLY'``, ``'UV'``, ``'VERT'``}) + + :type: set[Literal['VERT', 'POLY', 'UV', 'COLOR', 'ATTRIBUTES']] + + .. attribute:: use_vertex_interpolation + + Allow interpolation of vertex positions (default True) + + :type: bool + + .. attribute:: velocity_scale + + Multiplier used to control the magnitude of the velocity vectors for time effects (in [0, inf], default 1.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshSkinVertex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshSkinVertex.rst new file mode 100644 index 0000000..16ca711 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshSkinVertex.rst @@ -0,0 +1,96 @@ +MeshSkinVertex(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshSkinVertex(bpy_struct) + + Per-vertex skin data for use with the Skin modifier + + .. attribute:: radius + + Radius of the skin (array of 2 items, in [0, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: use_loose + + If vertex has multiple adjacent edges, it is hulled to them directly (default False) + + :type: bool + + .. attribute:: use_root + + Vertex is a root for rotation calculations and armature generation, setting this flag does not clear other roots in the same mesh island (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MeshSkinVertexLayer.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshSkinVertexLayer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshSkinVertexLayer.rst new file mode 100644 index 0000000..bbd85a7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshSkinVertexLayer.rst @@ -0,0 +1,90 @@ +MeshSkinVertexLayer(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshSkinVertexLayer(bpy_struct) + + Per-vertex skin data for use with the Skin modifier + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MeshSkinVertex`] + + .. attribute:: name + + Name of skin layer (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.skin_vertices` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshStatVis.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshStatVis.rst new file mode 100644 index 0000000..a37dcf1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshStatVis.rst @@ -0,0 +1,143 @@ +MeshStatVis(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshStatVis(bpy_struct) + + + .. attribute:: distort_max + + Maximum angle to display (in [0, 3.14159], default 0.785398) + + :type: float + + .. attribute:: distort_min + + Minimum angle to display (in [0, 3.14159], default 0.0872665) + + :type: float + + .. attribute:: overhang_axis + + (default ``'NEG_Z'``) + + :type: Literal[:ref:`rna_enum_object_axis_items`] + + .. attribute:: overhang_max + + Maximum angle to display (in [0, 3.14159], default 0.785398) + + :type: float + + .. attribute:: overhang_min + + Minimum angle to display (in [0, 3.14159], default 0.0) + + :type: float + + .. attribute:: sharp_max + + Maximum angle to display (in [-3.14159, 3.14159], default 3.14159) + + :type: float + + .. attribute:: sharp_min + + Minimum angle to display (in [-3.14159, 3.14159], default 1.5708) + + :type: float + + .. attribute:: thickness_max + + Maximum for measuring thickness (in [0, 1000], default 0.1) + + :type: float + + .. attribute:: thickness_min + + Minimum for measuring thickness (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: thickness_samples + + Number of samples to test per face (in [1, 32], default 1) + + :type: int + + .. attribute:: type + + Type of data to visualize/check (default ``'OVERHANG'``) + + :type: Literal['OVERHANG', 'THICKNESS', 'INTERSECT', 'DISTORT', 'SHARP'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.statvis` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshToVolumeModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshToVolumeModifier.rst new file mode 100644 index 0000000..13ebf6a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshToVolumeModifier.rst @@ -0,0 +1,125 @@ +MeshToVolumeModifier(Modifier) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: MeshToVolumeModifier(Modifier) + + + .. attribute:: density + + Density of the new volume (in [0, inf], default 0.0) + + :type: float + + .. attribute:: interior_band_width + + Width of the gradient inside of the mesh (in [0, inf], default 0.0) + + :type: float + + .. attribute:: object + + Object + + :type: :class:`Object` | None + + .. attribute:: resolution_mode + + Mode for how the desired voxel size is specified (default ``'VOXEL_AMOUNT'``) + + - ``VOXEL_AMOUNT`` + Voxel Amount -- Desired number of voxels along one axis. + - ``VOXEL_SIZE`` + Voxel Size -- Desired voxel side length. + + :type: Literal['VOXEL_AMOUNT', 'VOXEL_SIZE'] + + .. attribute:: voxel_amount + + Approximate number of voxels along one axis (in [0, inf], default 0) + + :type: int + + .. attribute:: voxel_size + + Smaller values result in a higher resolution output (in [0, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshUVLoop.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshUVLoop.rst new file mode 100644 index 0000000..5e6bed2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshUVLoop.rst @@ -0,0 +1,90 @@ +MeshUVLoop(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshUVLoop(bpy_struct) + + (Deprecated) Layer of UV coordinates in a Mesh data-block + + .. attribute:: pin_uv + + (default False) + + :type: bool + + .. attribute:: uv + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MeshUVLoopLayer.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshUVLoopLayer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshUVLoopLayer.rst new file mode 100644 index 0000000..bb4b055 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshUVLoopLayer.rst @@ -0,0 +1,131 @@ +MeshUVLoopLayer(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshUVLoopLayer(bpy_struct) + + + .. attribute:: active + + Set the map as active for display and editing (default False) + + :type: bool + + .. attribute:: active_clone + + Set the map as active for cloning (default False) + + :type: bool + + .. attribute:: active_render + + Set the UV map as active for rendering (default False) + + :type: bool + + .. data:: data + + Deprecated, use 'uv', 'vertex_select', 'edge_select' or 'pin' properties instead (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MeshUVLoop`] + + .. attribute:: name + + Name of UV map (default "", never None) + + :type: str + + .. data:: pin + + UV pinned state in the UV editor (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`BoolAttributeValue`] + + .. data:: uv + + UV coordinates on face corners (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Float2AttributeValue`] + + .. method:: pin_ensure() + + pin_ensure + + :return: The boolean attribute + :rtype: :class:`BoolAttribute` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.uv_layer_clone` + - :class:`Mesh.uv_layer_stencil` + - :class:`Mesh.uv_layers` + - :class:`UVLoopLayers.active` + - :class:`UVLoopLayers.new` + - :class:`UVLoopLayers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshVertex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshVertex.rst new file mode 100644 index 0000000..ff9b46f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshVertex.rst @@ -0,0 +1,120 @@ +MeshVertex(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MeshVertex(bpy_struct) + + Vertex in a Mesh data-block + + .. attribute:: co + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: groups + + Weights for the vertex groups this vertex is member of (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`VertexGroupElement`] + + .. attribute:: hide + + (default False) + + :type: bool + + .. data:: index + + Index of this vertex (in [0, inf], default 0, readonly) + + :type: int + + .. data:: normal + + Vertex Normal (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: select + + (default False) + + :type: bool + + .. data:: undeformed_co + + For meshes with modifiers applied, the coordinate of the vertex with no deforming modifiers applied, as used for generated texture coordinates (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.vertices` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshVertices.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshVertices.rst new file mode 100644 index 0000000..70fd103 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MeshVertices.rst @@ -0,0 +1,85 @@ +MeshVertices(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MeshVertices(bpy_prop_collection) + + Collection of mesh vertices + + .. method:: add(count) + + add + + :param count: Count, Number of vertices to add (in [0, inf]) + :type count: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.vertices` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaBall.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaBall.rst new file mode 100644 index 0000000..6136084 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaBall.rst @@ -0,0 +1,208 @@ +MetaBall(ID) +============ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: MetaBall(ID) + + Metaball data-block to define blobby surfaces + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. data:: elements + + Metaball elements (default None, readonly) + + :type: :class:`MetaBallElements`\ [:class:`MetaElement`] + + .. data:: is_editmode + + True when used in editmode (default False, readonly) + + :type: bool + + .. data:: materials + + (default None, readonly) + + :type: :class:`IDMaterials`\ [:class:`Material`] + + .. attribute:: render_resolution + + Polygonization resolution in rendering (in [0.005, 10000], default 0.2) + + :type: float + + .. attribute:: resolution + + Polygonization resolution in the 3D viewport (in [0.005, 10000], default 0.4) + + :type: float + + .. attribute:: texspace_location + + Texture space location (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: texspace_size + + Texture space size (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: threshold + + Influence of metaball elements (in [0, 5], default 0.6) + + :type: float + + .. attribute:: update_method + + Metaball edit update behavior (default ``'UPDATE_ALWAYS'``) + + - ``UPDATE_ALWAYS`` + Always -- While editing, update metaball always. + - ``HALFRES`` + Half -- While editing, update metaball in half resolution. + - ``FAST`` + Fast -- While editing, update metaball without polygonization. + - ``NEVER`` + Never -- While editing, don't update metaball at all. + + :type: Literal['UPDATE_ALWAYS', 'HALFRES', 'FAST', 'NEVER'] + + .. attribute:: use_auto_texspace + + Adjust active object's texture space automatically when transforming object (default True) + + :type: bool + + .. method:: transform(matrix) + + Transform metaball elements by a matrix + + :param matrix: Matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + + .. method:: update_gpu_tag() + + update_gpu_tag + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.meta_ball` + - :class:`BlendData.metaballs` + - :class:`BlendDataMetaBalls.new` + - :class:`BlendDataMetaBalls.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaBallElements.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaBallElements.rst new file mode 100644 index 0000000..2c8e528 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaBallElements.rst @@ -0,0 +1,105 @@ +MetaBallElements(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MetaBallElements(bpy_prop_collection) + + Collection of metaball elements + + .. data:: active + + Last selected element (readonly) + + :type: :class:`MetaElement` | None + + .. method:: new(*, type='BALL') + + Add a new element to the metaball + + :param type: Type for the new metaball element (optional) + :type type: Literal[:ref:`rna_enum_metaelem_type_items`] + :return: The newly created metaball element + :rtype: :class:`MetaElement` + + .. method:: remove(element) + + Remove an element from the metaball + + :param element: The element to remove (never None) + :type element: :class:`MetaElement` | None + + .. method:: clear() + + Remove all elements from the metaball + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MetaBall.elements` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaElement.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaElement.rst new file mode 100644 index 0000000..220af09 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaElement.rst @@ -0,0 +1,153 @@ +MetaElement(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MetaElement(bpy_struct) + + Blobby element in a metaball data-block + + .. attribute:: co + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: hide + + Hide element (default False) + + :type: bool + + .. attribute:: radius + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: rotation + + Normalized quaternion rotation (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. attribute:: select + + Select element (default False) + + :type: bool + + .. attribute:: size_x + + Size of element, use of components depends on element type (in [0, 20], default 0.0) + + :type: float + + .. attribute:: size_y + + Size of element, use of components depends on element type (in [0, 20], default 0.0) + + :type: float + + .. attribute:: size_z + + Size of element, use of components depends on element type (in [0, 20], default 0.0) + + :type: float + + .. attribute:: stiffness + + Stiffness defines how much of the element to fill (in [0, 10], default 0.0) + + :type: float + + .. attribute:: type + + Metaball type (default ``'BALL'``) + + :type: Literal[:ref:`rna_enum_metaelem_type_items`] + + .. attribute:: use_negative + + Set metaball as negative one (default False) + + :type: bool + + .. attribute:: use_scale_stiffness + + Scale stiffness instead of radius (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MetaBall.elements` + - :class:`MetaBallElements.active` + - :class:`MetaBallElements.new` + - :class:`MetaBallElements.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaStrip.rst new file mode 100644 index 0000000..9bfe194 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MetaStrip.rst @@ -0,0 +1,254 @@ +MetaStrip(Strip) +================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip` + +.. class:: MetaStrip(Strip) + + Sequence strip to group other strips as a single sequence strip + + .. attribute:: alpha_mode + + Representation of alpha information in the RGBA pixels (default ``'STRAIGHT'``) + + - ``STRAIGHT`` + Straight -- RGB channels in transparent pixels are unaffected by the alpha channel. + - ``PREMUL`` + Premultiplied -- RGB channels in transparent pixels are multiplied by the alpha channel. + + :type: Literal['STRAIGHT', 'PREMUL'] + + .. attribute:: animation_offset_end + + Animation end offset (trim end) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_end'. + + :type: int + + .. attribute:: animation_offset_start + + Animation start offset (trim start) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_start'. + + :type: int + + .. data:: channels + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`SequenceTimelineChannel`] + + .. attribute:: color_multiply + + (in [0, 20], default 1.0) + + :type: float + + .. attribute:: color_saturation + + Adjust the intensity of the input's color (in [0, 20], default 1.0) + + :type: float + + .. attribute:: content_trim_end + + Number of frames to ignore from the end of the underlying source. The source content is trimmed, and future frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. attribute:: content_trim_start + + Number of frames to ignore from the start of the underlying source. The source content is trimmed, and previous frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. data:: crop + + (readonly) + + :type: :class:`StripCrop` | None + + .. attribute:: multiply_alpha + + Multiply alpha along with color channels (default False) + + :type: bool + + .. data:: proxy + + (readonly) + + :type: :class:`StripProxy` | None + + .. data:: strips + + Strips nested in meta strip (default None, readonly) + + :type: :class:`StripsMeta`\ [:class:`Strip`] + + .. attribute:: strobe + + Only display every nth frame (in [1, 30], default 0.0) + + :type: float + + .. data:: transform + + (readonly) + + :type: :class:`StripTransform` | None + + .. attribute:: use_deinterlace + + Remove fields from video movies (default False) + + :type: bool + + .. attribute:: use_flip_x + + Flip on the X axis (default False) + + :type: bool + + .. attribute:: use_flip_y + + Flip on the Y axis (default False) + + :type: bool + + .. attribute:: use_float + + Convert input to float data (default False) + + :type: bool + + .. attribute:: use_proxy + + Use a preview proxy and/or time-code index for this strip (default False) + + :type: bool + + .. attribute:: use_reverse_frames + + Reverse frame order (default False) + + :type: bool + + .. attribute:: volume + + Playback volume of the sound (in [0, 100], default 1.0) + + :type: float + + .. method:: separate() + + Separate meta + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MirrorModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MirrorModifier.rst new file mode 100644 index 0000000..a0d3135 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MirrorModifier.rst @@ -0,0 +1,181 @@ +MirrorModifier(Modifier) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: MirrorModifier(Modifier) + + Mirroring modifier + + .. attribute:: bisect_threshold + + Distance from the bisect plane within which vertices are removed (in [0, inf], default 0.001) + + :type: float + + .. attribute:: merge_threshold + + Distance within which mirrored vertices are merged (in [0, inf], default 0.001) + + :type: float + + .. attribute:: mirror_object + + Object to use as mirror + + :type: :class:`Object` | None + + .. attribute:: mirror_offset_u + + Amount to offset mirrored UVs flipping point from the 0.5 on the U axis (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: mirror_offset_v + + Amount to offset mirrored UVs flipping point from the 0.5 point on the V axis (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: offset_u + + Mirrored UV offset on the U axis (in [-10000, 10000], default 0.0) + + :type: float + + .. attribute:: offset_v + + Mirrored UV offset on the V axis (in [-10000, 10000], default 0.0) + + :type: float + + .. attribute:: use_axis + + Enable axis mirror (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: use_bisect_axis + + Cuts the mesh across the mirror plane (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: use_bisect_flip_axis + + Flips the direction of the slice (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: use_clip + + Prevent vertices from going through the mirror during transform (default False) + + :type: bool + + .. attribute:: use_mirror_merge + + Merge vertices within the merge threshold (default True) + + :type: bool + + .. attribute:: use_mirror_u + + Mirror the U texture coordinate around the flip offset point (default False) + + :type: bool + + .. attribute:: use_mirror_udim + + Mirror the texture coordinate around each tile center (default False) + + :type: bool + + .. attribute:: use_mirror_v + + Mirror the V texture coordinate around the flip offset point (default False) + + :type: bool + + .. attribute:: use_mirror_vertex_groups + + Mirror vertex groups (e.g. .R->.L) (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Modifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Modifier.rst new file mode 100644 index 0000000..faac406 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Modifier.rst @@ -0,0 +1,162 @@ +Modifier(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`ArmatureModifier`, :class:`ArrayModifier`, :class:`BevelModifier`, :class:`BooleanModifier`, :class:`BuildModifier`, :class:`CastModifier`, :class:`ClothModifier`, :class:`CollisionModifier`, :class:`CorrectiveSmoothModifier`, :class:`CurveModifier`, :class:`DataTransferModifier`, :class:`DecimateModifier`, :class:`DisplaceModifier`, :class:`DynamicPaintModifier`, :class:`EdgeSplitModifier`, :class:`ExplodeModifier`, :class:`FluidModifier`, :class:`GreasePencilArmatureModifier`, :class:`GreasePencilArrayModifier`, :class:`GreasePencilBuildModifier`, :class:`GreasePencilColorModifier`, :class:`GreasePencilDashModifierData`, :class:`GreasePencilEnvelopeModifier`, :class:`GreasePencilHookModifier`, :class:`GreasePencilLatticeModifier`, :class:`GreasePencilLengthModifier`, :class:`GreasePencilLineartModifier`, :class:`GreasePencilMirrorModifier`, :class:`GreasePencilMultiplyModifier`, :class:`GreasePencilNoiseModifier`, :class:`GreasePencilOffsetModifier`, :class:`GreasePencilOpacityModifier`, :class:`GreasePencilOutlineModifier`, :class:`GreasePencilShrinkwrapModifier`, :class:`GreasePencilSimplifyModifier`, :class:`GreasePencilSmoothModifier`, :class:`GreasePencilSubdivModifier`, :class:`GreasePencilTextureModifier`, :class:`GreasePencilThickModifierData`, :class:`GreasePencilTimeModifier`, :class:`GreasePencilTintModifier`, :class:`GreasePencilWeightAngleModifier`, :class:`GreasePencilWeightProximityModifier`, :class:`HookModifier`, :class:`LaplacianDeformModifier`, :class:`LaplacianSmoothModifier`, :class:`LatticeModifier`, :class:`MaskModifier`, :class:`MeshCacheModifier`, :class:`MeshDeformModifier`, :class:`MeshSequenceCacheModifier`, :class:`MeshToVolumeModifier`, :class:`MirrorModifier`, :class:`MultiresModifier`, :class:`NodesModifier`, :class:`NormalEditModifier`, :class:`OceanModifier`, :class:`ParticleInstanceModifier`, :class:`ParticleSystemModifier`, :class:`RemeshModifier`, :class:`ScrewModifier`, :class:`ShrinkwrapModifier`, :class:`SimpleDeformModifier`, :class:`SkinModifier`, :class:`SmoothModifier`, :class:`SoftBodyModifier`, :class:`SolidifyModifier`, :class:`SubsurfModifier`, :class:`SurfaceDeformModifier`, :class:`SurfaceModifier`, :class:`TriangulateModifier`, :class:`UVProjectModifier`, :class:`UVWarpModifier`, :class:`VertexWeightEditModifier`, :class:`VertexWeightMixModifier`, :class:`VertexWeightProximityModifier`, :class:`VolumeDisplaceModifier`, :class:`VolumeToMeshModifier`, :class:`WarpModifier`, :class:`WaveModifier`, :class:`WeightedNormalModifier`, :class:`WeldModifier`, :class:`WireframeModifier` + +.. class:: Modifier(bpy_struct) + + Modifier affecting the geometry data of an object + + .. data:: execution_time + + Time in seconds that the modifier took to evaluate. This is only set on evaluated objects. If multiple modifiers run in parallel, execution time is not a reliable metric. (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. attribute:: is_active + + The active modifier in the list (default False) + + :type: bool + + .. data:: is_override_data + + In a local override object, whether this modifier comes from the linked reference object, or is local to the override (default True, readonly) + + :type: bool + + .. attribute:: name + + Modifier name (default "", never None) + + :type: str + + .. data:: persistent_uid + + Uniquely identifies the modifier within the modifier stack that it is part of (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: show_expanded + + Set modifier expanded in the user interface (default False) + + :type: bool + + .. attribute:: show_in_editmode + + Display modifier in Edit mode (default False) + + :type: bool + + .. attribute:: show_on_cage + + Adjust edit cage to modifier result (default False) + + :type: bool + + .. attribute:: show_render + + Use modifier during render (default False) + + :type: bool + + .. attribute:: show_viewport + + Display modifier in viewport (default False) + + :type: bool + + .. data:: type + + (default ``'GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY'``, readonly) + + :type: Literal[:ref:`rna_enum_object_modifier_type_items`] + + .. attribute:: use_apply_on_spline + + Apply this and all preceding deformation modifiers on splines' points rather than on filled curve/surface (default False) + + :type: bool + + .. attribute:: use_pin_to_last + + Keep the modifier at the end of the list (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.modifiers` + - :class:`ObjectModifiers.active` + - :class:`ObjectModifiers.new` + - :class:`ObjectModifiers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ModifierViewerPathElem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ModifierViewerPathElem.rst new file mode 100644 index 0000000..7f5015c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ModifierViewerPathElem.rst @@ -0,0 +1,79 @@ +ModifierViewerPathElem(ViewerPathElem) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ViewerPathElem` + +.. class:: ModifierViewerPathElem(ViewerPathElem) + + + .. attribute:: modifier_uid + + The persistent UID of the modifier (in [-inf, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ViewerPathElem.type` + - :class:`ViewerPathElem.ui_name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ViewerPathElem.bl_rna_get_subclass` + - :class:`ViewerPathElem.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MotionPath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MotionPath.rst new file mode 100644 index 0000000..1b06edd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MotionPath.rst @@ -0,0 +1,145 @@ +MotionPath(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MotionPath(bpy_struct) + + Cache of the world-space positions of an element over a frame range + + .. attribute:: color + + Custom color for motion path before the current frame (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: color_post + + Custom color for motion path after the current frame (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: frame_end + + End frame of the stored range (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: frame_start + + Starting frame of the stored range (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: is_modified + + Path is being edited (default False) + + :type: bool + + .. data:: length + + Number of frames cached (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: line_thickness + + Line thickness for motion path (in [1, 6], default 0) + + :type: int + + .. attribute:: lines + + Use straight lines between keyframe points (default False) + + :type: bool + + .. data:: points + + Cached positions per frame (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MotionPathVert`] + + .. data:: use_bone_head + + For PoseBone paths, use the bone head location when calculating this path (default False, readonly) + + :type: bool + + .. attribute:: use_custom_color + + Use custom color for this motion path (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.motion_path` + - :class:`PoseBone.motion_path` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MotionPathVert.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MotionPathVert.rst new file mode 100644 index 0000000..dca2f11 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MotionPathVert.rst @@ -0,0 +1,90 @@ +MotionPathVert(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MotionPathVert(bpy_struct) + + Cached location on path + + .. attribute:: co + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: select + + Path point is selected for editing (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MotionPath.points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClip.rst new file mode 100644 index 0000000..5bb71a1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClip.rst @@ -0,0 +1,238 @@ +MovieClip(ID) +============= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: MovieClip(ID) + + MovieClip data-block referencing an external movie file + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: annotation + + Annotation data for this movie clip + + :type: :class:`Annotation` | None + + .. data:: colorspace_settings + + Input color space settings (readonly) + + :type: :class:`ColorManagedInputColorspaceSettings` | None + + .. attribute:: display_aspect + + Display Aspect for this clip, does not affect rendering (array of 2 items, in [0.1, inf], default (1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: filepath + + Filename of the movie or sequence file (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. data:: fps + + Detected frame rate of the movie clip in frames per second (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: frame_duration + + Detected duration of movie clip in frames (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: frame_offset + + Offset of footage first frame relative to its file name (affects only how footage is loading, does not change data associated with a clip) (in [-inf, inf], default 0) + + :type: int + + .. attribute:: frame_start + + Global scene frame number at which this movie starts playing (affects all data associated with a clip) (in [-inf, inf], default 1) + + :type: int + + .. data:: proxy + + (readonly) + + :type: :class:`MovieClipProxy` | None + + .. data:: size + + Width and height in pixels, zero when image data cannot be loaded (array of 2 items, in [-inf, inf], default (0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: source + + Where the clip comes from (default ``'SEQUENCE'``, readonly) + + - ``SEQUENCE`` + Image Sequence -- Multiple image files, as a sequence. + - ``MOVIE`` + Movie File -- Movie file. + + :type: Literal['SEQUENCE', 'MOVIE'] + + .. data:: tracking + + (readonly) + + :type: :class:`MovieTracking` | None + + .. attribute:: use_proxy + + Use a preview proxy and/or timecode index for this clip (default False) + + :type: bool + + .. attribute:: use_proxy_custom_directory + + Create proxy images in a custom directory (default is movie location) (default False) + + :type: bool + + .. method:: metadata() + + Retrieve metadata of the movie file + + :return: Dict-like object containing the metadata + :rtype: :class:`IDPropertyWrapPtr` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.edit_movieclip` + - :class:`BlendData.movieclips` + - :class:`BlendDataMovieClips.load` + - :class:`BlendDataMovieClips.remove` + - :class:`CameraBackgroundImage.clip` + - :class:`CameraSolverConstraint.clip` + - :class:`CompositorNodeKeyingScreen.clip` + - :class:`CompositorNodeMovieClip.clip` + - :class:`CompositorNodeMovieDistortion.clip` + - :class:`CompositorNodePlaneTrackDeform.clip` + - :class:`CompositorNodeStabilize.clip` + - :class:`CompositorNodeTrackPos.clip` + - :class:`FollowTrackConstraint.clip` + - :class:`MovieClipStrip.clip` + - :class:`ObjectSolverConstraint.clip` + - :class:`Scene.active_clip` + - :class:`SpaceClipEditor.clip` + - :class:`StripsMeta.new_clip` + - :class:`StripsTopLevel.new_clip` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipProxy.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipProxy.rst new file mode 100644 index 0000000..8947493 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipProxy.rst @@ -0,0 +1,157 @@ +MovieClipProxy(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieClipProxy(bpy_struct) + + Proxy parameters for a movie clip + + .. attribute:: build_100 + + Build proxy resolution 100% of the original footage dimension (default False) + + :type: bool + + .. attribute:: build_25 + + Build proxy resolution 25% of the original footage dimension (default True) + + :type: bool + + .. attribute:: build_50 + + Build proxy resolution 50% of the original footage dimension (default False) + + :type: bool + + .. attribute:: build_75 + + Build proxy resolution 75% of the original footage dimension (default False) + + :type: bool + + .. attribute:: build_record_run + + Build record run time code index (default True) + + :type: bool + + .. attribute:: build_undistorted_100 + + Build proxy resolution 100% of the original undistorted footage dimension (default False) + + :type: bool + + .. attribute:: build_undistorted_25 + + Build proxy resolution 25% of the original undistorted footage dimension (default False) + + :type: bool + + .. attribute:: build_undistorted_50 + + Build proxy resolution 50% of the original undistorted footage dimension (default False) + + :type: bool + + .. attribute:: build_undistorted_75 + + Build proxy resolution 75% of the original undistorted footage dimension (default False) + + :type: bool + + .. attribute:: directory + + Location to store the proxy files (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: quality + + JPEG quality of proxy images (in [0, 32767], default 50) + + :type: int + + .. attribute:: timecode + + (default ``'NONE'``) + + - ``NONE`` + None -- Ignore generated timecodes, seek in movie stream based on calculated timestamp. + - ``RECORD_RUN`` + Record Run -- Seek based on timestamps read from movie stream, giving the best match between scene and movie times. + - ``FREE_RUN_NO_GAPS`` + Record Run No Gaps -- Effectively convert movie to an image sequence, ignoring incomplete or dropped frames, and changes in frame rate. + + :type: Literal['NONE', 'RECORD_RUN', 'FREE_RUN_NO_GAPS'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieClip.proxy` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipScopes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipScopes.rst new file mode 100644 index 0000000..5a3483d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipScopes.rst @@ -0,0 +1,78 @@ +MovieClipScopes(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieClipScopes(bpy_struct) + + Scopes for statistical view of a movie clip + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceClipEditor.scopes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipStrip.rst new file mode 100644 index 0000000..309a55a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipStrip.rst @@ -0,0 +1,243 @@ +MovieClipStrip(Strip) +===================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip` + +.. class:: MovieClipStrip(Strip) + + Sequence strip to load a video from the clip editor + + .. attribute:: alpha_mode + + Representation of alpha information in the RGBA pixels (default ``'STRAIGHT'``) + + - ``STRAIGHT`` + Straight -- RGB channels in transparent pixels are unaffected by the alpha channel. + - ``PREMUL`` + Premultiplied -- RGB channels in transparent pixels are multiplied by the alpha channel. + + :type: Literal['STRAIGHT', 'PREMUL'] + + .. attribute:: animation_offset_end + + Animation end offset (trim end) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_end'. + + :type: int + + .. attribute:: animation_offset_start + + Animation start offset (trim start) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_start'. + + :type: int + + .. attribute:: clip + + Movie clip that this strip uses + + :type: :class:`MovieClip` | None + + .. attribute:: color_multiply + + (in [0, 20], default 1.0) + + :type: float + + .. attribute:: color_saturation + + Adjust the intensity of the input's color (in [0, 20], default 1.0) + + :type: float + + .. attribute:: content_trim_end + + Number of frames to ignore from the end of the underlying source. The source content is trimmed, and future frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. attribute:: content_trim_start + + Number of frames to ignore from the start of the underlying source. The source content is trimmed, and previous frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. data:: crop + + (readonly) + + :type: :class:`StripCrop` | None + + .. data:: fps + + Frames per second (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. attribute:: multiply_alpha + + Multiply alpha along with color channels (default False) + + :type: bool + + .. attribute:: stabilize2d + + Use the 2D stabilized version of the clip (default False) + + :type: bool + + .. attribute:: strobe + + Only display every nth frame (in [1, 30], default 0.0) + + :type: float + + .. data:: transform + + (readonly) + + :type: :class:`StripTransform` | None + + .. attribute:: undistort + + Use the undistorted version of the clip (default False) + + :type: bool + + .. attribute:: use_deinterlace + + Remove fields from video movies (default False) + + :type: bool + + .. attribute:: use_flip_x + + Flip on the X axis (default False) + + :type: bool + + .. attribute:: use_flip_y + + Flip on the Y axis (default False) + + :type: bool + + .. attribute:: use_float + + Convert input to float data (default False) + + :type: bool + + .. attribute:: use_reverse_frames + + Reverse frame order (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipUser.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipUser.rst new file mode 100644 index 0000000..deb86da --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieClipUser.rst @@ -0,0 +1,99 @@ +MovieClipUser(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieClipUser(bpy_struct) + + Parameters defining how a MovieClip data-block is used by another data-block + + .. attribute:: frame_current + + Current frame number in movie or image sequence (in [-1048574, 1048574], default 1) + + :type: int + + .. attribute:: proxy_render_size + + Display preview using full resolution or different proxy resolutions (default ``'FULL'``) + + :type: Literal['PROXY_25', 'PROXY_50', 'PROXY_75', 'PROXY_100', 'FULL'] + + .. attribute:: use_render_undistorted + + Render preview using undistorted proxy (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CameraBackgroundImage.clip_user` + - :class:`SpaceClipEditor.clip_user` + - :class:`UILayout.template_marker` + - :class:`UILayout.template_movieclip_information` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieReconstructedCamera.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieReconstructedCamera.rst new file mode 100644 index 0000000..b1f3459 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieReconstructedCamera.rst @@ -0,0 +1,97 @@ +MovieReconstructedCamera(bpy_struct) +==================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieReconstructedCamera(bpy_struct) + + Match-moving reconstructed camera data from tracker + + .. data:: average_error + + Average error of reconstruction (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: frame + + Frame number marker is keyframed on (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: matrix + + Worldspace transformation matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), readonly) + + :type: :class:`mathutils.Matrix` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTrackingReconstructedCameras.find_frame` + - :class:`MovieTrackingReconstruction.cameras` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieStrip.rst new file mode 100644 index 0000000..db456e7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieStrip.rst @@ -0,0 +1,299 @@ +MovieStrip(Strip) +================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip` + +.. class:: MovieStrip(Strip) + + Sequence strip to load a video + + .. attribute:: alpha_mode + + Representation of alpha information in the RGBA pixels (default ``'STRAIGHT'``) + + - ``STRAIGHT`` + Straight -- RGB channels in transparent pixels are unaffected by the alpha channel. + - ``PREMUL`` + Premultiplied -- RGB channels in transparent pixels are multiplied by the alpha channel. + + :type: Literal['STRAIGHT', 'PREMUL'] + + .. attribute:: animation_offset_end + + Animation end offset (trim end) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_end'. + + :type: int + + .. attribute:: animation_offset_start + + Animation start offset (trim start) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_start'. + + :type: int + + .. attribute:: color_multiply + + (in [0, 20], default 1.0) + + :type: float + + .. attribute:: color_saturation + + Adjust the intensity of the input's color (in [0, 20], default 1.0) + + :type: float + + .. data:: colorspace_settings + + Input color space settings (readonly) + + :type: :class:`ColorManagedInputColorspaceSettings` | None + + .. attribute:: content_trim_end + + Number of frames to ignore from the end of the underlying source. The source content is trimmed, and future frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. attribute:: content_trim_start + + Number of frames to ignore from the start of the underlying source. The source content is trimmed, and previous frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. data:: crop + + (readonly) + + :type: :class:`StripCrop` | None + + .. data:: elements + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`StripElement`] + + .. attribute:: filepath + + (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. data:: fps + + Frames per second (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. attribute:: multiply_alpha + + Multiply alpha along with color channels (default False) + + :type: bool + + .. data:: proxy + + (readonly) + + :type: :class:`StripProxy` | None + + .. data:: retiming_keys + + (default None, readonly) + + :type: :class:`RetimingKeys`\ [:class:`RetimingKey`] + + .. data:: stereo_3d_format + + Settings for stereo 3D (readonly, never None) + + :type: :class:`Stereo3dFormat` + + .. attribute:: stream_index + + For files with several movie streams, use the stream with the given index (in [0, 20], default 0) + + :type: int + + .. attribute:: strobe + + Only display every nth frame (in [1, 30], default 0.0) + + :type: float + + .. data:: transform + + (readonly) + + :type: :class:`StripTransform` | None + + .. attribute:: use_deinterlace + + Remove fields from video movies (default False) + + :type: bool + + .. attribute:: use_flip_x + + Flip on the X axis (default False) + + :type: bool + + .. attribute:: use_flip_y + + Flip on the Y axis (default False) + + :type: bool + + .. attribute:: use_float + + Convert input to float data (default False) + + :type: bool + + .. attribute:: use_multiview + + Use Multiple Views (when available) (default False) + + :type: bool + + .. attribute:: use_proxy + + Use a preview proxy and/or time-code index for this strip (default False) + + :type: bool + + .. attribute:: use_reverse_frames + + Reverse frame order (default False) + + :type: bool + + .. attribute:: views_format + + Mode to load movie views (default ``'INDIVIDUAL'``) + + :type: Literal[:ref:`rna_enum_views_format_items`] + + .. method:: reload_if_needed() + + reload_if_needed + + :return: True if the strip can produce frames, False otherwise + :rtype: bool + + .. method:: metadata() + + Retrieve metadata of the movie file + + :return: Dict-like object containing the metadata + :rtype: :class:`IDPropertyWrapPtr` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTracking.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTracking.rst new file mode 100644 index 0000000..4d97723 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTracking.rst @@ -0,0 +1,132 @@ +MovieTracking(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieTracking(bpy_struct) + + Match-moving data for tracking + + .. attribute:: active_object_index + + Index of active object (in [-inf, inf], default 0) + + :type: int + + .. data:: camera + + (readonly) + + :type: :class:`MovieTrackingCamera` | None + + .. data:: dopesheet + + (readonly) + + :type: :class:`MovieTrackingDopesheet` | None + + .. data:: objects + + Collection of objects in this tracking data object (default None, readonly) + + :type: :class:`MovieTrackingObjects`\ [:class:`MovieTrackingObject`] + + .. data:: plane_tracks + + Collection of plane tracks in this tracking data object. Deprecated, use objects[name].plane_tracks (default None, readonly) + + :type: :class:`MovieTrackingPlaneTracks`\ [:class:`MovieTrackingPlaneTrack`] + + .. data:: reconstruction + + (readonly) + + :type: :class:`MovieTrackingReconstruction` | None + + .. data:: settings + + (readonly) + + :type: :class:`MovieTrackingSettings` | None + + .. data:: stabilization + + (readonly) + + :type: :class:`MovieTrackingStabilization` | None + + .. data:: tracks + + Collection of tracks in this tracking data object. Deprecated, use objects[name].tracks (default None, readonly) + + :type: :class:`MovieTrackingTracks`\ [:class:`MovieTrackingTrack`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieClip.tracking` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingCamera.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingCamera.rst new file mode 100644 index 0000000..6ea32dc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingCamera.rst @@ -0,0 +1,230 @@ +MovieTrackingCamera(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieTrackingCamera(bpy_struct) + + Match-moving camera data for tracking + + .. attribute:: brown_k1 + + First coefficient of fourth order Brown-Conrady radial distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: brown_k2 + + Second coefficient of fourth order Brown-Conrady radial distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: brown_k3 + + Third coefficient of fourth order Brown-Conrady radial distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: brown_k4 + + Fourth coefficient of fourth order Brown-Conrady radial distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: brown_p1 + + First coefficient of second order Brown-Conrady tangential distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: brown_p2 + + Second coefficient of second order Brown-Conrady tangential distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: distortion_model + + Distortion model used for camera lenses (default ``'POLYNOMIAL'``) + + - ``POLYNOMIAL`` + Polynomial -- Radial distortion model which fits common cameras. + - ``DIVISION`` + Divisions -- Division distortion model which better represents wide-angle cameras. + - ``NUKE`` + Nuke -- Nuke distortion model. + - ``BROWN`` + Brown -- Brown-Conrady distortion model. + + :type: Literal['POLYNOMIAL', 'DIVISION', 'NUKE', 'BROWN'] + + .. attribute:: division_k1 + + First coefficient of second order division distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: division_k2 + + Second coefficient of second order division distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: focal_length + + Camera's focal length (in [0.0001, inf], default 0.0) + + :type: float + + .. attribute:: focal_length_pixels + + Camera's focal length (in [0, inf], default 0.0) + + :type: float + + .. attribute:: k1 + + First coefficient of third order polynomial radial distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: k2 + + Second coefficient of third order polynomial radial distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: k3 + + Third coefficient of third order polynomial radial distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: nuke_k1 + + First coefficient of second order Nuke distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: nuke_k2 + + Second coefficient of second order Nuke distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: nuke_p1 + + First coefficient of tangential Nuke distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: nuke_p2 + + Second coefficient of tangential Nuke distortion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: pixel_aspect + + Pixel aspect ratio (in [0.1, inf], default 1.0) + + :type: float + + .. attribute:: principal_point + + Optical center of lens (array of 2 items, in [-1, 1], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: principal_point_pixels + + Optical center of lens in pixels (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: sensor_width + + Width of CCD sensor in millimeters (in [0, 500], default 0.0) + + :type: float + + .. attribute:: units + + Units used for camera focal length (default ``'PIXELS'``) + + - ``PIXELS`` + px -- Use pixels for units of focal length. + - ``MILLIMETERS`` + mm -- Use millimeters for units of focal length. + + :type: Literal['PIXELS', 'MILLIMETERS'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTracking.camera` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingDopesheet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingDopesheet.rst new file mode 100644 index 0000000..0b82dfb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingDopesheet.rst @@ -0,0 +1,115 @@ +MovieTrackingDopesheet(bpy_struct) +================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieTrackingDopesheet(bpy_struct) + + Match-moving dopesheet data + + .. attribute:: show_hidden + + Include channels from objects/bone that are not visible (default False) + + :type: bool + + .. attribute:: show_only_selected + + Only include channels relating to selected objects and data (default False) + + :type: bool + + .. attribute:: sort_method + + Method to be used to sort channels in dopesheet view (default ``'NAME'``) + + - ``NAME`` + Name -- Sort channels by their names. + - ``LONGEST`` + Longest -- Sort channels by longest tracked segment. + - ``TOTAL`` + Total -- Sort channels by overall amount of tracked segments. + - ``AVERAGE_ERROR`` + Average Error -- Sort channels by average reprojection error of tracks after solve. + - ``START`` + Start Frame -- Sort channels by first frame number. + - ``END`` + End Frame -- Sort channels by last frame number. + + :type: Literal['NAME', 'LONGEST', 'TOTAL', 'AVERAGE_ERROR', 'START', 'END'] + + .. attribute:: use_invert_sort + + Invert sort order of dopesheet channels (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTracking.dopesheet` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingMarker.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingMarker.rst new file mode 100644 index 0000000..47be15b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingMarker.rst @@ -0,0 +1,128 @@ +MovieTrackingMarker(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieTrackingMarker(bpy_struct) + + Match-moving marker data for tracking + + .. attribute:: co + + Marker position at frame in normalized coordinates (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: frame + + Frame number marker is keyframed on (in [-inf, inf], default 0) + + :type: int + + .. attribute:: is_keyed + + Whether the position of the marker is keyframed or tracked (default True) + + :type: bool + + .. attribute:: mute + + Is marker muted for current frame (default False) + + :type: bool + + .. data:: pattern_bound_box + + Pattern area bounding box in normalized coordinates (multi-dimensional array of 2 * 2 items, in [-inf, inf], default ((0.0, 0.0), (0.0, 0.0)), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: pattern_corners + + Array of coordinates which represents pattern's corners in normalized coordinates relative to marker position (multi-dimensional array of 4 * 2 items, in [-inf, inf], default ((0.0, 0.0), (0.0, 0.0), (0.0, 0.0), (0.0, 0.0))) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: search_max + + Right-bottom corner of search area in normalized coordinates relative to marker position (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: search_min + + Left-bottom corner of search area in normalized coordinates relative to marker position (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTrackingMarkers.find_frame` + - :class:`MovieTrackingMarkers.insert_frame` + - :class:`MovieTrackingTrack.markers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingMarkers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingMarkers.rst new file mode 100644 index 0000000..ab46393 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingMarkers.rst @@ -0,0 +1,107 @@ +MovieTrackingMarkers(bpy_prop_collection) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MovieTrackingMarkers(bpy_prop_collection) + + Collection of markers for movie tracking track + + .. method:: find_frame(frame, *, exact=True) + + Get marker for specified frame + + :param frame: Frame, Frame number to find marker for (in [0, 1048574]) + :type frame: int + :param exact: Exact, Get marker at exact frame number rather than get estimated marker (optional) + :type exact: bool + :return: Marker for specified frame + :rtype: :class:`MovieTrackingMarker` + + .. method:: insert_frame(frame, *, co=(0.0, 0.0)) + + Insert a new marker at the specified frame + + :param frame: Frame, Frame number to insert marker to (in [0, 1048574]) + :type frame: int + :param co: Coordinate, Place new marker at the given frame using specified in normalized space coordinates (array of 2 items, in [-1, 1], optional) + :type co: :class:`mathutils.Vector` | Sequence[float] + :return: Newly created marker + :rtype: :class:`MovieTrackingMarker` + + .. method:: delete_frame(frame) + + Delete marker at specified frame + + :param frame: Frame, Frame number to delete marker from (in [0, 1048574]) + :type frame: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTrackingTrack.markers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObject.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObject.rst new file mode 100644 index 0000000..6bf2ba4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObject.rst @@ -0,0 +1,129 @@ +MovieTrackingObject(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieTrackingObject(bpy_struct) + + Match-moving object tracking and reconstruction data + + .. data:: is_camera + + Object is used for camera tracking (default False, readonly) + + :type: bool + + .. attribute:: keyframe_a + + First keyframe used for reconstruction initialization (in [-inf, inf], default 0) + + :type: int + + .. attribute:: keyframe_b + + Second keyframe used for reconstruction initialization (in [-inf, inf], default 0) + + :type: int + + .. attribute:: name + + Unique name of object (default "", never None) + + :type: str + + .. data:: plane_tracks + + Collection of plane tracks in this tracking data object (default None, readonly) + + :type: :class:`MovieTrackingObjectPlaneTracks`\ [:class:`MovieTrackingPlaneTrack`] + + .. data:: reconstruction + + (readonly) + + :type: :class:`MovieTrackingReconstruction` | None + + .. attribute:: scale + + Scale of object solution in camera space (in [0.0001, 10000], default 1.0) + + :type: float + + .. data:: tracks + + Collection of tracks in this tracking data object (default None, readonly) + + :type: :class:`MovieTrackingObjectTracks`\ [:class:`MovieTrackingTrack`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTracking.objects` + - :class:`MovieTrackingObjects.active` + - :class:`MovieTrackingObjects.new` + - :class:`MovieTrackingObjects.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObjectPlaneTracks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObjectPlaneTracks.rst new file mode 100644 index 0000000..3c333ad --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObjectPlaneTracks.rst @@ -0,0 +1,84 @@ +MovieTrackingObjectPlaneTracks(bpy_prop_collection) +=================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MovieTrackingObjectPlaneTracks(bpy_prop_collection) + + Collection of tracking plane tracks + + .. attribute:: active + + Active track in this tracking data object + + :type: :class:`MovieTrackingTrack` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTrackingObject.plane_tracks` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObjectTracks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObjectTracks.rst new file mode 100644 index 0000000..52239da --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObjectTracks.rst @@ -0,0 +1,95 @@ +MovieTrackingObjectTracks(bpy_prop_collection) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MovieTrackingObjectTracks(bpy_prop_collection) + + Collection of movie tracking tracks + + .. attribute:: active + + Active track in this tracking data object + + :type: :class:`MovieTrackingTrack` | None + + .. method:: new(*, name="", frame=1) + + create new motion track in this movie clip + + :param name: Name of new track (optional, never None) + :type name: str + :param frame: Frame, Frame number to add tracks on (in [0, 1048574], optional) + :type frame: int + :return: Newly created track + :rtype: :class:`MovieTrackingTrack` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTrackingObject.tracks` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObjects.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObjects.rst new file mode 100644 index 0000000..db8c6e9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingObjects.rst @@ -0,0 +1,100 @@ +MovieTrackingObjects(bpy_prop_collection) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MovieTrackingObjects(bpy_prop_collection) + + Collection of movie tracking objects + + .. attribute:: active + + Active object in this tracking data object + + :type: :class:`MovieTrackingObject` | None + + .. method:: new(name) + + Add tracking object to this movie clip + + :param name: Name of new object (never None) + :type name: str + :return: New motion tracking object + :rtype: :class:`MovieTrackingObject` + + .. method:: remove(object) + + Remove tracking object from this movie clip + + :param object: Motion tracking object to be removed (never None) + :type object: :class:`MovieTrackingObject` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTracking.objects` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneMarker.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneMarker.rst new file mode 100644 index 0000000..55f3129 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneMarker.rst @@ -0,0 +1,98 @@ +MovieTrackingPlaneMarker(bpy_struct) +==================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieTrackingPlaneMarker(bpy_struct) + + Match-moving plane marker data for tracking + + .. attribute:: corners + + Array of coordinates which represents UI rectangle corners in frame normalized coordinates (multi-dimensional array of 4 * 2 items, in [-inf, inf], default ((0.0, 0.0), (0.0, 0.0), (0.0, 0.0), (0.0, 0.0))) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: frame + + Frame number marker is keyframed on (in [-inf, inf], default 0) + + :type: int + + .. attribute:: mute + + Is marker muted for current frame (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTrackingPlaneMarkers.find_frame` + - :class:`MovieTrackingPlaneMarkers.insert_frame` + - :class:`MovieTrackingPlaneTrack.markers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneMarkers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneMarkers.rst new file mode 100644 index 0000000..fa6589f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneMarkers.rst @@ -0,0 +1,105 @@ +MovieTrackingPlaneMarkers(bpy_prop_collection) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MovieTrackingPlaneMarkers(bpy_prop_collection) + + Collection of markers for movie tracking plane track + + .. method:: find_frame(frame, *, exact=True) + + Get plane marker for specified frame + + :param frame: Frame, Frame number to find marker for (in [0, 1048574]) + :type frame: int + :param exact: Exact, Get plane marker at exact frame number rather than get estimated marker (optional) + :type exact: bool + :return: Plane marker for specified frame + :rtype: :class:`MovieTrackingPlaneMarker` + + .. method:: insert_frame(frame) + + Insert a new plane marker at the specified frame + + :param frame: Frame, Frame number to insert marker to (in [0, 1048574]) + :type frame: int + :return: Newly created plane marker + :rtype: :class:`MovieTrackingPlaneMarker` + + .. method:: delete_frame(frame) + + Delete plane marker at specified frame + + :param frame: Frame, Frame number to delete plane marker from (in [0, 1048574]) + :type frame: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTrackingPlaneTrack.markers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneTrack.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneTrack.rst new file mode 100644 index 0000000..416eeb9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneTrack.rst @@ -0,0 +1,116 @@ +MovieTrackingPlaneTrack(bpy_struct) +=================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieTrackingPlaneTrack(bpy_struct) + + Match-moving plane track data for tracking + + .. attribute:: image + + Image displayed in the track during editing in clip editor + + :type: :class:`Image` | None + + .. attribute:: image_opacity + + Opacity of the image (in [0, 1], default 0.0) + + :type: float + + .. data:: markers + + Collection of markers in track (default None, readonly) + + :type: :class:`MovieTrackingPlaneMarkers`\ [:class:`MovieTrackingPlaneMarker`] + + .. attribute:: name + + Unique name of track (default "", never None) + + :type: str + + .. attribute:: select + + Plane track is selected (default False) + + :type: bool + + .. attribute:: use_auto_keying + + Automatic keyframe insertion when moving plane corners (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTracking.plane_tracks` + - :class:`MovieTrackingObject.plane_tracks` + - :class:`MovieTrackingPlaneTracks.active` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneTracks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneTracks.rst new file mode 100644 index 0000000..d7a2c57 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingPlaneTracks.rst @@ -0,0 +1,84 @@ +MovieTrackingPlaneTracks(bpy_prop_collection) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MovieTrackingPlaneTracks(bpy_prop_collection) + + Collection of movie tracking plane tracks + + .. attribute:: active + + Active plane track in this tracking data object. Deprecated, use objects[name].plane_tracks.active + + :type: :class:`MovieTrackingPlaneTrack` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTracking.plane_tracks` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingReconstructedCameras.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingReconstructedCameras.rst new file mode 100644 index 0000000..0741b1b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingReconstructedCameras.rst @@ -0,0 +1,96 @@ +MovieTrackingReconstructedCameras(bpy_prop_collection) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MovieTrackingReconstructedCameras(bpy_prop_collection) + + Collection of solved cameras + + .. method:: find_frame(*, frame=1) + + Find a reconstructed camera for a give frame number + + :param frame: Frame, Frame number to find camera for (in [0, 1048574], optional) + :type frame: int + :return: Camera for a given frame + :rtype: :class:`MovieReconstructedCamera` + + .. method:: matrix_from_frame(*, frame=1) + + Return interpolated camera matrix for a given frame + + :param frame: Frame, Frame number to find camera for (in [0, 1048574], optional) + :type frame: int + :return: Matrix, Interpolated camera matrix for a given frame (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :rtype: :class:`mathutils.Matrix` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTrackingReconstruction.cameras` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingReconstruction.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingReconstruction.rst new file mode 100644 index 0000000..14b9fa7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingReconstruction.rst @@ -0,0 +1,97 @@ +MovieTrackingReconstruction(bpy_struct) +======================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieTrackingReconstruction(bpy_struct) + + Match-moving reconstruction data from tracker + + .. data:: average_error + + Average error of reconstruction (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: cameras + + Collection of solved cameras (default None, readonly) + + :type: :class:`MovieTrackingReconstructedCameras`\ [:class:`MovieReconstructedCamera`] + + .. data:: is_valid + + Whether the tracking data contains valid reconstruction information (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTracking.reconstruction` + - :class:`MovieTrackingObject.reconstruction` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingSettings.rst new file mode 100644 index 0000000..0da4c8f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingSettings.rst @@ -0,0 +1,270 @@ +MovieTrackingSettings(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieTrackingSettings(bpy_struct) + + Match moving settings + + .. attribute:: clean_action + + Cleanup action to execute (default ``'SELECT'``) + + - ``SELECT`` + Select -- Select unclean tracks. + - ``DELETE_TRACK`` + Delete Track -- Delete unclean tracks. + - ``DELETE_SEGMENTS`` + Delete Segments -- Delete unclean segments of tracks. + + :type: Literal['SELECT', 'DELETE_TRACK', 'DELETE_SEGMENTS'] + + .. attribute:: clean_error + + Effect on tracks which have a larger re-projection error (in [0, inf], default 0.0) + + :type: float + + .. attribute:: clean_frames + + Effect on tracks which are tracked less than the specified amount of frames (in [0, inf], default 0) + + :type: int + + .. attribute:: default_correlation_min + + Default minimum value of correlation between matched pattern and reference that is still treated as successful tracking (in [0, 1], default 0.0) + + :type: float + + .. attribute:: default_frames_limit + + Every tracking cycle, this number of frames are tracked (in [0, 32767], default 0) + + :type: int + + .. attribute:: default_margin + + Default distance from image boundary at which marker stops tracking (in [0, 300], default 0) + + :type: int + + .. attribute:: default_motion_model + + Default motion model to use for tracking (default ``'Loc'``) + + - ``Perspective`` + Perspective -- Search for markers that are perspectively deformed (homography) between frames. + - ``Affine`` + Affine -- Search for markers that are affine-deformed (t, r, k, and skew) between frames. + - ``LocRotScale`` + Location, Rotation & Scale -- Search for markers that are translated, rotated, and scaled between frames. + - ``LocScale`` + Location & Scale -- Search for markers that are translated and scaled between frames. + - ``LocRot`` + Location & Rotation -- Search for markers that are translated and rotated between frames. + - ``Loc`` + Location -- Search for markers that are translated between frames. + + :type: Literal['Perspective', 'Affine', 'LocRotScale', 'LocScale', 'LocRot', 'Loc'] + + .. attribute:: default_pattern_match + + Track pattern from given frame when tracking marker to next frame (default ``'KEYFRAME'``) + + - ``KEYFRAME`` + Keyframe -- Track pattern from keyframe to next frame. + - ``PREV_FRAME`` + Previous frame -- Track pattern from current frame to next frame. + + :type: Literal['KEYFRAME', 'PREV_FRAME'] + + .. attribute:: default_pattern_size + + Size of pattern area for newly created tracks (in [5, 1000], default 0) + + :type: int + + .. attribute:: default_search_size + + Size of search area for newly created tracks (in [5, 1000], default 0) + + :type: int + + .. attribute:: default_weight + + Influence of newly created track on a final solution (in [0, 1], default 0.0) + + :type: float + + .. attribute:: distance + + Distance between two bundles used for scene scaling (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: object_distance + + Distance between two bundles used for object scaling (in [0.001, 10000], default 1.0) + + :type: float + + .. attribute:: refine_intrinsics_focal_length + + Refine focal length during camera solving (default False) + + :type: bool + + .. attribute:: refine_intrinsics_principal_point + + Refine principal point during camera solving (default False) + + :type: bool + + .. attribute:: refine_intrinsics_radial_distortion + + Refine radial coefficients of distortion model during camera solving (default False) + + :type: bool + + .. attribute:: refine_intrinsics_tangential_distortion + + Refine tangential coefficients of distortion model during camera solving (default False) + + :type: bool + + .. attribute:: speed + + Limit speed of tracking to make visual feedback easier (this does not affect the tracking quality) (default ``'FASTEST'``) + + - ``FASTEST`` + Fastest -- Track as fast as possible. + - ``DOUBLE`` + Double -- Track with double speed. + - ``REALTIME`` + Realtime -- Track with realtime speed. + - ``HALF`` + Half -- Track with half of realtime speed. + - ``QUARTER`` + Quarter -- Track with quarter of realtime speed. + + :type: Literal['FASTEST', 'DOUBLE', 'REALTIME', 'HALF', 'QUARTER'] + + .. attribute:: use_default_blue_channel + + Use blue channel from footage for tracking (default True) + + :type: bool + + .. attribute:: use_default_brute + + Use a brute-force translation-only initialization when tracking (default False) + + :type: bool + + .. attribute:: use_default_green_channel + + Use green channel from footage for tracking (default True) + + :type: bool + + .. attribute:: use_default_mask + + Use a Grease Pencil data-block as a mask to use only specified areas of pattern when tracking (default False) + + :type: bool + + .. attribute:: use_default_normalization + + Normalize light intensities while tracking (slower) (default False) + + :type: bool + + .. attribute:: use_default_red_channel + + Use red channel from footage for tracking (default True) + + :type: bool + + .. attribute:: use_keyframe_selection + + Automatically select keyframes when solving camera/object motion (default False) + + :type: bool + + .. attribute:: use_tripod_solver + + Use special solver to track a stable camera position, such as a tripod (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTracking.settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingStabilization.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingStabilization.rst new file mode 100644 index 0000000..24c3001 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingStabilization.rst @@ -0,0 +1,193 @@ +MovieTrackingStabilization(bpy_struct) +====================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieTrackingStabilization(bpy_struct) + + 2D stabilization based on tracking markers + + .. attribute:: active_rotation_track_index + + Index of active track in rotation stabilization tracks list (in [-inf, inf], default 0) + + :type: int + + .. attribute:: active_track_index + + Index of active track in translation stabilization tracks list (in [-inf, inf], default 0) + + :type: int + + .. attribute:: anchor_frame + + Reference point to anchor stabilization (other frames will be adjusted relative to this frame's position) (in [0, 1048574], default 0) + + :type: int + + .. attribute:: filter_type + + Interpolation to use for sub-pixel shifts and rotations due to stabilization (default ``'NEAREST'``) + + - ``NEAREST`` + Nearest -- No interpolation, use nearest neighbor pixel. + - ``BILINEAR`` + Bilinear -- Simple interpolation between adjacent pixels. + - ``BICUBIC`` + Bicubic -- High quality pixel interpolation. + + :type: Literal['NEAREST', 'BILINEAR', 'BICUBIC'] + + .. attribute:: influence_location + + Influence of stabilization algorithm on footage location (in [0, 1], default 0.0) + + :type: float + + .. attribute:: influence_rotation + + Influence of stabilization algorithm on footage rotation (in [0, 1], default 0.0) + + :type: float + + .. attribute:: influence_scale + + Influence of stabilization algorithm on footage scale (in [0, 1], default 0.0) + + :type: float + + .. data:: rotation_tracks + + Collection of tracks used for 2D stabilization (translation) (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MovieTrackingTrack`] + + .. attribute:: scale_max + + Limit the amount of automatic scaling (in [0, 10], default 0.0) + + :type: float + + .. attribute:: show_tracks_expanded + + Show UI list of tracks participating in stabilization (default False) + + :type: bool + + .. attribute:: target_position + + Known relative offset of original shot, will be subtracted (e.g. for panning shot, can be animated) (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: target_rotation + + Rotation present on original shot, will be compensated (e.g. for deliberate tilting) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: target_scale + + Explicitly scale resulting frame to compensate zoom of original shot (in [1.192e-07, inf], default 0.0) + + :type: float + + .. data:: tracks + + Collection of tracks used for 2D stabilization (translation) (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MovieTrackingTrack`] + + .. attribute:: use_2d_stabilization + + Use 2D stabilization for footage (default False) + + :type: bool + + .. attribute:: use_autoscale + + Automatically scale footage to cover unfilled areas when stabilizing (default False) + + :type: bool + + .. attribute:: use_stabilize_rotation + + Stabilize detected rotation around center of frame (default False) + + :type: bool + + .. attribute:: use_stabilize_scale + + Compensate any scale changes relative to center of rotation (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTracking.stabilization` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingTrack.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingTrack.rst new file mode 100644 index 0000000..cc06442 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingTrack.rst @@ -0,0 +1,286 @@ +MovieTrackingTrack(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: MovieTrackingTrack(bpy_struct) + + Match-moving track data for tracking + + .. attribute:: annotation + + Annotation data for this track + + :type: :class:`Annotation` | None + + .. data:: average_error + + Average error of re-projection (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: bundle + + Position of bundle reconstructed from this track (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: color + + Color of the track in the Movie Clip Editor and the 3D viewport after a solve (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: correlation_min + + Minimal value of correlation between matched pattern and reference that is still treated as successful tracking (in [0, 1], default 0.0) + + :type: float + + .. attribute:: frames_limit + + Every tracking cycle, this number of frames are tracked (in [0, 32767], default 0) + + :type: int + + .. data:: has_bundle + + True if track has a valid bundle (default False, readonly) + + :type: bool + + .. attribute:: hide + + Track is hidden (default False) + + :type: bool + + .. attribute:: lock + + Track is locked and all changes to it are disabled (default False) + + :type: bool + + .. attribute:: margin + + Distance from image boundary at which marker stops tracking (in [0, 300], default 0) + + :type: int + + .. data:: markers + + Collection of markers in track (default None, readonly) + + :type: :class:`MovieTrackingMarkers`\ [:class:`MovieTrackingMarker`] + + .. attribute:: motion_model + + Default motion model to use for tracking (default ``'Loc'``) + + - ``Perspective`` + Perspective -- Search for markers that are perspectively deformed (homography) between frames. + - ``Affine`` + Affine -- Search for markers that are affine-deformed (t, r, k, and skew) between frames. + - ``LocRotScale`` + Location, Rotation & Scale -- Search for markers that are translated, rotated, and scaled between frames. + - ``LocScale`` + Location & Scale -- Search for markers that are translated and scaled between frames. + - ``LocRot`` + Location & Rotation -- Search for markers that are translated and rotated between frames. + - ``Loc`` + Location -- Search for markers that are translated between frames. + + :type: Literal['Perspective', 'Affine', 'LocRotScale', 'LocScale', 'LocRot', 'Loc'] + + .. attribute:: name + + Unique name of track (default "", never None) + + :type: str + + .. attribute:: offset + + Offset of track from the parenting point (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: pattern_match + + Track pattern from given frame when tracking marker to next frame (default ``'KEYFRAME'``) + + - ``KEYFRAME`` + Keyframe -- Track pattern from keyframe to next frame. + - ``PREV_FRAME`` + Previous frame -- Track pattern from current frame to next frame. + + :type: Literal['KEYFRAME', 'PREV_FRAME'] + + .. attribute:: select + + Track is selected (default False) + + :type: bool + + .. attribute:: select_anchor + + Track's anchor point is selected (default False) + + :type: bool + + .. attribute:: select_pattern + + Track's pattern area is selected (default False) + + :type: bool + + .. attribute:: select_search + + Track's search area is selected (default False) + + :type: bool + + .. attribute:: use_alpha_preview + + Apply track's mask on displaying preview (default False) + + :type: bool + + .. attribute:: use_blue_channel + + Use blue channel from footage for tracking (default True) + + :type: bool + + .. attribute:: use_brute + + Use a brute-force translation only pre-track before refinement (default False) + + :type: bool + + .. attribute:: use_custom_color + + Use custom color instead of theme-defined (default False) + + :type: bool + + .. attribute:: use_grayscale_preview + + Display what the tracking algorithm sees in the preview (default False) + + :type: bool + + .. attribute:: use_green_channel + + Use green channel from footage for tracking (default True) + + :type: bool + + .. attribute:: use_mask + + Use a Grease Pencil data-block as a mask to use only specified areas of pattern when tracking (default False) + + :type: bool + + .. attribute:: use_normalization + + Normalize light intensities while tracking (slower) (default False) + + :type: bool + + .. attribute:: use_red_channel + + Use red channel from footage for tracking (default True) + + :type: bool + + .. attribute:: weight + + Influence of this track on a final solution (in [0, 1], default 0.0) + + :type: float + + .. attribute:: weight_stab + + Influence of this track on 2D stabilization (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.selected_movieclip_tracks` + - :class:`MovieTracking.tracks` + - :class:`MovieTrackingObject.tracks` + - :class:`MovieTrackingObjectPlaneTracks.active` + - :class:`MovieTrackingObjectTracks.active` + - :class:`MovieTrackingObjectTracks.new` + - :class:`MovieTrackingStabilization.rotation_tracks` + - :class:`MovieTrackingStabilization.tracks` + - :class:`MovieTrackingTracks.active` + - :class:`MovieTrackingTracks.new` + - :class:`UILayout.template_marker` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingTracks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingTracks.rst new file mode 100644 index 0000000..df0f80f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MovieTrackingTracks.rst @@ -0,0 +1,95 @@ +MovieTrackingTracks(bpy_prop_collection) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: MovieTrackingTracks(bpy_prop_collection) + + Collection of movie tracking tracks + + .. attribute:: active + + Active track in this tracking data object. Deprecated, use objects[name].tracks.active + + :type: :class:`MovieTrackingTrack` | None + + .. method:: new(*, name="", frame=1) + + Create new motion track in this movie clip + + :param name: Name of new track (optional, never None) + :type name: str + :param frame: Frame, Frame number to add track on (in [0, 1048574], optional) + :type frame: int + :return: Newly created track + :rtype: :class:`MovieTrackingTrack` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MovieTracking.tracks` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MulticamStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MulticamStrip.rst new file mode 100644 index 0000000..9085e9f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MulticamStrip.rst @@ -0,0 +1,170 @@ +MulticamStrip(EffectStrip) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: MulticamStrip(EffectStrip) + + Sequence strip to perform multicam editing + + .. attribute:: animation_offset_end + + Animation end offset (trim end) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_end'. + + :type: int + + .. attribute:: animation_offset_start + + Animation start offset (trim start) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_start'. + + :type: int + + .. attribute:: content_trim_end + + Number of frames to ignore from the end of the underlying source. The source content is trimmed, and future frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. attribute:: content_trim_start + + Number of frames to ignore from the start of the underlying source. The source content is trimmed, and previous frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: multicam_source + + (in [0, 127], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MultiplyStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MultiplyStrip.rst new file mode 100644 index 0000000..9670257 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MultiplyStrip.rst @@ -0,0 +1,144 @@ +MultiplyStrip(EffectStrip) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: MultiplyStrip(EffectStrip) + + Multiply Strip + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. attribute:: input_2 + + Second input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MultiresModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MultiresModifier.rst new file mode 100644 index 0000000..c8185a0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MultiresModifier.rst @@ -0,0 +1,163 @@ +MultiresModifier(Modifier) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: MultiresModifier(Modifier) + + Multiresolution mesh modifier + + .. attribute:: boundary_smooth + + Controls how open boundaries are smoothed (default ``'ALL'``) + + :type: Literal[:ref:`rna_enum_subdivision_boundary_smooth_items`] + + .. attribute:: filepath + + Path to external displacements file (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. data:: is_external + + Store multires displacements outside the .blend file, to save memory (default False, readonly) + + :type: bool + + .. attribute:: levels + + Number of subdivisions to use in the viewport (in [0, 255], default 0) + + :type: int + + .. attribute:: quality + + Accuracy of vertex positions, lower value is faster but less precise (in [1, 10], default 4) + + :type: int + + .. attribute:: render_levels + + The subdivision level visible at render time (in [0, 255], default 0) + + :type: int + + .. attribute:: sculpt_levels + + Number of subdivisions to use in sculpt mode (in [0, 255], default 0) + + :type: int + + .. attribute:: show_only_control_edges + + Skip drawing/rendering of interior subdivided edges (default True) + + :type: bool + + .. data:: total_levels + + Number of subdivisions for which displacements are stored (in [0, 255], default 0, readonly) + + :type: int + + .. attribute:: use_creases + + Use mesh crease information to sharpen edges or corners (default True) + + :type: bool + + .. attribute:: use_custom_normals + + Interpolates existing custom normals to resulting mesh (default False) + + :type: bool + + .. attribute:: use_sculpt_base_mesh + + Make Sculpt Mode tools deform the base mesh while previewing the displacement of higher subdivision levels (default False) + + :type: bool + + .. attribute:: uv_smooth + + Controls how smoothing is applied to UVs (default ``'PRESERVE_BOUNDARIES'``) + + :type: Literal[:ref:`rna_enum_subdivision_uv_smooth_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MusgraveTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MusgraveTexture.rst new file mode 100644 index 0000000..5fba0f5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.MusgraveTexture.rst @@ -0,0 +1,241 @@ +MusgraveTexture(Texture) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Texture` + +.. class:: MusgraveTexture(Texture) + + Procedural musgrave texture + + .. attribute:: dimension_max + + Highest fractal dimension (in [0.0001, 2], default 1.0) + + :type: float + + .. attribute:: gain + + The gain multiplier (in [0, 6], default 1.0) + + :type: float + + .. attribute:: lacunarity + + Gap between successive frequencies (in [0, 6], default 2.0) + + :type: float + + .. attribute:: musgrave_type + + Fractal noise algorithm (default ``'MULTIFRACTAL'``) + + - ``MULTIFRACTAL`` + Multifractal -- Use Perlin noise as a basis. + - ``RIDGED_MULTIFRACTAL`` + Ridged Multifractal -- Use Perlin noise with inflection as a basis. + - ``HYBRID_MULTIFRACTAL`` + Hybrid Multifractal -- Use Perlin noise as a basis, with extended controls. + - ``FBM`` + fBM -- Fractal Brownian Motion, use Brownian noise as a basis. + - ``HETERO_TERRAIN`` + Hetero Terrain -- Similar to multifractal. + + :type: Literal['MULTIFRACTAL', 'RIDGED_MULTIFRACTAL', 'HYBRID_MULTIFRACTAL', 'FBM', 'HETERO_TERRAIN'] + + .. attribute:: nabla + + Size of derivative offset used for calculating normal (in [0.001, 0.1], default 0.025) + + :type: float + + .. attribute:: noise_basis + + Noise basis used for turbulence (default ``'BLENDER_ORIGINAL'``) + + - ``BLENDER_ORIGINAL`` + Blender Original -- Noise algorithm - Blender original: Smooth interpolated noise. + - ``ORIGINAL_PERLIN`` + Original Perlin -- Noise algorithm - Original Perlin: Smooth interpolated noise. + - ``IMPROVED_PERLIN`` + Improved Perlin -- Noise algorithm - Improved Perlin: Smooth interpolated noise. + - ``VORONOI_F1`` + Voronoi F1 -- Noise algorithm - Voronoi F1: Returns distance to the closest feature point. + - ``VORONOI_F2`` + Voronoi F2 -- Noise algorithm - Voronoi F2: Returns distance to the 2nd closest feature point. + - ``VORONOI_F3`` + Voronoi F3 -- Noise algorithm - Voronoi F3: Returns distance to the 3rd closest feature point. + - ``VORONOI_F4`` + Voronoi F4 -- Noise algorithm - Voronoi F4: Returns distance to the 4th closest feature point. + - ``VORONOI_F2_F1`` + Voronoi F2-F1 -- Noise algorithm - Voronoi F1-F2. + - ``VORONOI_CRACKLE`` + Voronoi Crackle -- Noise algorithm - Voronoi Crackle: Voronoi tessellation with sharp edges. + - ``CELL_NOISE`` + Cell Noise -- Noise algorithm - Cell Noise: Square cell tessellation. + + :type: Literal['BLENDER_ORIGINAL', 'ORIGINAL_PERLIN', 'IMPROVED_PERLIN', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2_F1', 'VORONOI_CRACKLE', 'CELL_NOISE'] + + .. attribute:: noise_intensity + + Intensity of the noise (in [0, 10], default 1.0) + + :type: float + + .. attribute:: noise_scale + + Scaling for noise input (in [0.0001, inf], default 0.25) + + :type: float + + .. attribute:: octaves + + Number of frequencies used (in [0, 8], default 2.0) + + :type: float + + .. attribute:: offset + + The fractal offset (in [0, 6], default 1.0) + + :type: float + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Texture.type` + - :class:`Texture.use_clamp` + - :class:`Texture.use_color_ramp` + - :class:`Texture.color_ramp` + - :class:`Texture.intensity` + - :class:`Texture.contrast` + - :class:`Texture.saturation` + - :class:`Texture.factor_red` + - :class:`Texture.factor_green` + - :class:`Texture.factor_blue` + - :class:`Texture.use_preview_alpha` + - :class:`Texture.use_nodes` + - :class:`Texture.node_tree` + - :class:`Texture.animation_data` + - :class:`Texture.users_material` + - :class:`Texture.users_object_modifier` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Texture.evaluate` + - :class:`Texture.bl_rna_get_subclass` + - :class:`Texture.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NDOFMotionEventData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NDOFMotionEventData.rst new file mode 100644 index 0000000..717edda --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NDOFMotionEventData.rst @@ -0,0 +1,102 @@ +NDOFMotionEventData(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NDOFMotionEventData(bpy_struct) + + NDOF motion data for window manager events + + .. data:: progress + + Indicates the gesture phase (default ``'STARTING'``, readonly) + + :type: Literal['STARTING', 'IN_PROGRESS', 'FINISHING'] + + .. data:: rotation + + Axis-angle rotation of this motion event. The vector magnitude is the angle where 1.0 represents 360 degrees. The angle is typically scaled by the time-delta before use. (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. data:: time_delta + + Time since previous motion event (in seconds) (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: translation + + The translation of this motion event. The range on each axis is [-1 to 1], before being multiplied by the sensitivity preference. This is typically scaled by the time-delta before use. (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Event.ndof_motion` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NODE_AST_compositor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NODE_AST_compositor.rst new file mode 100644 index 0000000..fe2a133 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NODE_AST_compositor.rst @@ -0,0 +1,120 @@ +NODE_AST_compositor(AssetShelf) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: NODE_AST_compositor(AssetShelf) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NODE_FH_image_node.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NODE_FH_image_node.rst new file mode 100644 index 0000000..dbcf797 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NODE_FH_image_node.rst @@ -0,0 +1,77 @@ +NODE_FH_image_node(FileHandler) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FileHandler` + +.. class:: NODE_FH_image_node(FileHandler) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FileHandler.bl_idname` + - :class:`FileHandler.bl_import_operator` + - :class:`FileHandler.bl_export_operator` + - :class:`FileHandler.bl_label` + - :class:`FileHandler.bl_file_extensions` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FileHandler.poll_drop` + - :class:`FileHandler.bl_rna_get_subclass` + - :class:`FileHandler.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaStrip.rst new file mode 100644 index 0000000..a084db4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaStrip.rst @@ -0,0 +1,320 @@ +NlaStrip(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NlaStrip(bpy_struct) + + A container referencing an existing Action + + .. attribute:: action + + Action referenced by this strip + + :type: :class:`Action` | None + + .. attribute:: action_frame_end + + Last frame from action to use (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: action_frame_start + + First frame from action to use (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: action_slot + + The slot identifies which sub-set of the Action is considered to be for this strip, and its name is used to find the right slot when assigning another Action + + :type: :class:`ActionSlot` | None + + .. attribute:: action_slot_handle + + A number that identifies which sub-set of the Action is considered to be for this NLA strip (in [-inf, inf], default 0) + + :type: int + + .. data:: action_suitable_slots + + The list of action slots suitable for this NLA strip (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ActionSlot`] + + .. data:: active + + NLA Strip is active (default False, readonly) + + :type: bool + + .. attribute:: blend_in + + Number of frames at start of strip to fade in influence (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: blend_out + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: blend_type + + Method used for combining strip's result with accumulated result (default ``'REPLACE'``) + + - ``REPLACE`` + Replace -- The strip values replace the accumulated results by amount specified by influence. + - ``COMBINE`` + Combine -- The strip values are combined with accumulated results by appropriately using addition, multiplication, or quaternion math, based on channel type. + - ``ADD`` + Add -- Weighted result of strip is added to the accumulated results. + - ``SUBTRACT`` + Subtract -- Weighted result of strip is removed from the accumulated results. + - ``MULTIPLY`` + Multiply -- Weighted result of strip is multiplied with the accumulated results. + + :type: Literal['REPLACE', 'COMBINE', 'ADD', 'SUBTRACT', 'MULTIPLY'] + + .. attribute:: extrapolation + + Action to take for gaps past the strip extents (default ``'HOLD'``) + + - ``NOTHING`` + Nothing -- Strip has no influence past its extents. + - ``HOLD`` + Hold -- Hold the first frame if no previous strips in track, and always hold last frame. + - ``HOLD_FORWARD`` + Hold Forward -- Only hold last frame. + + :type: Literal['NOTHING', 'HOLD', 'HOLD_FORWARD'] + + .. data:: fcurves + + F-Curves for controlling the strip's influence and timing (default None, readonly) + + :type: :class:`NlaStripFCurves`\ [:class:`FCurve`] + + .. attribute:: frame_end + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: frame_end_raw + + Same as frame_end, except that any value can be set, including ones that create an invalid state (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: frame_end_ui + + End frame of the NLA strip. Note: changing this value also updates the value of the strip's repeats or its action's end frame. If only the end frame should be changed, see the "frame_end" property instead. (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: frame_start + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: frame_start_raw + + Same as frame_start, except that any value can be set, including ones that create an invalid state (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: frame_start_ui + + Start frame of the NLA strip. Note: changing this value also updates the value of the strip's end frame. If only the start frame should be changed, see the "frame_start" property instead. (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: influence + + Amount the strip contributes to the current result (in [0, 1], default 0.0) + + :type: float + + .. attribute:: last_slot_identifier + + The identifier of the most recently assigned action slot. The slot identifies which sub-set of the Action is considered to be for this strip, and its identifier is used to find the right slot when assigning an Action. (default "", never None) + + :type: str + + .. data:: modifiers + + Modifiers affecting all the F-Curves in the referenced Action (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`FModifier`] + + .. attribute:: mute + + Disable NLA Strip evaluation (default False) + + :type: bool + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: repeat + + Number of times to repeat the action range (in [0.1, 1000], default 1.0) + + :type: float + + .. attribute:: scale + + Scaling factor for action (in [0.0001, 1000], default 1.0) + + :type: float + + .. attribute:: select + + NLA Strip is selected (default False) + + :type: bool + + .. attribute:: strip_time + + Frame of referenced Action to evaluate (in [-inf, inf], default 0.0) + + :type: float + + .. data:: strips + + NLA Strips that this strip acts as a container for (if it is of type Meta) (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`NlaStrip`] + + .. data:: type + + Type of NLA Strip (default ``'CLIP'``, readonly) + + - ``CLIP`` + Action Clip -- NLA Strip references some Action. + - ``TRANSITION`` + Transition -- NLA Strip 'transitions' between adjacent strips. + - ``META`` + Meta -- NLA Strip acts as a container for adjacent strips. + - ``SOUND`` + Sound Clip -- NLA Strip representing a sound event for speakers. + + :type: Literal['CLIP', 'TRANSITION', 'META', 'SOUND'] + + .. attribute:: use_animated_influence + + Influence setting is controlled by an F-Curve rather than automatically determined (default False) + + :type: bool + + .. attribute:: use_animated_time + + Strip time is controlled by an F-Curve rather than automatically determined (default False) + + :type: bool + + .. attribute:: use_animated_time_cyclic + + Cycle the animated time within the action start and end (default False) + + :type: bool + + .. attribute:: use_auto_blend + + Number of frames for Blending In/Out is automatically determined from overlapping strips (default False) + + :type: bool + + .. attribute:: use_reverse + + NLA Strip is played back in reverse order (only when timing is automatically determined) (default False) + + :type: bool + + .. attribute:: use_sync_length + + Update range of frames referenced from action after tweaking strip and its keyframes (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_nla_strip` + - :mod:`bpy.context.selected_nla_strips` + - :class:`NlaStrip.strips` + - :class:`NlaStrips.new` + - :class:`NlaStrips.remove` + - :class:`NlaTrack.strips` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaStripFCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaStripFCurves.rst new file mode 100644 index 0000000..1963c0b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaStripFCurves.rst @@ -0,0 +1,89 @@ +NlaStripFCurves(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NlaStripFCurves(bpy_prop_collection) + + Collection of NLA strip F-Curves + + .. method:: find(data_path, *, index=0) + + Find an F-Curve. Note that this function performs a linear scan of all F-Curves in the NLA strip. + + :param data_path: Data Path, F-Curve data path (never None) + :type data_path: str + :param index: Index, Array index (in [0, inf], optional) + :type index: int + :return: The found F-Curve, or None if it doesn't exist + :rtype: :class:`FCurve` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NlaStrip.fcurves` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaStrips.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaStrips.rst new file mode 100644 index 0000000..8b533a9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaStrips.rst @@ -0,0 +1,98 @@ +NlaStrips(bpy_prop_collection) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NlaStrips(bpy_prop_collection) + + Collection of NLA Strips + + .. method:: new(name, start, action) + + Add a new Action-Clip strip to the track + + :param name: Name for the NLA Strip (never None) + :type name: str + :param start: Start Frame, Start frame for this strip (in [-inf, inf]) + :type start: int + :param action: Action to assign to this strip (never None) + :type action: :class:`Action` | None + :return: New NLA Strip + :rtype: :class:`NlaStrip` + + .. method:: remove(strip) + + Remove a NLA Strip + + :param strip: NLA Strip to remove (never None) + :type strip: :class:`NlaStrip` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NlaTrack.strips` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaTrack.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaTrack.rst new file mode 100644 index 0000000..8f60348 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaTrack.rst @@ -0,0 +1,131 @@ +NlaTrack(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NlaTrack(bpy_struct) + + An animation layer containing Actions referenced as NLA strips + + .. data:: active + + NLA Track is active (default False, readonly) + + :type: bool + + .. data:: is_override_data + + In a local override data, whether this NLA track comes from the linked reference data, or is local to the override (default True, readonly) + + :type: bool + + .. attribute:: is_solo + + NLA Track is evaluated itself (i.e. active Action and all other NLA Tracks in the same AnimData block are disabled) (default False) + + :type: bool + + .. attribute:: lock + + NLA Track is locked (default False) + + :type: bool + + .. attribute:: mute + + Disable NLA Track evaluation (default False) + + :type: bool + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: select + + NLA Track is selected (default False) + + :type: bool + + .. data:: strips + + NLA Strips on this NLA-track (default None, readonly) + + :type: :class:`NlaStrips`\ [:class:`NlaStrip`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_nla_track` + - :class:`AnimData.nla_tracks` + - :class:`NlaTracks.active` + - :class:`NlaTracks.new` + - :class:`NlaTracks.new` + - :class:`NlaTracks.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaTracks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaTracks.rst new file mode 100644 index 0000000..0d35653 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NlaTracks.rst @@ -0,0 +1,100 @@ +NlaTracks(bpy_prop_collection) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NlaTracks(bpy_prop_collection) + + Collection of NLA Tracks + + .. attribute:: active + + Active NLA Track + + :type: :class:`NlaTrack` | None + + .. method:: new(*, prev=None) + + Add a new NLA Track + + :param prev: NLA Track to add the new one after (optional) + :type prev: :class:`NlaTrack` | None + :return: New NLA Track + :rtype: :class:`NlaTrack` + + .. method:: remove(track) + + Remove a NLA Track + + :param track: NLA Track to remove (never None) + :type track: :class:`NlaTrack` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AnimData.nla_tracks` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Node.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Node.rst new file mode 100644 index 0000000..f99a16c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Node.rst @@ -0,0 +1,578 @@ +Node(bpy_struct) +================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`NodeCustomGroup`, :class:`NodeInternal` + +.. class:: Node(bpy_struct) + + Node in a node tree + + .. attribute:: bl_description + + (default "", never None) + + :type: str + + .. attribute:: bl_height_default + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: bl_height_max + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: bl_height_min + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: bl_icon + + The node icon (default ``'NODE'``) + + :type: Literal[:ref:`rna_enum_icon_items`] + + .. attribute:: bl_idname + + (default "", never None) + + :type: str + + .. attribute:: bl_label + + The node label (default "", never None) + + :type: str + + .. data:: bl_static_type + + Legacy unique node type identifier, redundant with bl_idname property (default "", readonly, never None) + + :type: str + + .. attribute:: bl_width_default + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: bl_width_max + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: bl_width_min + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: color + + Custom color of the node body (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: color_tag + + Node header color tag (default ``'NONE'``, readonly) + + - ``NONE`` + None -- Default color tag for new nodes and node groups. + - ``ATTRIBUTE`` + Attribute. + - ``COLOR`` + Color. + - ``CONVERTER`` + Converter. + - ``DISTORT`` + Distort. + - ``FILTER`` + Filter. + - ``GEOMETRY`` + Geometry. + - ``INPUT`` + Input. + - ``MATTE`` + Matte. + - ``OUTPUT`` + Output. + - ``SCRIPT`` + Script. + - ``SHADER`` + Shader. + - ``TEXTURE`` + Texture. + - ``VECTOR`` + Vector. + - ``PATTERN`` + Pattern. + - ``INTERFACE`` + Interface. + - ``GROUP`` + Group. + + :type: Literal['NONE', 'ATTRIBUTE', 'COLOR', 'CONVERTER', 'DISTORT', 'FILTER', 'GEOMETRY', 'INPUT', 'MATTE', 'OUTPUT', 'SCRIPT', 'SHADER', 'TEXTURE', 'VECTOR', 'PATTERN', 'INTERFACE', 'GROUP'] + + .. data:: dimensions + + Absolute bounding box dimensions of the node (array of 2 items, in [-inf, inf], default (0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: height + + Height of the node (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: hide + + (default False) + + :type: bool + + .. data:: inputs + + (default None, readonly) + + :type: :class:`NodeInputs`\ [:class:`NodeSocket`] + + .. data:: internal_links + + Internal input-to-output connections for muting (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`NodeLink`] + + .. attribute:: label + + Optional custom node label (default "", never None) + + :type: str + + .. attribute:: location + + Location of the node within its parent frame (array of 2 items, in [-1e+06, 1e+06], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: location_absolute + + Location of the node in the entire canvas (array of 2 items, in [-1e+06, 1e+06], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: mute + + (default False) + + :type: bool + + .. attribute:: name + + Unique node identifier (default "", never None) + + :type: str + + .. data:: outputs + + (default None, readonly) + + :type: :class:`NodeOutputs`\ [:class:`NodeSocket`] + + .. attribute:: parent + + Parent this node is attached to + + :type: :class:`Node` | None + + .. attribute:: select + + Node selection state (default False) + + :type: bool + + .. attribute:: show_options + + (default False) + + :type: bool + + .. attribute:: show_preview + + (default False) + + :type: bool + + .. attribute:: show_texture + + Display node in viewport textured shading mode (default False) + + :type: bool + + .. data:: type + + Legacy unique node type identifier, redundant with bl_idname property (default "", readonly, never None) + + :type: str + + .. attribute:: use_custom_color + + Use custom color for the node (default False) + + :type: bool + + .. attribute:: warning_propagation + + The kinds of messages that should be propagated from this node to the parent group node (default ``'ALL'``) + + - ``ALL`` + All Messages -- Propagate every info, error, and warning message upstream. + - ``ERRORS_AND_WARNINGS`` + Errors and Warnings -- Propagate only error and warning messages upstream. + - ``ERRORS`` + Errors -- Propagate only error messages upstream. + - ``NONE`` + None -- Do not propagate any messages upstream. + + :type: Literal['ALL', 'ERRORS_AND_WARNINGS', 'ERRORS', 'NONE'] + + .. attribute:: width + + Width of the node (in [-inf, inf], default 0.0) + + :type: float + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. method:: socket_value_update(context) + + Update after property changes + + :param context: (never None) + :type context: :class:`Context` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: poll(node_tree) + + If non-null output is returned, the node type can be added to the tree + + :param node_tree: Node Tree + :type node_tree: :class:`NodeTree` | None + :rtype: bool + + .. method:: poll_instance(node_tree) + + If non-null output is returned, the node can be added to the tree + + :param node_tree: Node Tree + :type node_tree: :class:`NodeTree` | None + :rtype: bool + + .. method:: update() + + Update on node graph topology changes (adding or removing nodes and links) + + + .. method:: insert_link(link) + + Handle creation of a link to or from the node + + :param link: Link, Node link that will be inserted (never None) + :type link: :class:`NodeLink` | None + + .. method:: init(context) + + Initialize a new instance of this node + + :param context: (never None) + :type context: :class:`Context` | None + + .. method:: copy(node) + + Initialize a new instance of this node from an existing node + + :param node: Node, Existing node to copy (never None) + :type node: :class:`Node` | None + + .. method:: free() + + Clean up node on removal + + + .. method:: draw_buttons(context, layout) + + Draw node buttons + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: draw_buttons_ext(context, layout) + + Draw node buttons in the sidebar + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: draw_label() + + Returns a dynamic label string + + :return: Label, (never None) + :rtype: str + + .. method:: debug_zone_body_lazy_function_graph() + + Get the internal lazy-function graph for the body of this zone + + :return: Dot Graph, Graph in dot format + :rtype: str + + .. method:: debug_zone_lazy_function_graph() + + Get the internal lazy-function graph for this zone + + :return: Dot Graph, Graph in dot format + :rtype: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_node` + - :mod:`bpy.context.selected_nodes` + - :mod:`bpy.context.texture_node` + - :class:`GeometryNodeForeachGeometryElementInput.paired_output` + - :class:`GeometryNodeMenuSwitch.enum_definition` + - :class:`GeometryNodeRepeatInput.paired_output` + - :class:`GeometryNodeSimulationInput.paired_output` + - :class:`Node.copy` + - :class:`Node.parent` + - :class:`NodeClosureInput.paired_output` + - :class:`NodeLink.from_node` + - :class:`NodeLink.to_node` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.node` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeTree.nodes` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocketBool.from_socket` + - :class:`NodeTreeInterfaceSocketBool.init_socket` + - :class:`NodeTreeInterfaceSocketBundle.from_socket` + - :class:`NodeTreeInterfaceSocketBundle.init_socket` + - :class:`NodeTreeInterfaceSocketClosure.from_socket` + - :class:`NodeTreeInterfaceSocketClosure.init_socket` + - :class:`NodeTreeInterfaceSocketCollection.from_socket` + - :class:`NodeTreeInterfaceSocketCollection.init_socket` + - :class:`NodeTreeInterfaceSocketColor.from_socket` + - :class:`NodeTreeInterfaceSocketColor.init_socket` + - :class:`NodeTreeInterfaceSocketFloat.from_socket` + - :class:`NodeTreeInterfaceSocketFloat.init_socket` + - :class:`NodeTreeInterfaceSocketFloatAngle.from_socket` + - :class:`NodeTreeInterfaceSocketFloatAngle.init_socket` + - :class:`NodeTreeInterfaceSocketFloatColorTemperature.from_socket` + - :class:`NodeTreeInterfaceSocketFloatColorTemperature.init_socket` + - :class:`NodeTreeInterfaceSocketFloatDistance.from_socket` + - :class:`NodeTreeInterfaceSocketFloatDistance.init_socket` + - :class:`NodeTreeInterfaceSocketFloatFactor.from_socket` + - :class:`NodeTreeInterfaceSocketFloatFactor.init_socket` + - :class:`NodeTreeInterfaceSocketFloatFrequency.from_socket` + - :class:`NodeTreeInterfaceSocketFloatFrequency.init_socket` + - :class:`NodeTreeInterfaceSocketFloatMass.from_socket` + - :class:`NodeTreeInterfaceSocketFloatMass.init_socket` + - :class:`NodeTreeInterfaceSocketFloatPercentage.from_socket` + - :class:`NodeTreeInterfaceSocketFloatPercentage.init_socket` + - :class:`NodeTreeInterfaceSocketFloatTime.from_socket` + - :class:`NodeTreeInterfaceSocketFloatTime.init_socket` + - :class:`NodeTreeInterfaceSocketFloatTimeAbsolute.from_socket` + - :class:`NodeTreeInterfaceSocketFloatTimeAbsolute.init_socket` + - :class:`NodeTreeInterfaceSocketFloatUnsigned.from_socket` + - :class:`NodeTreeInterfaceSocketFloatUnsigned.init_socket` + - :class:`NodeTreeInterfaceSocketFloatWavelength.from_socket` + - :class:`NodeTreeInterfaceSocketFloatWavelength.init_socket` + - :class:`NodeTreeInterfaceSocketGeometry.from_socket` + - :class:`NodeTreeInterfaceSocketGeometry.init_socket` + - :class:`NodeTreeInterfaceSocketImage.from_socket` + - :class:`NodeTreeInterfaceSocketImage.init_socket` + - :class:`NodeTreeInterfaceSocketInt.from_socket` + - :class:`NodeTreeInterfaceSocketInt.init_socket` + - :class:`NodeTreeInterfaceSocketIntFactor.from_socket` + - :class:`NodeTreeInterfaceSocketIntFactor.init_socket` + - :class:`NodeTreeInterfaceSocketIntPercentage.from_socket` + - :class:`NodeTreeInterfaceSocketIntPercentage.init_socket` + - :class:`NodeTreeInterfaceSocketIntUnsigned.from_socket` + - :class:`NodeTreeInterfaceSocketIntUnsigned.init_socket` + - :class:`NodeTreeInterfaceSocketMaterial.from_socket` + - :class:`NodeTreeInterfaceSocketMaterial.init_socket` + - :class:`NodeTreeInterfaceSocketMatrix.from_socket` + - :class:`NodeTreeInterfaceSocketMatrix.init_socket` + - :class:`NodeTreeInterfaceSocketMenu.from_socket` + - :class:`NodeTreeInterfaceSocketMenu.init_socket` + - :class:`NodeTreeInterfaceSocketObject.from_socket` + - :class:`NodeTreeInterfaceSocketObject.init_socket` + - :class:`NodeTreeInterfaceSocketRotation.from_socket` + - :class:`NodeTreeInterfaceSocketRotation.init_socket` + - :class:`NodeTreeInterfaceSocketShader.from_socket` + - :class:`NodeTreeInterfaceSocketShader.init_socket` + - :class:`NodeTreeInterfaceSocketString.from_socket` + - :class:`NodeTreeInterfaceSocketString.init_socket` + - :class:`NodeTreeInterfaceSocketStringFilePath.from_socket` + - :class:`NodeTreeInterfaceSocketStringFilePath.init_socket` + - :class:`NodeTreeInterfaceSocketTexture.from_socket` + - :class:`NodeTreeInterfaceSocketTexture.init_socket` + - :class:`NodeTreeInterfaceSocketVector.from_socket` + - :class:`NodeTreeInterfaceSocketVector.init_socket` + - :class:`NodeTreeInterfaceSocketVector2D.from_socket` + - :class:`NodeTreeInterfaceSocketVector2D.init_socket` + - :class:`NodeTreeInterfaceSocketVector4D.from_socket` + - :class:`NodeTreeInterfaceSocketVector4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration.from_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration.init_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection.from_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection.init_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler.from_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler.init_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor.from_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor.init_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage.from_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage.init_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation.from_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation.init_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity.from_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity.init_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ.from_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ.init_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ4D.init_socket` + - :class:`Nodes.active` + - :class:`Nodes.new` + - :class:`Nodes.remove` + - :class:`NodesModifierBake.node` + - :class:`RenderEngine.update_script_node` + - :class:`SpaceNodeEditorPath.append` + - :class:`UILayout.template_node_inputs` + - :class:`UILayout.template_node_link` + - :class:`UILayout.template_node_view` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureInput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureInput.rst new file mode 100644 index 0000000..52d2e47 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureInput.rst @@ -0,0 +1,167 @@ +NodeClosureInput(NodeInternal) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeClosureInput(NodeInternal) + + + .. data:: paired_output + + Zone output node that this input node is paired with (readonly) + + :type: :class:`Node` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. method:: pair_with_output(output_node) + + Pair a zone input node with an output node. + + :param output_node: Output Node, Zone output node to pair with + :type output_node: :class:`NodeInternal` | None + :return: Result, True if pairing the node was successful + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureInputItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureInputItem.rst new file mode 100644 index 0000000..2d6cd2a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureInputItem.rst @@ -0,0 +1,103 @@ +NodeClosureInputItem(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeClosureInputItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. attribute:: structure_type + + What kind of higher order types are expected to flow through this socket (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_node_socket_structure_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeClosureInputItems.new` + - :class:`NodeClosureInputItems.remove` + - :class:`NodeClosureOutput.input_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureInputItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureInputItems.rst new file mode 100644 index 0000000..e20828b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureInputItems.rst @@ -0,0 +1,109 @@ +NodeClosureInputItems(bpy_prop_collection) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeClosureInputItems(bpy_prop_collection) + + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeClosureInputItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeClosureInputItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeClosureOutput.input_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureOutput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureOutput.rst new file mode 100644 index 0000000..9bab5ec --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureOutput.rst @@ -0,0 +1,182 @@ +NodeClosureOutput(NodeInternal) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeClosureOutput(NodeInternal) + + + .. attribute:: active_input_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_output_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: define_signature + + This zone defines a closure signature that should be used by other nodes (default False) + + :type: bool + + .. data:: input_items + + (default None, readonly) + + :type: :class:`NodeClosureInputItems`\ [:class:`NodeClosureInputItem`] + + .. data:: output_items + + (default None, readonly) + + :type: :class:`NodeClosureOutputItems`\ [:class:`NodeClosureOutputItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureOutputItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureOutputItem.rst new file mode 100644 index 0000000..2e5b315 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureOutputItem.rst @@ -0,0 +1,103 @@ +NodeClosureOutputItem(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeClosureOutputItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. attribute:: structure_type + + What kind of higher order types are expected to flow through this socket (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_node_socket_structure_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeClosureOutput.output_items` + - :class:`NodeClosureOutputItems.new` + - :class:`NodeClosureOutputItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureOutputItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureOutputItems.rst new file mode 100644 index 0000000..a60b1e8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeClosureOutputItems.rst @@ -0,0 +1,109 @@ +NodeClosureOutputItems(bpy_prop_collection) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeClosureOutputItems(bpy_prop_collection) + + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeClosureOutputItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeClosureOutputItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeClosureOutput.output_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCombineBundle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCombineBundle.rst new file mode 100644 index 0000000..03a2033 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCombineBundle.rst @@ -0,0 +1,171 @@ +NodeCombineBundle(NodeInternal) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeCombineBundle(NodeInternal) + + Combine multiple socket values into one. + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. data:: bundle_items + + (default None, readonly) + + :type: :class:`NodeCombineBundleItems`\ [:class:`NodeCombineBundleItem`] + + .. attribute:: define_signature + + This node defines a bundle signature that should be used by other nodes (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCombineBundleItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCombineBundleItem.rst new file mode 100644 index 0000000..9cfbb92 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCombineBundleItem.rst @@ -0,0 +1,103 @@ +NodeCombineBundleItem(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeCombineBundleItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. attribute:: structure_type + + What kind of higher order types are expected to flow through this socket (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_node_socket_structure_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeCombineBundle.bundle_items` + - :class:`NodeCombineBundleItems.new` + - :class:`NodeCombineBundleItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCombineBundleItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCombineBundleItems.rst new file mode 100644 index 0000000..cfb92d6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCombineBundleItems.rst @@ -0,0 +1,110 @@ +NodeCombineBundleItems(bpy_prop_collection) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeCombineBundleItems(bpy_prop_collection) + + Collection of combine bundle items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeCombineBundleItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeCombineBundleItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeCombineBundle.bundle_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCompositorFileOutputItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCompositorFileOutputItem.rst new file mode 100644 index 0000000..fa5cc57 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCompositorFileOutputItem.rst @@ -0,0 +1,121 @@ +NodeCompositorFileOutputItem(bpy_struct) +======================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeCompositorFileOutputItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: format + + (readonly) + + :type: :class:`ImageFormatSettings` | None + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: override_node_format + + Use a different format instead of the node format for this file (default False) + + :type: bool + + .. attribute:: save_as_render + + Apply render part of display transform when saving byte image (default False) + + :type: bool + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. attribute:: vector_socket_dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CompositorNodeOutputFile.file_output_items` + - :class:`NodeCompositorFileOutputItems.new` + - :class:`NodeCompositorFileOutputItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCompositorFileOutputItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCompositorFileOutputItems.rst new file mode 100644 index 0000000..4d64b46 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCompositorFileOutputItems.rst @@ -0,0 +1,110 @@ +NodeCompositorFileOutputItems(bpy_prop_collection) +================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeCompositorFileOutputItems(bpy_prop_collection) + + Collection of file output items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeCompositorFileOutputItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeCompositorFileOutputItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CompositorNodeOutputFile.file_output_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCustomGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCustomGroup.rst new file mode 100644 index 0000000..3f0e18c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeCustomGroup.rst @@ -0,0 +1,125 @@ +NodeCustomGroup(Node) +===================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node` + +.. class:: NodeCustomGroup(Node) + + Base node type for custom registered node group types + + .. attribute:: node_tree + + :type: :class:`NodeTree` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEnableOutput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEnableOutput.rst new file mode 100644 index 0000000..5eb80f5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEnableOutput.rst @@ -0,0 +1,159 @@ +NodeEnableOutput(NodeInternal) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeEnableOutput(NodeInternal) + + Either pass through the input value or output the fallback value + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEnumItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEnumItem.rst new file mode 100644 index 0000000..f5ea54f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEnumItem.rst @@ -0,0 +1,92 @@ +NodeEnumItem(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeEnumItem(bpy_struct) + + + .. attribute:: description + + (default "", never None) + + :type: str + + .. attribute:: name + + (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeMenuSwitch.active_item` + - :class:`GeometryNodeMenuSwitch.enum_items` + - :class:`NodeMenuSwitchItems.new` + - :class:`NodeMenuSwitchItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosure.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosure.rst new file mode 100644 index 0000000..d96db8e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosure.rst @@ -0,0 +1,183 @@ +NodeEvaluateClosure(NodeInternal) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeEvaluateClosure(NodeInternal) + + Execute a given closure + + .. attribute:: active_input_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: active_output_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. attribute:: define_signature + + This node defines a closure signature that should be used by other nodes (default False) + + :type: bool + + .. data:: input_items + + (default None, readonly) + + :type: :class:`NodeEvaluateClosureInputItems`\ [:class:`NodeEvaluateClosureInputItem`] + + .. data:: output_items + + (default None, readonly) + + :type: :class:`NodeEvaluateClosureOutputItems`\ [:class:`NodeEvaluateClosureOutputItem`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureInputItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureInputItem.rst new file mode 100644 index 0000000..7c1521c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureInputItem.rst @@ -0,0 +1,103 @@ +NodeEvaluateClosureInputItem(bpy_struct) +======================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeEvaluateClosureInputItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. attribute:: structure_type + + What kind of higher order types are expected to flow through this socket (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_node_socket_structure_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeEvaluateClosure.input_items` + - :class:`NodeEvaluateClosureInputItems.new` + - :class:`NodeEvaluateClosureInputItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureInputItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureInputItems.rst new file mode 100644 index 0000000..e3daa10 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureInputItems.rst @@ -0,0 +1,109 @@ +NodeEvaluateClosureInputItems(bpy_prop_collection) +================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeEvaluateClosureInputItems(bpy_prop_collection) + + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeEvaluateClosureInputItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeEvaluateClosureInputItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeEvaluateClosure.input_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureOutputItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureOutputItem.rst new file mode 100644 index 0000000..7aed44a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureOutputItem.rst @@ -0,0 +1,103 @@ +NodeEvaluateClosureOutputItem(bpy_struct) +========================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeEvaluateClosureOutputItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. attribute:: structure_type + + What kind of higher order types are expected to flow through this socket (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_node_socket_structure_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeEvaluateClosure.output_items` + - :class:`NodeEvaluateClosureOutputItems.new` + - :class:`NodeEvaluateClosureOutputItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureOutputItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureOutputItems.rst new file mode 100644 index 0000000..04f8f58 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeEvaluateClosureOutputItems.rst @@ -0,0 +1,109 @@ +NodeEvaluateClosureOutputItems(bpy_prop_collection) +=================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeEvaluateClosureOutputItems(bpy_prop_collection) + + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeEvaluateClosureOutputItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeEvaluateClosureOutputItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeEvaluateClosure.output_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeFrame.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeFrame.rst new file mode 100644 index 0000000..c2f0061 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeFrame.rst @@ -0,0 +1,169 @@ +NodeFrame(NodeInternal) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeFrame(NodeInternal) + + Collect related nodes together in a common area. Useful for organization when the re-usability of a node group is not required + + .. attribute:: label_size + + Font size to use for displaying the label (in [8, 64], default 0) + + :type: int + + .. attribute:: shrink + + Shrink the frame to minimal bounding box (default False) + + :type: bool + + .. attribute:: text + + :type: :class:`Text` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeFunctionFormatStringItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeFunctionFormatStringItem.rst new file mode 100644 index 0000000..0ccab4e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeFunctionFormatStringItem.rst @@ -0,0 +1,97 @@ +NodeFunctionFormatStringItem(bpy_struct) +======================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeFunctionFormatStringItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FunctionNodeFormatString.format_items` + - :class:`NodeFunctionFormatStringItems.new` + - :class:`NodeFunctionFormatStringItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeFunctionFormatStringItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeFunctionFormatStringItems.rst new file mode 100644 index 0000000..c903f43 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeFunctionFormatStringItems.rst @@ -0,0 +1,110 @@ +NodeFunctionFormatStringItems(bpy_prop_collection) +================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeFunctionFormatStringItems(bpy_prop_collection) + + Collection of format string items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeFunctionFormatStringItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeFunctionFormatStringItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`FunctionNodeFormatString.format_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryBakeItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryBakeItem.rst new file mode 100644 index 0000000..5a10d81 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryBakeItem.rst @@ -0,0 +1,109 @@ +NodeGeometryBakeItem(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeGeometryBakeItem(bpy_struct) + + + .. attribute:: attribute_domain + + Attribute domain where the attribute is stored in the baked data (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: is_attribute + + Bake item is an attribute stored on a geometry (default False) + + :type: bool + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeBake.bake_items` + - :class:`NodeGeometryBakeItems.new` + - :class:`NodeGeometryBakeItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryBakeItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryBakeItems.rst new file mode 100644 index 0000000..2ef1e47 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryBakeItems.rst @@ -0,0 +1,110 @@ +NodeGeometryBakeItems(bpy_prop_collection) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeGeometryBakeItems(bpy_prop_collection) + + Collection of bake items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeGeometryBakeItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeGeometryBakeItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeBake.bake_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryCaptureAttributeItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryCaptureAttributeItem.rst new file mode 100644 index 0000000..0c21ccf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryCaptureAttributeItem.rst @@ -0,0 +1,97 @@ +NodeGeometryCaptureAttributeItem(bpy_struct) +============================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeGeometryCaptureAttributeItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_attribute_type_items`] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeCaptureAttribute.capture_items` + - :class:`NodeGeometryCaptureAttributeItems.new` + - :class:`NodeGeometryCaptureAttributeItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryCaptureAttributeItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryCaptureAttributeItems.rst new file mode 100644 index 0000000..104daed --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryCaptureAttributeItems.rst @@ -0,0 +1,110 @@ +NodeGeometryCaptureAttributeItems(bpy_prop_collection) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeGeometryCaptureAttributeItems(bpy_prop_collection) + + Collection of capture attribute items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeGeometryCaptureAttributeItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeGeometryCaptureAttributeItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeCaptureAttribute.capture_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryForeachGeometryElementGenerationItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryForeachGeometryElementGenerationItems.rst new file mode 100644 index 0000000..917bdb4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryForeachGeometryElementGenerationItems.rst @@ -0,0 +1,110 @@ +NodeGeometryForeachGeometryElementGenerationItems(bpy_prop_collection) +====================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeGeometryForeachGeometryElementGenerationItems(bpy_prop_collection) + + Collection of generation items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`ForeachGeometryElementGenerationItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`ForeachGeometryElementGenerationItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeForeachGeometryElementOutput.generation_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryForeachGeometryElementInputItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryForeachGeometryElementInputItems.rst new file mode 100644 index 0000000..f724654 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryForeachGeometryElementInputItems.rst @@ -0,0 +1,110 @@ +NodeGeometryForeachGeometryElementInputItems(bpy_prop_collection) +================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeGeometryForeachGeometryElementInputItems(bpy_prop_collection) + + Collection of input items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`ForeachGeometryElementInputItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`ForeachGeometryElementInputItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeForeachGeometryElementOutput.input_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryForeachGeometryElementMainItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryForeachGeometryElementMainItems.rst new file mode 100644 index 0000000..08abf84 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryForeachGeometryElementMainItems.rst @@ -0,0 +1,110 @@ +NodeGeometryForeachGeometryElementMainItems(bpy_prop_collection) +================================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeGeometryForeachGeometryElementMainItems(bpy_prop_collection) + + Collection of main items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`ForeachGeometryElementMainItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`ForeachGeometryElementMainItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeForeachGeometryElementOutput.main_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryRepeatOutputItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryRepeatOutputItems.rst new file mode 100644 index 0000000..1e9363b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryRepeatOutputItems.rst @@ -0,0 +1,110 @@ +NodeGeometryRepeatOutputItems(bpy_prop_collection) +================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeGeometryRepeatOutputItems(bpy_prop_collection) + + Collection of repeat items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`RepeatItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`RepeatItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeRepeatOutput.repeat_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometrySimulationOutputItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometrySimulationOutputItems.rst new file mode 100644 index 0000000..9c6af36 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometrySimulationOutputItems.rst @@ -0,0 +1,110 @@ +NodeGeometrySimulationOutputItems(bpy_prop_collection) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeGeometrySimulationOutputItems(bpy_prop_collection) + + Collection of simulation items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`SimulationStateItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`SimulationStateItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeSimulationOutput.state_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryViewerItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryViewerItem.rst new file mode 100644 index 0000000..673c334 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryViewerItem.rst @@ -0,0 +1,104 @@ +NodeGeometryViewerItem(bpy_struct) +================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeGeometryViewerItem(bpy_struct) + + + .. attribute:: auto_remove + + Remove the item automatically when it is unlinked (default False) + + :type: bool + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeViewer.active_item` + - :class:`GeometryNodeViewer.viewer_items` + - :class:`NodeGeometryViewerItems.new` + - :class:`NodeGeometryViewerItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryViewerItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryViewerItems.rst new file mode 100644 index 0000000..e6514e9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGeometryViewerItems.rst @@ -0,0 +1,110 @@ +NodeGeometryViewerItems(bpy_prop_collection) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeGeometryViewerItems(bpy_prop_collection) + + Collection of viewer items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeGeometryViewerItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeGeometryViewerItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeViewer.viewer_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGetBundleItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGetBundleItem.rst new file mode 100644 index 0000000..932ec51 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGetBundleItem.rst @@ -0,0 +1,165 @@ +NodeGetBundleItem(NodeInternal) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeGetBundleItem(NodeInternal) + + Retrieve a bundle item by path. + + .. attribute:: socket_type + + Value may be implicitly converted if the type does not match (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. attribute:: structure_type + + What kind of higher order types are expected to flow through this socket (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_node_socket_structure_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGroup.rst new file mode 100644 index 0000000..9dc6042 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGroup.rst @@ -0,0 +1,156 @@ +NodeGroup(NodeInternal) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeGroup(NodeInternal) + + + .. attribute:: node_tree + + :type: :class:`NodeTree` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGroupInput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGroupInput.rst new file mode 100644 index 0000000..0b36e17 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGroupInput.rst @@ -0,0 +1,153 @@ +NodeGroupInput(NodeInternal) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeGroupInput(NodeInternal) + + Expose connected data from inside a node group as inputs to its interface + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGroupOutput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGroupOutput.rst new file mode 100644 index 0000000..66757ab --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeGroupOutput.rst @@ -0,0 +1,159 @@ +NodeGroupOutput(NodeInternal) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeGroupOutput(NodeInternal) + + Output data from inside of a node group + + .. attribute:: is_active_output + + True if this node is used as the active group output (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeIndexSwitchItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeIndexSwitchItems.rst new file mode 100644 index 0000000..3385474 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeIndexSwitchItems.rst @@ -0,0 +1,106 @@ +NodeIndexSwitchItems(bpy_prop_collection) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeIndexSwitchItems(bpy_prop_collection) + + Collection of index_switch items + + .. method:: new() + + Add an item at the end + + :return: Item, New item + :rtype: :class:`IndexSwitchItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`IndexSwitchItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeIndexSwitch.index_switch_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInputs.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInputs.rst new file mode 100644 index 0000000..2f4df3e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInputs.rst @@ -0,0 +1,114 @@ +NodeInputs(bpy_prop_collection) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeInputs(bpy_prop_collection) + + Collection of Node Sockets + + .. method:: new(type, name, *, identifier="", use_multi_input=False) + + Add a socket to this node + + :param type: Type, Data type (never None) + :type type: str + :param name: Name, (never None) + :type name: str + :param identifier: Identifier, Unique socket identifier (optional, never None) + :type identifier: str + :param use_multi_input: Make the socket multi-input (valid for inputs only) (optional) + :type use_multi_input: bool + :return: New socket + :rtype: :class:`NodeSocket` + + .. method:: remove(socket) + + Remove a socket from this node + + :param socket: The socket to remove + :type socket: :class:`NodeSocket` | None + + .. method:: clear() + + Remove all sockets from this node + + + .. method:: move(from_index, to_index) + + Move a socket to another position + + :param from_index: From Index, Index of the socket to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the socket (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Node.inputs` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInstanceHash.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInstanceHash.rst new file mode 100644 index 0000000..6d0af84 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInstanceHash.rst @@ -0,0 +1,70 @@ +NodeInstanceHash(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeInstanceHash(bpy_struct) + + Hash table containing node instance data + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInternal.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInternal.rst new file mode 100644 index 0000000..3f6a04b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInternal.rst @@ -0,0 +1,173 @@ +NodeInternal(Node) +================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node` + +subclasses --- +:class:`CompositorNode`, :class:`FunctionNode`, :class:`GeometryNode`, :class:`NodeClosureInput`, :class:`NodeClosureOutput`, :class:`NodeCombineBundle`, :class:`NodeEnableOutput`, :class:`NodeEvaluateClosure`, :class:`NodeFrame`, :class:`NodeGetBundleItem`, :class:`NodeGroup`, :class:`NodeGroupInput`, :class:`NodeGroupOutput`, :class:`NodeJoinBundle`, :class:`NodeReroute`, :class:`NodeSeparateBundle`, :class:`NodeStoreBundleItem`, :class:`ShaderNode`, :class:`TextureNode` + +.. class:: NodeInternal(Node) + + + .. classmethod:: poll(node_tree) + + If non-null output is returned, the node type can be added to the tree + + :param node_tree: Node Tree + :type node_tree: :class:`NodeTree` | None + :rtype: bool + + .. method:: poll_instance(node_tree) + + If non-null output is returned, the node can be added to the tree + + :param node_tree: Node Tree + :type node_tree: :class:`NodeTree` | None + :rtype: bool + + .. method:: update() + + Update on node graph topology changes (adding or removing nodes and links) + + + .. method:: draw_buttons(context, layout) + + Draw node buttons + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: draw_buttons_ext(context, layout) + + Draw node buttons in the sidebar + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeForeachGeometryElementInput.pair_with_output` + - :class:`GeometryNodeRepeatInput.pair_with_output` + - :class:`GeometryNodeSimulationInput.pair_with_output` + - :class:`NodeClosureInput.pair_with_output` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInternalSocketTemplate.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInternalSocketTemplate.rst new file mode 100644 index 0000000..118f832 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeInternalSocketTemplate.rst @@ -0,0 +1,1155 @@ +NodeInternalSocketTemplate(bpy_struct) +====================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeInternalSocketTemplate(bpy_struct) + + Type and default value of a node socket + + .. data:: identifier + + Identifier of the socket (default "", readonly, never None) + + :type: str + + .. data:: name + + Name of the socket (default "", readonly, never None) + + :type: str + + .. data:: type + + Data type of the socket (default ``'VALUE'``, readonly) + + :type: Literal[:ref:`rna_enum_node_socket_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`CompositorNodeAlphaOver.input_template` + - :class:`CompositorNodeAlphaOver.output_template` + - :class:`CompositorNodeAntiAliasing.input_template` + - :class:`CompositorNodeAntiAliasing.output_template` + - :class:`CompositorNodeBilateralblur.input_template` + - :class:`CompositorNodeBilateralblur.output_template` + - :class:`CompositorNodeBlur.input_template` + - :class:`CompositorNodeBlur.output_template` + - :class:`CompositorNodeBokehBlur.input_template` + - :class:`CompositorNodeBokehBlur.output_template` + - :class:`CompositorNodeBokehImage.input_template` + - :class:`CompositorNodeBokehImage.output_template` + - :class:`CompositorNodeBoxMask.input_template` + - :class:`CompositorNodeBoxMask.output_template` + - :class:`CompositorNodeBrightContrast.input_template` + - :class:`CompositorNodeBrightContrast.output_template` + - :class:`CompositorNodeChannelMatte.input_template` + - :class:`CompositorNodeChannelMatte.output_template` + - :class:`CompositorNodeChromaMatte.input_template` + - :class:`CompositorNodeChromaMatte.output_template` + - :class:`CompositorNodeColorBalance.input_template` + - :class:`CompositorNodeColorBalance.output_template` + - :class:`CompositorNodeColorCorrection.input_template` + - :class:`CompositorNodeColorCorrection.output_template` + - :class:`CompositorNodeColorMatte.input_template` + - :class:`CompositorNodeColorMatte.output_template` + - :class:`CompositorNodeColorSpill.input_template` + - :class:`CompositorNodeColorSpill.output_template` + - :class:`CompositorNodeCombineColor.input_template` + - :class:`CompositorNodeCombineColor.output_template` + - :class:`CompositorNodeConvertColorSpace.input_template` + - :class:`CompositorNodeConvertColorSpace.output_template` + - :class:`CompositorNodeConvertToDisplay.input_template` + - :class:`CompositorNodeConvertToDisplay.output_template` + - :class:`CompositorNodeConvolve.input_template` + - :class:`CompositorNodeConvolve.output_template` + - :class:`CompositorNodeCornerPin.input_template` + - :class:`CompositorNodeCornerPin.output_template` + - :class:`CompositorNodeCrop.input_template` + - :class:`CompositorNodeCrop.output_template` + - :class:`CompositorNodeCryptomatte.input_template` + - :class:`CompositorNodeCryptomatte.output_template` + - :class:`CompositorNodeCryptomatteV2.input_template` + - :class:`CompositorNodeCryptomatteV2.output_template` + - :class:`CompositorNodeCurveRGB.input_template` + - :class:`CompositorNodeCurveRGB.output_template` + - :class:`CompositorNodeDBlur.input_template` + - :class:`CompositorNodeDBlur.output_template` + - :class:`CompositorNodeDefocus.input_template` + - :class:`CompositorNodeDefocus.output_template` + - :class:`CompositorNodeDenoise.input_template` + - :class:`CompositorNodeDenoise.output_template` + - :class:`CompositorNodeDespeckle.input_template` + - :class:`CompositorNodeDespeckle.output_template` + - :class:`CompositorNodeDiffMatte.input_template` + - :class:`CompositorNodeDiffMatte.output_template` + - :class:`CompositorNodeDilateErode.input_template` + - :class:`CompositorNodeDilateErode.output_template` + - :class:`CompositorNodeDisplace.input_template` + - :class:`CompositorNodeDisplace.output_template` + - :class:`CompositorNodeDistanceMatte.input_template` + - :class:`CompositorNodeDistanceMatte.output_template` + - :class:`CompositorNodeDoubleEdgeMask.input_template` + - :class:`CompositorNodeDoubleEdgeMask.output_template` + - :class:`CompositorNodeEllipseMask.input_template` + - :class:`CompositorNodeEllipseMask.output_template` + - :class:`CompositorNodeExposure.input_template` + - :class:`CompositorNodeExposure.output_template` + - :class:`CompositorNodeFilter.input_template` + - :class:`CompositorNodeFilter.output_template` + - :class:`CompositorNodeFlip.input_template` + - :class:`CompositorNodeFlip.output_template` + - :class:`CompositorNodeGamma.input_template` + - :class:`CompositorNodeGamma.output_template` + - :class:`CompositorNodeGlare.input_template` + - :class:`CompositorNodeGlare.output_template` + - :class:`CompositorNodeGroup.input_template` + - :class:`CompositorNodeGroup.output_template` + - :class:`CompositorNodeHueCorrect.input_template` + - :class:`CompositorNodeHueCorrect.output_template` + - :class:`CompositorNodeHueSat.input_template` + - :class:`CompositorNodeHueSat.output_template` + - :class:`CompositorNodeIDMask.input_template` + - :class:`CompositorNodeIDMask.output_template` + - :class:`CompositorNodeImage.input_template` + - :class:`CompositorNodeImage.output_template` + - :class:`CompositorNodeImageCoordinates.input_template` + - :class:`CompositorNodeImageCoordinates.output_template` + - :class:`CompositorNodeImageInfo.input_template` + - :class:`CompositorNodeImageInfo.output_template` + - :class:`CompositorNodeInpaint.input_template` + - :class:`CompositorNodeInpaint.output_template` + - :class:`CompositorNodeInvert.input_template` + - :class:`CompositorNodeInvert.output_template` + - :class:`CompositorNodeKeying.input_template` + - :class:`CompositorNodeKeying.output_template` + - :class:`CompositorNodeKeyingScreen.input_template` + - :class:`CompositorNodeKeyingScreen.output_template` + - :class:`CompositorNodeKuwahara.input_template` + - :class:`CompositorNodeKuwahara.output_template` + - :class:`CompositorNodeLensdist.input_template` + - :class:`CompositorNodeLensdist.output_template` + - :class:`CompositorNodeLevels.input_template` + - :class:`CompositorNodeLevels.output_template` + - :class:`CompositorNodeLumaMatte.input_template` + - :class:`CompositorNodeLumaMatte.output_template` + - :class:`CompositorNodeMapUV.input_template` + - :class:`CompositorNodeMapUV.output_template` + - :class:`CompositorNodeMask.input_template` + - :class:`CompositorNodeMask.output_template` + - :class:`CompositorNodeMaskToSDF.input_template` + - :class:`CompositorNodeMaskToSDF.output_template` + - :class:`CompositorNodeMovieClip.input_template` + - :class:`CompositorNodeMovieClip.output_template` + - :class:`CompositorNodeMovieDistortion.input_template` + - :class:`CompositorNodeMovieDistortion.output_template` + - :class:`CompositorNodeNormal.input_template` + - :class:`CompositorNodeNormal.output_template` + - :class:`CompositorNodeNormalize.input_template` + - :class:`CompositorNodeNormalize.output_template` + - :class:`CompositorNodeOutputFile.input_template` + - :class:`CompositorNodeOutputFile.output_template` + - :class:`CompositorNodePixelate.input_template` + - :class:`CompositorNodePixelate.output_template` + - :class:`CompositorNodePlaneTrackDeform.input_template` + - :class:`CompositorNodePlaneTrackDeform.output_template` + - :class:`CompositorNodePosterize.input_template` + - :class:`CompositorNodePosterize.output_template` + - :class:`CompositorNodePremulKey.input_template` + - :class:`CompositorNodePremulKey.output_template` + - :class:`CompositorNodeRGB.input_template` + - :class:`CompositorNodeRGB.output_template` + - :class:`CompositorNodeRGBToBW.input_template` + - :class:`CompositorNodeRGBToBW.output_template` + - :class:`CompositorNodeRLayers.input_template` + - :class:`CompositorNodeRLayers.output_template` + - :class:`CompositorNodeRelativeToPixel.input_template` + - :class:`CompositorNodeRelativeToPixel.output_template` + - :class:`CompositorNodeRotate.input_template` + - :class:`CompositorNodeRotate.output_template` + - :class:`CompositorNodeScale.input_template` + - :class:`CompositorNodeScale.output_template` + - :class:`CompositorNodeSceneTime.input_template` + - :class:`CompositorNodeSceneTime.output_template` + - :class:`CompositorNodeSeparateColor.input_template` + - :class:`CompositorNodeSeparateColor.output_template` + - :class:`CompositorNodeSequencerStripInfo.input_template` + - :class:`CompositorNodeSequencerStripInfo.output_template` + - :class:`CompositorNodeSetAlpha.input_template` + - :class:`CompositorNodeSetAlpha.output_template` + - :class:`CompositorNodeSplit.input_template` + - :class:`CompositorNodeSplit.output_template` + - :class:`CompositorNodeStabilize.input_template` + - :class:`CompositorNodeStabilize.output_template` + - :class:`CompositorNodeSwitch.input_template` + - :class:`CompositorNodeSwitch.output_template` + - :class:`CompositorNodeSwitchView.input_template` + - :class:`CompositorNodeSwitchView.output_template` + - :class:`CompositorNodeTime.input_template` + - :class:`CompositorNodeTime.output_template` + - :class:`CompositorNodeTonemap.input_template` + - :class:`CompositorNodeTonemap.output_template` + - :class:`CompositorNodeTrackPos.input_template` + - :class:`CompositorNodeTrackPos.output_template` + - :class:`CompositorNodeTransform.input_template` + - :class:`CompositorNodeTransform.output_template` + - :class:`CompositorNodeTranslate.input_template` + - :class:`CompositorNodeTranslate.output_template` + - :class:`CompositorNodeVecBlur.input_template` + - :class:`CompositorNodeVecBlur.output_template` + - :class:`CompositorNodeViewer.input_template` + - :class:`CompositorNodeViewer.output_template` + - :class:`CompositorNodeZcombine.input_template` + - :class:`CompositorNodeZcombine.output_template` + - :class:`FunctionNodeAlignEulerToVector.input_template` + - :class:`FunctionNodeAlignEulerToVector.output_template` + - :class:`FunctionNodeAlignRotationToVector.input_template` + - :class:`FunctionNodeAlignRotationToVector.output_template` + - :class:`FunctionNodeAxesToRotation.input_template` + - :class:`FunctionNodeAxesToRotation.output_template` + - :class:`FunctionNodeAxisAngleToRotation.input_template` + - :class:`FunctionNodeAxisAngleToRotation.output_template` + - :class:`FunctionNodeBitMath.input_template` + - :class:`FunctionNodeBitMath.output_template` + - :class:`FunctionNodeBooleanMath.input_template` + - :class:`FunctionNodeBooleanMath.output_template` + - :class:`FunctionNodeCombineColor.input_template` + - :class:`FunctionNodeCombineColor.output_template` + - :class:`FunctionNodeCombineMatrix.input_template` + - :class:`FunctionNodeCombineMatrix.output_template` + - :class:`FunctionNodeCombineTransform.input_template` + - :class:`FunctionNodeCombineTransform.output_template` + - :class:`FunctionNodeCompare.input_template` + - :class:`FunctionNodeCompare.output_template` + - :class:`FunctionNodeEulerToRotation.input_template` + - :class:`FunctionNodeEulerToRotation.output_template` + - :class:`FunctionNodeFindInString.input_template` + - :class:`FunctionNodeFindInString.output_template` + - :class:`FunctionNodeFloatToInt.input_template` + - :class:`FunctionNodeFloatToInt.output_template` + - :class:`FunctionNodeFormatString.input_template` + - :class:`FunctionNodeFormatString.output_template` + - :class:`FunctionNodeHashValue.input_template` + - :class:`FunctionNodeHashValue.output_template` + - :class:`FunctionNodeInputBool.input_template` + - :class:`FunctionNodeInputBool.output_template` + - :class:`FunctionNodeInputColor.input_template` + - :class:`FunctionNodeInputColor.output_template` + - :class:`FunctionNodeInputInt.input_template` + - :class:`FunctionNodeInputInt.output_template` + - :class:`FunctionNodeInputRotation.input_template` + - :class:`FunctionNodeInputRotation.output_template` + - :class:`FunctionNodeInputSpecialCharacters.input_template` + - :class:`FunctionNodeInputSpecialCharacters.output_template` + - :class:`FunctionNodeInputString.input_template` + - :class:`FunctionNodeInputString.output_template` + - :class:`FunctionNodeInputVector.input_template` + - :class:`FunctionNodeInputVector.output_template` + - :class:`FunctionNodeIntegerMath.input_template` + - :class:`FunctionNodeIntegerMath.output_template` + - :class:`FunctionNodeInvertMatrix.input_template` + - :class:`FunctionNodeInvertMatrix.output_template` + - :class:`FunctionNodeInvertRotation.input_template` + - :class:`FunctionNodeInvertRotation.output_template` + - :class:`FunctionNodeMatchString.input_template` + - :class:`FunctionNodeMatchString.output_template` + - :class:`FunctionNodeMatrixDeterminant.input_template` + - :class:`FunctionNodeMatrixDeterminant.output_template` + - :class:`FunctionNodeMatrixMultiply.input_template` + - :class:`FunctionNodeMatrixMultiply.output_template` + - :class:`FunctionNodeMatrixSVD.input_template` + - :class:`FunctionNodeMatrixSVD.output_template` + - :class:`FunctionNodeProjectPoint.input_template` + - :class:`FunctionNodeProjectPoint.output_template` + - :class:`FunctionNodeQuaternionToRotation.input_template` + - :class:`FunctionNodeQuaternionToRotation.output_template` + - :class:`FunctionNodeRandomValue.input_template` + - :class:`FunctionNodeRandomValue.output_template` + - :class:`FunctionNodeReplaceString.input_template` + - :class:`FunctionNodeReplaceString.output_template` + - :class:`FunctionNodeRotateEuler.input_template` + - :class:`FunctionNodeRotateEuler.output_template` + - :class:`FunctionNodeRotateRotation.input_template` + - :class:`FunctionNodeRotateRotation.output_template` + - :class:`FunctionNodeRotateVector.input_template` + - :class:`FunctionNodeRotateVector.output_template` + - :class:`FunctionNodeRotationToAxisAngle.input_template` + - :class:`FunctionNodeRotationToAxisAngle.output_template` + - :class:`FunctionNodeRotationToEuler.input_template` + - :class:`FunctionNodeRotationToEuler.output_template` + - :class:`FunctionNodeRotationToQuaternion.input_template` + - :class:`FunctionNodeRotationToQuaternion.output_template` + - :class:`FunctionNodeSeparateColor.input_template` + - :class:`FunctionNodeSeparateColor.output_template` + - :class:`FunctionNodeSeparateMatrix.input_template` + - :class:`FunctionNodeSeparateMatrix.output_template` + - :class:`FunctionNodeSeparateTransform.input_template` + - :class:`FunctionNodeSeparateTransform.output_template` + - :class:`FunctionNodeSliceString.input_template` + - :class:`FunctionNodeSliceString.output_template` + - :class:`FunctionNodeStringLength.input_template` + - :class:`FunctionNodeStringLength.output_template` + - :class:`FunctionNodeStringToValue.input_template` + - :class:`FunctionNodeStringToValue.output_template` + - :class:`FunctionNodeTransformDirection.input_template` + - :class:`FunctionNodeTransformDirection.output_template` + - :class:`FunctionNodeTransformPoint.input_template` + - :class:`FunctionNodeTransformPoint.output_template` + - :class:`FunctionNodeTransposeMatrix.input_template` + - :class:`FunctionNodeTransposeMatrix.output_template` + - :class:`FunctionNodeValueToString.input_template` + - :class:`FunctionNodeValueToString.output_template` + - :class:`GeometryNodeAccumulateField.input_template` + - :class:`GeometryNodeAccumulateField.output_template` + - :class:`GeometryNodeAttributeDomainSize.input_template` + - :class:`GeometryNodeAttributeDomainSize.output_template` + - :class:`GeometryNodeAttributeStatistic.input_template` + - :class:`GeometryNodeAttributeStatistic.output_template` + - :class:`GeometryNodeBake.input_template` + - :class:`GeometryNodeBake.output_template` + - :class:`GeometryNodeBlurAttribute.input_template` + - :class:`GeometryNodeBlurAttribute.output_template` + - :class:`GeometryNodeBoneInfo.input_template` + - :class:`GeometryNodeBoneInfo.output_template` + - :class:`GeometryNodeBoundBox.input_template` + - :class:`GeometryNodeBoundBox.output_template` + - :class:`GeometryNodeCameraInfo.input_template` + - :class:`GeometryNodeCameraInfo.output_template` + - :class:`GeometryNodeCaptureAttribute.input_template` + - :class:`GeometryNodeCaptureAttribute.output_template` + - :class:`GeometryNodeCollectionInfo.input_template` + - :class:`GeometryNodeCollectionInfo.output_template` + - :class:`GeometryNodeConvexHull.input_template` + - :class:`GeometryNodeConvexHull.output_template` + - :class:`GeometryNodeCornersOfEdge.input_template` + - :class:`GeometryNodeCornersOfEdge.output_template` + - :class:`GeometryNodeCornersOfFace.input_template` + - :class:`GeometryNodeCornersOfFace.output_template` + - :class:`GeometryNodeCornersOfVertex.input_template` + - :class:`GeometryNodeCornersOfVertex.output_template` + - :class:`GeometryNodeCubeGridTopology.input_template` + - :class:`GeometryNodeCubeGridTopology.output_template` + - :class:`GeometryNodeCurveArc.input_template` + - :class:`GeometryNodeCurveArc.output_template` + - :class:`GeometryNodeCurveEndpointSelection.input_template` + - :class:`GeometryNodeCurveEndpointSelection.output_template` + - :class:`GeometryNodeCurveHandleTypeSelection.input_template` + - :class:`GeometryNodeCurveHandleTypeSelection.output_template` + - :class:`GeometryNodeCurveLength.input_template` + - :class:`GeometryNodeCurveLength.output_template` + - :class:`GeometryNodeCurveOfPoint.input_template` + - :class:`GeometryNodeCurveOfPoint.output_template` + - :class:`GeometryNodeCurvePrimitiveBezierSegment.input_template` + - :class:`GeometryNodeCurvePrimitiveBezierSegment.output_template` + - :class:`GeometryNodeCurvePrimitiveCircle.input_template` + - :class:`GeometryNodeCurvePrimitiveCircle.output_template` + - :class:`GeometryNodeCurvePrimitiveLine.input_template` + - :class:`GeometryNodeCurvePrimitiveLine.output_template` + - :class:`GeometryNodeCurvePrimitiveQuadrilateral.input_template` + - :class:`GeometryNodeCurvePrimitiveQuadrilateral.output_template` + - :class:`GeometryNodeCurveQuadraticBezier.input_template` + - :class:`GeometryNodeCurveQuadraticBezier.output_template` + - :class:`GeometryNodeCurveSetHandles.input_template` + - :class:`GeometryNodeCurveSetHandles.output_template` + - :class:`GeometryNodeCurveSpiral.input_template` + - :class:`GeometryNodeCurveSpiral.output_template` + - :class:`GeometryNodeCurveSplineType.input_template` + - :class:`GeometryNodeCurveSplineType.output_template` + - :class:`GeometryNodeCurveStar.input_template` + - :class:`GeometryNodeCurveStar.output_template` + - :class:`GeometryNodeCurveToMesh.input_template` + - :class:`GeometryNodeCurveToMesh.output_template` + - :class:`GeometryNodeCurveToPoints.input_template` + - :class:`GeometryNodeCurveToPoints.output_template` + - :class:`GeometryNodeCurvesToGreasePencil.input_template` + - :class:`GeometryNodeCurvesToGreasePencil.output_template` + - :class:`GeometryNodeDeformCurvesOnSurface.input_template` + - :class:`GeometryNodeDeformCurvesOnSurface.output_template` + - :class:`GeometryNodeDeleteGeometry.input_template` + - :class:`GeometryNodeDeleteGeometry.output_template` + - :class:`GeometryNodeDistributePointsInGrid.input_template` + - :class:`GeometryNodeDistributePointsInGrid.output_template` + - :class:`GeometryNodeDistributePointsInVolume.input_template` + - :class:`GeometryNodeDistributePointsInVolume.output_template` + - :class:`GeometryNodeDistributePointsOnFaces.input_template` + - :class:`GeometryNodeDistributePointsOnFaces.output_template` + - :class:`GeometryNodeDualMesh.input_template` + - :class:`GeometryNodeDualMesh.output_template` + - :class:`GeometryNodeDuplicateElements.input_template` + - :class:`GeometryNodeDuplicateElements.output_template` + - :class:`GeometryNodeEdgePathsToCurves.input_template` + - :class:`GeometryNodeEdgePathsToCurves.output_template` + - :class:`GeometryNodeEdgePathsToSelection.input_template` + - :class:`GeometryNodeEdgePathsToSelection.output_template` + - :class:`GeometryNodeEdgesOfCorner.input_template` + - :class:`GeometryNodeEdgesOfCorner.output_template` + - :class:`GeometryNodeEdgesOfVertex.input_template` + - :class:`GeometryNodeEdgesOfVertex.output_template` + - :class:`GeometryNodeEdgesToFaceGroups.input_template` + - :class:`GeometryNodeEdgesToFaceGroups.output_template` + - :class:`GeometryNodeExtrudeMesh.input_template` + - :class:`GeometryNodeExtrudeMesh.output_template` + - :class:`GeometryNodeFaceOfCorner.input_template` + - :class:`GeometryNodeFaceOfCorner.output_template` + - :class:`GeometryNodeFieldAtIndex.input_template` + - :class:`GeometryNodeFieldAtIndex.output_template` + - :class:`GeometryNodeFieldAverage.input_template` + - :class:`GeometryNodeFieldAverage.output_template` + - :class:`GeometryNodeFieldMinAndMax.input_template` + - :class:`GeometryNodeFieldMinAndMax.output_template` + - :class:`GeometryNodeFieldOnDomain.input_template` + - :class:`GeometryNodeFieldOnDomain.output_template` + - :class:`GeometryNodeFieldToGrid.input_template` + - :class:`GeometryNodeFieldToGrid.output_template` + - :class:`GeometryNodeFieldToList.input_template` + - :class:`GeometryNodeFieldToList.output_template` + - :class:`GeometryNodeFieldVariance.input_template` + - :class:`GeometryNodeFieldVariance.output_template` + - :class:`GeometryNodeFillCurve.input_template` + - :class:`GeometryNodeFillCurve.output_template` + - :class:`GeometryNodeFilletCurve.input_template` + - :class:`GeometryNodeFilletCurve.output_template` + - :class:`GeometryNodeFlipFaces.input_template` + - :class:`GeometryNodeFlipFaces.output_template` + - :class:`GeometryNodeForeachGeometryElementInput.input_template` + - :class:`GeometryNodeForeachGeometryElementInput.output_template` + - :class:`GeometryNodeForeachGeometryElementOutput.input_template` + - :class:`GeometryNodeForeachGeometryElementOutput.output_template` + - :class:`GeometryNodeGeometryToInstance.input_template` + - :class:`GeometryNodeGeometryToInstance.output_template` + - :class:`GeometryNodeGetGeometryBundle.input_template` + - :class:`GeometryNodeGetGeometryBundle.output_template` + - :class:`GeometryNodeGetNamedGrid.input_template` + - :class:`GeometryNodeGetNamedGrid.output_template` + - :class:`GeometryNodeGizmoDial.input_template` + - :class:`GeometryNodeGizmoDial.output_template` + - :class:`GeometryNodeGizmoLinear.input_template` + - :class:`GeometryNodeGizmoLinear.output_template` + - :class:`GeometryNodeGizmoTransform.input_template` + - :class:`GeometryNodeGizmoTransform.output_template` + - :class:`GeometryNodeGreasePencilToCurves.input_template` + - :class:`GeometryNodeGreasePencilToCurves.output_template` + - :class:`GeometryNodeGridAdvect.input_template` + - :class:`GeometryNodeGridAdvect.output_template` + - :class:`GeometryNodeGridClip.input_template` + - :class:`GeometryNodeGridClip.output_template` + - :class:`GeometryNodeGridCurl.input_template` + - :class:`GeometryNodeGridCurl.output_template` + - :class:`GeometryNodeGridDilateAndErode.input_template` + - :class:`GeometryNodeGridDilateAndErode.output_template` + - :class:`GeometryNodeGridDivergence.input_template` + - :class:`GeometryNodeGridDivergence.output_template` + - :class:`GeometryNodeGridGradient.input_template` + - :class:`GeometryNodeGridGradient.output_template` + - :class:`GeometryNodeGridInfo.input_template` + - :class:`GeometryNodeGridInfo.output_template` + - :class:`GeometryNodeGridLaplacian.input_template` + - :class:`GeometryNodeGridLaplacian.output_template` + - :class:`GeometryNodeGridMean.input_template` + - :class:`GeometryNodeGridMean.output_template` + - :class:`GeometryNodeGridMedian.input_template` + - :class:`GeometryNodeGridMedian.output_template` + - :class:`GeometryNodeGridPrune.input_template` + - :class:`GeometryNodeGridPrune.output_template` + - :class:`GeometryNodeGridToMesh.input_template` + - :class:`GeometryNodeGridToMesh.output_template` + - :class:`GeometryNodeGridToPoints.input_template` + - :class:`GeometryNodeGridToPoints.output_template` + - :class:`GeometryNodeGridVoxelize.input_template` + - :class:`GeometryNodeGridVoxelize.output_template` + - :class:`GeometryNodeGroup.input_template` + - :class:`GeometryNodeGroup.output_template` + - :class:`GeometryNodeImageInfo.input_template` + - :class:`GeometryNodeImageInfo.output_template` + - :class:`GeometryNodeImageTexture.input_template` + - :class:`GeometryNodeImageTexture.output_template` + - :class:`GeometryNodeImportCSV.input_template` + - :class:`GeometryNodeImportCSV.output_template` + - :class:`GeometryNodeImportOBJ.input_template` + - :class:`GeometryNodeImportOBJ.output_template` + - :class:`GeometryNodeImportPLY.input_template` + - :class:`GeometryNodeImportPLY.output_template` + - :class:`GeometryNodeImportSTL.input_template` + - :class:`GeometryNodeImportSTL.output_template` + - :class:`GeometryNodeImportText.input_template` + - :class:`GeometryNodeImportText.output_template` + - :class:`GeometryNodeImportVDB.input_template` + - :class:`GeometryNodeImportVDB.output_template` + - :class:`GeometryNodeIndexOfNearest.input_template` + - :class:`GeometryNodeIndexOfNearest.output_template` + - :class:`GeometryNodeIndexSwitch.input_template` + - :class:`GeometryNodeIndexSwitch.output_template` + - :class:`GeometryNodeInputActiveCamera.input_template` + - :class:`GeometryNodeInputActiveCamera.output_template` + - :class:`GeometryNodeInputCollection.input_template` + - :class:`GeometryNodeInputCollection.output_template` + - :class:`GeometryNodeInputCurveHandlePositions.input_template` + - :class:`GeometryNodeInputCurveHandlePositions.output_template` + - :class:`GeometryNodeInputCurveTilt.input_template` + - :class:`GeometryNodeInputCurveTilt.output_template` + - :class:`GeometryNodeInputEdgeSmooth.input_template` + - :class:`GeometryNodeInputEdgeSmooth.output_template` + - :class:`GeometryNodeInputID.input_template` + - :class:`GeometryNodeInputID.output_template` + - :class:`GeometryNodeInputImage.input_template` + - :class:`GeometryNodeInputImage.output_template` + - :class:`GeometryNodeInputIndex.input_template` + - :class:`GeometryNodeInputIndex.output_template` + - :class:`GeometryNodeInputInstanceBounds.input_template` + - :class:`GeometryNodeInputInstanceBounds.output_template` + - :class:`GeometryNodeInputInstanceRotation.input_template` + - :class:`GeometryNodeInputInstanceRotation.output_template` + - :class:`GeometryNodeInputInstanceScale.input_template` + - :class:`GeometryNodeInputInstanceScale.output_template` + - :class:`GeometryNodeInputMaterial.input_template` + - :class:`GeometryNodeInputMaterial.output_template` + - :class:`GeometryNodeInputMaterialIndex.input_template` + - :class:`GeometryNodeInputMaterialIndex.output_template` + - :class:`GeometryNodeInputMeshEdgeAngle.input_template` + - :class:`GeometryNodeInputMeshEdgeAngle.output_template` + - :class:`GeometryNodeInputMeshEdgeNeighbors.input_template` + - :class:`GeometryNodeInputMeshEdgeNeighbors.output_template` + - :class:`GeometryNodeInputMeshEdgeVertices.input_template` + - :class:`GeometryNodeInputMeshEdgeVertices.output_template` + - :class:`GeometryNodeInputMeshFaceArea.input_template` + - :class:`GeometryNodeInputMeshFaceArea.output_template` + - :class:`GeometryNodeInputMeshFaceIsPlanar.input_template` + - :class:`GeometryNodeInputMeshFaceIsPlanar.output_template` + - :class:`GeometryNodeInputMeshFaceNeighbors.input_template` + - :class:`GeometryNodeInputMeshFaceNeighbors.output_template` + - :class:`GeometryNodeInputMeshIsland.input_template` + - :class:`GeometryNodeInputMeshIsland.output_template` + - :class:`GeometryNodeInputMeshVertexNeighbors.input_template` + - :class:`GeometryNodeInputMeshVertexNeighbors.output_template` + - :class:`GeometryNodeInputNamedAttribute.input_template` + - :class:`GeometryNodeInputNamedAttribute.output_template` + - :class:`GeometryNodeInputNamedLayerSelection.input_template` + - :class:`GeometryNodeInputNamedLayerSelection.output_template` + - :class:`GeometryNodeInputNormal.input_template` + - :class:`GeometryNodeInputNormal.output_template` + - :class:`GeometryNodeInputObject.input_template` + - :class:`GeometryNodeInputObject.output_template` + - :class:`GeometryNodeInputPosition.input_template` + - :class:`GeometryNodeInputPosition.output_template` + - :class:`GeometryNodeInputRadius.input_template` + - :class:`GeometryNodeInputRadius.output_template` + - :class:`GeometryNodeInputSceneTime.input_template` + - :class:`GeometryNodeInputSceneTime.output_template` + - :class:`GeometryNodeInputShadeSmooth.input_template` + - :class:`GeometryNodeInputShadeSmooth.output_template` + - :class:`GeometryNodeInputShortestEdgePaths.input_template` + - :class:`GeometryNodeInputShortestEdgePaths.output_template` + - :class:`GeometryNodeInputSplineCyclic.input_template` + - :class:`GeometryNodeInputSplineCyclic.output_template` + - :class:`GeometryNodeInputSplineResolution.input_template` + - :class:`GeometryNodeInputSplineResolution.output_template` + - :class:`GeometryNodeInputTangent.input_template` + - :class:`GeometryNodeInputTangent.output_template` + - :class:`GeometryNodeInputVoxelIndex.input_template` + - :class:`GeometryNodeInputVoxelIndex.output_template` + - :class:`GeometryNodeInstanceOnPoints.input_template` + - :class:`GeometryNodeInstanceOnPoints.output_template` + - :class:`GeometryNodeInstanceTransform.input_template` + - :class:`GeometryNodeInstanceTransform.output_template` + - :class:`GeometryNodeInstancesToPoints.input_template` + - :class:`GeometryNodeInstancesToPoints.output_template` + - :class:`GeometryNodeInterpolateCurves.input_template` + - :class:`GeometryNodeInterpolateCurves.output_template` + - :class:`GeometryNodeIsViewport.input_template` + - :class:`GeometryNodeIsViewport.output_template` + - :class:`GeometryNodeJoinGeometry.input_template` + - :class:`GeometryNodeJoinGeometry.output_template` + - :class:`GeometryNodeListGetItem.input_template` + - :class:`GeometryNodeListGetItem.output_template` + - :class:`GeometryNodeListLength.input_template` + - :class:`GeometryNodeListLength.output_template` + - :class:`GeometryNodeMaterialSelection.input_template` + - :class:`GeometryNodeMaterialSelection.output_template` + - :class:`GeometryNodeMenuSwitch.input_template` + - :class:`GeometryNodeMenuSwitch.output_template` + - :class:`GeometryNodeMergeByDistance.input_template` + - :class:`GeometryNodeMergeByDistance.output_template` + - :class:`GeometryNodeMergeLayers.input_template` + - :class:`GeometryNodeMergeLayers.output_template` + - :class:`GeometryNodeMeshBoolean.input_template` + - :class:`GeometryNodeMeshBoolean.output_template` + - :class:`GeometryNodeMeshCircle.input_template` + - :class:`GeometryNodeMeshCircle.output_template` + - :class:`GeometryNodeMeshCone.input_template` + - :class:`GeometryNodeMeshCone.output_template` + - :class:`GeometryNodeMeshCube.input_template` + - :class:`GeometryNodeMeshCube.output_template` + - :class:`GeometryNodeMeshCylinder.input_template` + - :class:`GeometryNodeMeshCylinder.output_template` + - :class:`GeometryNodeMeshFaceSetBoundaries.input_template` + - :class:`GeometryNodeMeshFaceSetBoundaries.output_template` + - :class:`GeometryNodeMeshGrid.input_template` + - :class:`GeometryNodeMeshGrid.output_template` + - :class:`GeometryNodeMeshIcoSphere.input_template` + - :class:`GeometryNodeMeshIcoSphere.output_template` + - :class:`GeometryNodeMeshLine.input_template` + - :class:`GeometryNodeMeshLine.output_template` + - :class:`GeometryNodeMeshToCurve.input_template` + - :class:`GeometryNodeMeshToCurve.output_template` + - :class:`GeometryNodeMeshToDensityGrid.input_template` + - :class:`GeometryNodeMeshToDensityGrid.output_template` + - :class:`GeometryNodeMeshToPoints.input_template` + - :class:`GeometryNodeMeshToPoints.output_template` + - :class:`GeometryNodeMeshToSDFGrid.input_template` + - :class:`GeometryNodeMeshToSDFGrid.output_template` + - :class:`GeometryNodeMeshToVolume.input_template` + - :class:`GeometryNodeMeshToVolume.output_template` + - :class:`GeometryNodeMeshUVSphere.input_template` + - :class:`GeometryNodeMeshUVSphere.output_template` + - :class:`GeometryNodeObjectInfo.input_template` + - :class:`GeometryNodeObjectInfo.output_template` + - :class:`GeometryNodeOffsetCornerInFace.input_template` + - :class:`GeometryNodeOffsetCornerInFace.output_template` + - :class:`GeometryNodeOffsetPointInCurve.input_template` + - :class:`GeometryNodeOffsetPointInCurve.output_template` + - :class:`GeometryNodePoints.input_template` + - :class:`GeometryNodePoints.output_template` + - :class:`GeometryNodePointsOfCurve.input_template` + - :class:`GeometryNodePointsOfCurve.output_template` + - :class:`GeometryNodePointsToCurves.input_template` + - :class:`GeometryNodePointsToCurves.output_template` + - :class:`GeometryNodePointsToSDFGrid.input_template` + - :class:`GeometryNodePointsToSDFGrid.output_template` + - :class:`GeometryNodePointsToVertices.input_template` + - :class:`GeometryNodePointsToVertices.output_template` + - :class:`GeometryNodePointsToVolume.input_template` + - :class:`GeometryNodePointsToVolume.output_template` + - :class:`GeometryNodeProximity.input_template` + - :class:`GeometryNodeProximity.output_template` + - :class:`GeometryNodeRaycast.input_template` + - :class:`GeometryNodeRaycast.output_template` + - :class:`GeometryNodeRealizeInstances.input_template` + - :class:`GeometryNodeRealizeInstances.output_template` + - :class:`GeometryNodeRemoveAttribute.input_template` + - :class:`GeometryNodeRemoveAttribute.output_template` + - :class:`GeometryNodeRepeatInput.input_template` + - :class:`GeometryNodeRepeatInput.output_template` + - :class:`GeometryNodeRepeatOutput.input_template` + - :class:`GeometryNodeRepeatOutput.output_template` + - :class:`GeometryNodeReplaceMaterial.input_template` + - :class:`GeometryNodeReplaceMaterial.output_template` + - :class:`GeometryNodeResampleCurve.input_template` + - :class:`GeometryNodeResampleCurve.output_template` + - :class:`GeometryNodeReverseCurve.input_template` + - :class:`GeometryNodeReverseCurve.output_template` + - :class:`GeometryNodeRotateInstances.input_template` + - :class:`GeometryNodeRotateInstances.output_template` + - :class:`GeometryNodeSDFGridBoolean.input_template` + - :class:`GeometryNodeSDFGridBoolean.output_template` + - :class:`GeometryNodeSDFGridFillet.input_template` + - :class:`GeometryNodeSDFGridFillet.output_template` + - :class:`GeometryNodeSDFGridLaplacian.input_template` + - :class:`GeometryNodeSDFGridLaplacian.output_template` + - :class:`GeometryNodeSDFGridMean.input_template` + - :class:`GeometryNodeSDFGridMean.output_template` + - :class:`GeometryNodeSDFGridMeanCurvature.input_template` + - :class:`GeometryNodeSDFGridMeanCurvature.output_template` + - :class:`GeometryNodeSDFGridMedian.input_template` + - :class:`GeometryNodeSDFGridMedian.output_template` + - :class:`GeometryNodeSDFGridOffset.input_template` + - :class:`GeometryNodeSDFGridOffset.output_template` + - :class:`GeometryNodeSampleCurve.input_template` + - :class:`GeometryNodeSampleCurve.output_template` + - :class:`GeometryNodeSampleGrid.input_template` + - :class:`GeometryNodeSampleGrid.output_template` + - :class:`GeometryNodeSampleGridIndex.input_template` + - :class:`GeometryNodeSampleGridIndex.output_template` + - :class:`GeometryNodeSampleIndex.input_template` + - :class:`GeometryNodeSampleIndex.output_template` + - :class:`GeometryNodeSampleNearest.input_template` + - :class:`GeometryNodeSampleNearest.output_template` + - :class:`GeometryNodeSampleNearestSurface.input_template` + - :class:`GeometryNodeSampleNearestSurface.output_template` + - :class:`GeometryNodeSampleUVSurface.input_template` + - :class:`GeometryNodeSampleUVSurface.output_template` + - :class:`GeometryNodeScaleElements.input_template` + - :class:`GeometryNodeScaleElements.output_template` + - :class:`GeometryNodeScaleInstances.input_template` + - :class:`GeometryNodeScaleInstances.output_template` + - :class:`GeometryNodeSelfObject.input_template` + - :class:`GeometryNodeSelfObject.output_template` + - :class:`GeometryNodeSeparateComponents.input_template` + - :class:`GeometryNodeSeparateComponents.output_template` + - :class:`GeometryNodeSeparateGeometry.input_template` + - :class:`GeometryNodeSeparateGeometry.output_template` + - :class:`GeometryNodeSetCurveHandlePositions.input_template` + - :class:`GeometryNodeSetCurveHandlePositions.output_template` + - :class:`GeometryNodeSetCurveNormal.input_template` + - :class:`GeometryNodeSetCurveNormal.output_template` + - :class:`GeometryNodeSetCurveRadius.input_template` + - :class:`GeometryNodeSetCurveRadius.output_template` + - :class:`GeometryNodeSetCurveTilt.input_template` + - :class:`GeometryNodeSetCurveTilt.output_template` + - :class:`GeometryNodeSetGeometryBundle.input_template` + - :class:`GeometryNodeSetGeometryBundle.output_template` + - :class:`GeometryNodeSetGeometryName.input_template` + - :class:`GeometryNodeSetGeometryName.output_template` + - :class:`GeometryNodeSetGreasePencilColor.input_template` + - :class:`GeometryNodeSetGreasePencilColor.output_template` + - :class:`GeometryNodeSetGreasePencilDepth.input_template` + - :class:`GeometryNodeSetGreasePencilDepth.output_template` + - :class:`GeometryNodeSetGreasePencilSoftness.input_template` + - :class:`GeometryNodeSetGreasePencilSoftness.output_template` + - :class:`GeometryNodeSetGridBackground.input_template` + - :class:`GeometryNodeSetGridBackground.output_template` + - :class:`GeometryNodeSetGridTransform.input_template` + - :class:`GeometryNodeSetGridTransform.output_template` + - :class:`GeometryNodeSetID.input_template` + - :class:`GeometryNodeSetID.output_template` + - :class:`GeometryNodeSetInstanceTransform.input_template` + - :class:`GeometryNodeSetInstanceTransform.output_template` + - :class:`GeometryNodeSetMaterial.input_template` + - :class:`GeometryNodeSetMaterial.output_template` + - :class:`GeometryNodeSetMaterialIndex.input_template` + - :class:`GeometryNodeSetMaterialIndex.output_template` + - :class:`GeometryNodeSetMeshNormal.input_template` + - :class:`GeometryNodeSetMeshNormal.output_template` + - :class:`GeometryNodeSetPointRadius.input_template` + - :class:`GeometryNodeSetPointRadius.output_template` + - :class:`GeometryNodeSetPosition.input_template` + - :class:`GeometryNodeSetPosition.output_template` + - :class:`GeometryNodeSetShadeSmooth.input_template` + - :class:`GeometryNodeSetShadeSmooth.output_template` + - :class:`GeometryNodeSetSplineCyclic.input_template` + - :class:`GeometryNodeSetSplineCyclic.output_template` + - :class:`GeometryNodeSetSplineResolution.input_template` + - :class:`GeometryNodeSetSplineResolution.output_template` + - :class:`GeometryNodeSimulationInput.input_template` + - :class:`GeometryNodeSimulationInput.output_template` + - :class:`GeometryNodeSimulationOutput.input_template` + - :class:`GeometryNodeSimulationOutput.output_template` + - :class:`GeometryNodeSortElements.input_template` + - :class:`GeometryNodeSortElements.output_template` + - :class:`GeometryNodeSplineLength.input_template` + - :class:`GeometryNodeSplineLength.output_template` + - :class:`GeometryNodeSplineParameter.input_template` + - :class:`GeometryNodeSplineParameter.output_template` + - :class:`GeometryNodeSplitEdges.input_template` + - :class:`GeometryNodeSplitEdges.output_template` + - :class:`GeometryNodeSplitToInstances.input_template` + - :class:`GeometryNodeSplitToInstances.output_template` + - :class:`GeometryNodeStoreNamedAttribute.input_template` + - :class:`GeometryNodeStoreNamedAttribute.output_template` + - :class:`GeometryNodeStoreNamedGrid.input_template` + - :class:`GeometryNodeStoreNamedGrid.output_template` + - :class:`GeometryNodeStringJoin.input_template` + - :class:`GeometryNodeStringJoin.output_template` + - :class:`GeometryNodeStringToCurves.input_template` + - :class:`GeometryNodeStringToCurves.output_template` + - :class:`GeometryNodeSubdivideCurve.input_template` + - :class:`GeometryNodeSubdivideCurve.output_template` + - :class:`GeometryNodeSubdivideMesh.input_template` + - :class:`GeometryNodeSubdivideMesh.output_template` + - :class:`GeometryNodeSubdivisionSurface.input_template` + - :class:`GeometryNodeSubdivisionSurface.output_template` + - :class:`GeometryNodeSwitch.input_template` + - :class:`GeometryNodeSwitch.output_template` + - :class:`GeometryNodeTool3DCursor.input_template` + - :class:`GeometryNodeTool3DCursor.output_template` + - :class:`GeometryNodeToolActiveElement.input_template` + - :class:`GeometryNodeToolActiveElement.output_template` + - :class:`GeometryNodeToolFaceSet.input_template` + - :class:`GeometryNodeToolFaceSet.output_template` + - :class:`GeometryNodeToolMousePosition.input_template` + - :class:`GeometryNodeToolMousePosition.output_template` + - :class:`GeometryNodeToolSelection.input_template` + - :class:`GeometryNodeToolSelection.output_template` + - :class:`GeometryNodeToolSetFaceSet.input_template` + - :class:`GeometryNodeToolSetFaceSet.output_template` + - :class:`GeometryNodeToolSetSelection.input_template` + - :class:`GeometryNodeToolSetSelection.output_template` + - :class:`GeometryNodeTransform.input_template` + - :class:`GeometryNodeTransform.output_template` + - :class:`GeometryNodeTranslateInstances.input_template` + - :class:`GeometryNodeTranslateInstances.output_template` + - :class:`GeometryNodeTriangulate.input_template` + - :class:`GeometryNodeTriangulate.output_template` + - :class:`GeometryNodeTrimCurve.input_template` + - :class:`GeometryNodeTrimCurve.output_template` + - :class:`GeometryNodeUVPackIslands.input_template` + - :class:`GeometryNodeUVPackIslands.output_template` + - :class:`GeometryNodeUVTangent.input_template` + - :class:`GeometryNodeUVTangent.output_template` + - :class:`GeometryNodeUVUnwrap.input_template` + - :class:`GeometryNodeUVUnwrap.output_template` + - :class:`GeometryNodeVertexOfCorner.input_template` + - :class:`GeometryNodeVertexOfCorner.output_template` + - :class:`GeometryNodeViewer.input_template` + - :class:`GeometryNodeViewer.output_template` + - :class:`GeometryNodeViewportTransform.input_template` + - :class:`GeometryNodeViewportTransform.output_template` + - :class:`GeometryNodeVolumeCube.input_template` + - :class:`GeometryNodeVolumeCube.output_template` + - :class:`GeometryNodeVolumeToMesh.input_template` + - :class:`GeometryNodeVolumeToMesh.output_template` + - :class:`GeometryNodeWarning.input_template` + - :class:`GeometryNodeWarning.output_template` + - :class:`NodeClosureInput.input_template` + - :class:`NodeClosureInput.output_template` + - :class:`NodeClosureOutput.input_template` + - :class:`NodeClosureOutput.output_template` + - :class:`NodeCombineBundle.input_template` + - :class:`NodeCombineBundle.output_template` + - :class:`NodeEnableOutput.input_template` + - :class:`NodeEnableOutput.output_template` + - :class:`NodeEvaluateClosure.input_template` + - :class:`NodeEvaluateClosure.output_template` + - :class:`NodeFrame.input_template` + - :class:`NodeFrame.output_template` + - :class:`NodeGetBundleItem.input_template` + - :class:`NodeGetBundleItem.output_template` + - :class:`NodeGroup.input_template` + - :class:`NodeGroup.output_template` + - :class:`NodeGroupInput.input_template` + - :class:`NodeGroupInput.output_template` + - :class:`NodeGroupOutput.input_template` + - :class:`NodeGroupOutput.output_template` + - :class:`NodeJoinBundle.input_template` + - :class:`NodeJoinBundle.output_template` + - :class:`NodeReroute.input_template` + - :class:`NodeReroute.output_template` + - :class:`NodeSeparateBundle.input_template` + - :class:`NodeSeparateBundle.output_template` + - :class:`NodeStoreBundleItem.input_template` + - :class:`NodeStoreBundleItem.output_template` + - :class:`ShaderNodeAddShader.input_template` + - :class:`ShaderNodeAddShader.output_template` + - :class:`ShaderNodeAmbientOcclusion.input_template` + - :class:`ShaderNodeAmbientOcclusion.output_template` + - :class:`ShaderNodeAttribute.input_template` + - :class:`ShaderNodeAttribute.output_template` + - :class:`ShaderNodeBackground.input_template` + - :class:`ShaderNodeBackground.output_template` + - :class:`ShaderNodeBevel.input_template` + - :class:`ShaderNodeBevel.output_template` + - :class:`ShaderNodeBlackbody.input_template` + - :class:`ShaderNodeBlackbody.output_template` + - :class:`ShaderNodeBrightContrast.input_template` + - :class:`ShaderNodeBrightContrast.output_template` + - :class:`ShaderNodeBsdfAnisotropic.input_template` + - :class:`ShaderNodeBsdfAnisotropic.output_template` + - :class:`ShaderNodeBsdfDiffuse.input_template` + - :class:`ShaderNodeBsdfDiffuse.output_template` + - :class:`ShaderNodeBsdfGlass.input_template` + - :class:`ShaderNodeBsdfGlass.output_template` + - :class:`ShaderNodeBsdfHair.input_template` + - :class:`ShaderNodeBsdfHair.output_template` + - :class:`ShaderNodeBsdfHairPrincipled.input_template` + - :class:`ShaderNodeBsdfHairPrincipled.output_template` + - :class:`ShaderNodeBsdfMetallic.input_template` + - :class:`ShaderNodeBsdfMetallic.output_template` + - :class:`ShaderNodeBsdfPrincipled.input_template` + - :class:`ShaderNodeBsdfPrincipled.output_template` + - :class:`ShaderNodeBsdfRayPortal.input_template` + - :class:`ShaderNodeBsdfRayPortal.output_template` + - :class:`ShaderNodeBsdfRefraction.input_template` + - :class:`ShaderNodeBsdfRefraction.output_template` + - :class:`ShaderNodeBsdfSheen.input_template` + - :class:`ShaderNodeBsdfSheen.output_template` + - :class:`ShaderNodeBsdfToon.input_template` + - :class:`ShaderNodeBsdfToon.output_template` + - :class:`ShaderNodeBsdfTranslucent.input_template` + - :class:`ShaderNodeBsdfTranslucent.output_template` + - :class:`ShaderNodeBsdfTransparent.input_template` + - :class:`ShaderNodeBsdfTransparent.output_template` + - :class:`ShaderNodeBump.input_template` + - :class:`ShaderNodeBump.output_template` + - :class:`ShaderNodeCameraData.input_template` + - :class:`ShaderNodeCameraData.output_template` + - :class:`ShaderNodeClamp.input_template` + - :class:`ShaderNodeClamp.output_template` + - :class:`ShaderNodeCombineColor.input_template` + - :class:`ShaderNodeCombineColor.output_template` + - :class:`ShaderNodeCombineXYZ.input_template` + - :class:`ShaderNodeCombineXYZ.output_template` + - :class:`ShaderNodeDisplacement.input_template` + - :class:`ShaderNodeDisplacement.output_template` + - :class:`ShaderNodeEeveeSpecular.input_template` + - :class:`ShaderNodeEeveeSpecular.output_template` + - :class:`ShaderNodeEmission.input_template` + - :class:`ShaderNodeEmission.output_template` + - :class:`ShaderNodeFloatCurve.input_template` + - :class:`ShaderNodeFloatCurve.output_template` + - :class:`ShaderNodeFresnel.input_template` + - :class:`ShaderNodeFresnel.output_template` + - :class:`ShaderNodeGamma.input_template` + - :class:`ShaderNodeGamma.output_template` + - :class:`ShaderNodeGroup.input_template` + - :class:`ShaderNodeGroup.output_template` + - :class:`ShaderNodeHairInfo.input_template` + - :class:`ShaderNodeHairInfo.output_template` + - :class:`ShaderNodeHoldout.input_template` + - :class:`ShaderNodeHoldout.output_template` + - :class:`ShaderNodeHueSaturation.input_template` + - :class:`ShaderNodeHueSaturation.output_template` + - :class:`ShaderNodeInvert.input_template` + - :class:`ShaderNodeInvert.output_template` + - :class:`ShaderNodeLayerWeight.input_template` + - :class:`ShaderNodeLayerWeight.output_template` + - :class:`ShaderNodeLightFalloff.input_template` + - :class:`ShaderNodeLightFalloff.output_template` + - :class:`ShaderNodeLightPath.input_template` + - :class:`ShaderNodeLightPath.output_template` + - :class:`ShaderNodeMapRange.input_template` + - :class:`ShaderNodeMapRange.output_template` + - :class:`ShaderNodeMapping.input_template` + - :class:`ShaderNodeMapping.output_template` + - :class:`ShaderNodeMath.input_template` + - :class:`ShaderNodeMath.output_template` + - :class:`ShaderNodeMix.input_template` + - :class:`ShaderNodeMix.output_template` + - :class:`ShaderNodeMixRGB.input_template` + - :class:`ShaderNodeMixRGB.output_template` + - :class:`ShaderNodeMixShader.input_template` + - :class:`ShaderNodeMixShader.output_template` + - :class:`ShaderNodeNewGeometry.input_template` + - :class:`ShaderNodeNewGeometry.output_template` + - :class:`ShaderNodeNormal.input_template` + - :class:`ShaderNodeNormal.output_template` + - :class:`ShaderNodeNormalMap.input_template` + - :class:`ShaderNodeNormalMap.output_template` + - :class:`ShaderNodeObjectInfo.input_template` + - :class:`ShaderNodeObjectInfo.output_template` + - :class:`ShaderNodeOutputAOV.input_template` + - :class:`ShaderNodeOutputAOV.output_template` + - :class:`ShaderNodeOutputLight.input_template` + - :class:`ShaderNodeOutputLight.output_template` + - :class:`ShaderNodeOutputLineStyle.input_template` + - :class:`ShaderNodeOutputLineStyle.output_template` + - :class:`ShaderNodeOutputMaterial.input_template` + - :class:`ShaderNodeOutputMaterial.output_template` + - :class:`ShaderNodeOutputWorld.input_template` + - :class:`ShaderNodeOutputWorld.output_template` + - :class:`ShaderNodeParticleInfo.input_template` + - :class:`ShaderNodeParticleInfo.output_template` + - :class:`ShaderNodePointInfo.input_template` + - :class:`ShaderNodePointInfo.output_template` + - :class:`ShaderNodeRGB.input_template` + - :class:`ShaderNodeRGB.output_template` + - :class:`ShaderNodeRGBCurve.input_template` + - :class:`ShaderNodeRGBCurve.output_template` + - :class:`ShaderNodeRGBToBW.input_template` + - :class:`ShaderNodeRGBToBW.output_template` + - :class:`ShaderNodeRadialTiling.input_template` + - :class:`ShaderNodeRadialTiling.output_template` + - :class:`ShaderNodeRaycast.input_template` + - :class:`ShaderNodeRaycast.output_template` + - :class:`ShaderNodeScript.input_template` + - :class:`ShaderNodeScript.output_template` + - :class:`ShaderNodeSeparateColor.input_template` + - :class:`ShaderNodeSeparateColor.output_template` + - :class:`ShaderNodeSeparateXYZ.input_template` + - :class:`ShaderNodeSeparateXYZ.output_template` + - :class:`ShaderNodeShaderToRGB.input_template` + - :class:`ShaderNodeShaderToRGB.output_template` + - :class:`ShaderNodeSqueeze.input_template` + - :class:`ShaderNodeSqueeze.output_template` + - :class:`ShaderNodeSubsurfaceScattering.input_template` + - :class:`ShaderNodeSubsurfaceScattering.output_template` + - :class:`ShaderNodeTangent.input_template` + - :class:`ShaderNodeTangent.output_template` + - :class:`ShaderNodeTexBrick.input_template` + - :class:`ShaderNodeTexBrick.output_template` + - :class:`ShaderNodeTexChecker.input_template` + - :class:`ShaderNodeTexChecker.output_template` + - :class:`ShaderNodeTexCoord.input_template` + - :class:`ShaderNodeTexCoord.output_template` + - :class:`ShaderNodeTexEnvironment.input_template` + - :class:`ShaderNodeTexEnvironment.output_template` + - :class:`ShaderNodeTexGabor.input_template` + - :class:`ShaderNodeTexGabor.output_template` + - :class:`ShaderNodeTexGradient.input_template` + - :class:`ShaderNodeTexGradient.output_template` + - :class:`ShaderNodeTexIES.input_template` + - :class:`ShaderNodeTexIES.output_template` + - :class:`ShaderNodeTexImage.input_template` + - :class:`ShaderNodeTexImage.output_template` + - :class:`ShaderNodeTexMagic.input_template` + - :class:`ShaderNodeTexMagic.output_template` + - :class:`ShaderNodeTexNoise.input_template` + - :class:`ShaderNodeTexNoise.output_template` + - :class:`ShaderNodeTexSky.input_template` + - :class:`ShaderNodeTexSky.output_template` + - :class:`ShaderNodeTexVoronoi.input_template` + - :class:`ShaderNodeTexVoronoi.output_template` + - :class:`ShaderNodeTexWave.input_template` + - :class:`ShaderNodeTexWave.output_template` + - :class:`ShaderNodeTexWhiteNoise.input_template` + - :class:`ShaderNodeTexWhiteNoise.output_template` + - :class:`ShaderNodeUVAlongStroke.input_template` + - :class:`ShaderNodeUVAlongStroke.output_template` + - :class:`ShaderNodeUVMap.input_template` + - :class:`ShaderNodeUVMap.output_template` + - :class:`ShaderNodeValToRGB.input_template` + - :class:`ShaderNodeValToRGB.output_template` + - :class:`ShaderNodeValue.input_template` + - :class:`ShaderNodeValue.output_template` + - :class:`ShaderNodeVectorCurve.input_template` + - :class:`ShaderNodeVectorCurve.output_template` + - :class:`ShaderNodeVectorDisplacement.input_template` + - :class:`ShaderNodeVectorDisplacement.output_template` + - :class:`ShaderNodeVectorMath.input_template` + - :class:`ShaderNodeVectorMath.output_template` + - :class:`ShaderNodeVectorRotate.input_template` + - :class:`ShaderNodeVectorRotate.output_template` + - :class:`ShaderNodeVectorTransform.input_template` + - :class:`ShaderNodeVectorTransform.output_template` + - :class:`ShaderNodeVertexColor.input_template` + - :class:`ShaderNodeVertexColor.output_template` + - :class:`ShaderNodeVolumeAbsorption.input_template` + - :class:`ShaderNodeVolumeAbsorption.output_template` + - :class:`ShaderNodeVolumeCoefficients.input_template` + - :class:`ShaderNodeVolumeCoefficients.output_template` + - :class:`ShaderNodeVolumeInfo.input_template` + - :class:`ShaderNodeVolumeInfo.output_template` + - :class:`ShaderNodeVolumePrincipled.input_template` + - :class:`ShaderNodeVolumePrincipled.output_template` + - :class:`ShaderNodeVolumeScatter.input_template` + - :class:`ShaderNodeVolumeScatter.output_template` + - :class:`ShaderNodeWavelength.input_template` + - :class:`ShaderNodeWavelength.output_template` + - :class:`ShaderNodeWireframe.input_template` + - :class:`ShaderNodeWireframe.output_template` + - :class:`TextureNodeAt.input_template` + - :class:`TextureNodeAt.output_template` + - :class:`TextureNodeBricks.input_template` + - :class:`TextureNodeBricks.output_template` + - :class:`TextureNodeChecker.input_template` + - :class:`TextureNodeChecker.output_template` + - :class:`TextureNodeCombineColor.input_template` + - :class:`TextureNodeCombineColor.output_template` + - :class:`TextureNodeCompose.input_template` + - :class:`TextureNodeCompose.output_template` + - :class:`TextureNodeCoordinates.input_template` + - :class:`TextureNodeCoordinates.output_template` + - :class:`TextureNodeCurveRGB.input_template` + - :class:`TextureNodeCurveRGB.output_template` + - :class:`TextureNodeCurveTime.input_template` + - :class:`TextureNodeCurveTime.output_template` + - :class:`TextureNodeDecompose.input_template` + - :class:`TextureNodeDecompose.output_template` + - :class:`TextureNodeDistance.input_template` + - :class:`TextureNodeDistance.output_template` + - :class:`TextureNodeGroup.input_template` + - :class:`TextureNodeGroup.output_template` + - :class:`TextureNodeHueSaturation.input_template` + - :class:`TextureNodeHueSaturation.output_template` + - :class:`TextureNodeImage.input_template` + - :class:`TextureNodeImage.output_template` + - :class:`TextureNodeInvert.input_template` + - :class:`TextureNodeInvert.output_template` + - :class:`TextureNodeMath.input_template` + - :class:`TextureNodeMath.output_template` + - :class:`TextureNodeMixRGB.input_template` + - :class:`TextureNodeMixRGB.output_template` + - :class:`TextureNodeOutput.input_template` + - :class:`TextureNodeOutput.output_template` + - :class:`TextureNodeRGBToBW.input_template` + - :class:`TextureNodeRGBToBW.output_template` + - :class:`TextureNodeRotate.input_template` + - :class:`TextureNodeRotate.output_template` + - :class:`TextureNodeScale.input_template` + - :class:`TextureNodeScale.output_template` + - :class:`TextureNodeSeparateColor.input_template` + - :class:`TextureNodeSeparateColor.output_template` + - :class:`TextureNodeTexBlend.input_template` + - :class:`TextureNodeTexBlend.output_template` + - :class:`TextureNodeTexClouds.input_template` + - :class:`TextureNodeTexClouds.output_template` + - :class:`TextureNodeTexDistNoise.input_template` + - :class:`TextureNodeTexDistNoise.output_template` + - :class:`TextureNodeTexMagic.input_template` + - :class:`TextureNodeTexMagic.output_template` + - :class:`TextureNodeTexMarble.input_template` + - :class:`TextureNodeTexMarble.output_template` + - :class:`TextureNodeTexMusgrave.input_template` + - :class:`TextureNodeTexMusgrave.output_template` + - :class:`TextureNodeTexNoise.input_template` + - :class:`TextureNodeTexNoise.output_template` + - :class:`TextureNodeTexStucci.input_template` + - :class:`TextureNodeTexStucci.output_template` + - :class:`TextureNodeTexVoronoi.input_template` + - :class:`TextureNodeTexVoronoi.output_template` + - :class:`TextureNodeTexWood.input_template` + - :class:`TextureNodeTexWood.output_template` + - :class:`TextureNodeTexture.input_template` + - :class:`TextureNodeTexture.output_template` + - :class:`TextureNodeTranslate.input_template` + - :class:`TextureNodeTranslate.output_template` + - :class:`TextureNodeValToNor.input_template` + - :class:`TextureNodeValToNor.output_template` + - :class:`TextureNodeValToRGB.input_template` + - :class:`TextureNodeValToRGB.output_template` + - :class:`TextureNodeViewer.input_template` + - :class:`TextureNodeViewer.output_template` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeJoinBundle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeJoinBundle.rst new file mode 100644 index 0000000..6432187 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeJoinBundle.rst @@ -0,0 +1,153 @@ +NodeJoinBundle(NodeInternal) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeJoinBundle(NodeInternal) + + Join multiple bundles together + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeLink.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeLink.rst new file mode 100644 index 0000000..2c51d7f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeLink.rst @@ -0,0 +1,138 @@ +NodeLink(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeLink(bpy_struct) + + Link between nodes in a node tree + + .. data:: from_node + + (readonly) + + :type: :class:`Node` | None + + .. data:: from_socket + + (readonly) + + :type: :class:`NodeSocket` | None + + .. data:: is_hidden + + Link is hidden due to invisible sockets (default False, readonly) + + :type: bool + + .. attribute:: is_muted + + Link is muted and can be ignored (default False) + + :type: bool + + .. attribute:: is_valid + + Link is valid (default False) + + :type: bool + + .. data:: multi_input_sort_id + + Used to sort multiple links coming into the same input. The highest ID is at the top. (in [0, inf], default 0, readonly) + + :type: int + + .. data:: to_node + + (readonly) + + :type: :class:`Node` | None + + .. data:: to_socket + + (readonly) + + :type: :class:`NodeSocket` | None + + .. method:: swap_multi_input_sort_id(other) + + Swap the order of two links connected to the same multi-input socket + + :param other: Other, The other link. Must link to the same multi-input socket. (never None) + :type other: :class:`NodeLink` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Node.insert_link` + - :class:`Node.internal_links` + - :class:`NodeLink.swap_multi_input_sort_id` + - :class:`NodeLinks.new` + - :class:`NodeLinks.remove` + - :class:`NodeTree.links` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeLinks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeLinks.rst new file mode 100644 index 0000000..44ed7d6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeLinks.rst @@ -0,0 +1,105 @@ +NodeLinks(bpy_prop_collection) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeLinks(bpy_prop_collection) + + Collection of Node Links + + .. method:: new(input, output, *, verify_limits=True, handle_dynamic_sockets=False) + + Add a node link to this node tree + + :param input: The input socket (never None) + :type input: :class:`NodeSocket` | None + :param output: The output socket (never None) + :type output: :class:`NodeSocket` | None + :param verify_limits: Verify Limits, Remove existing links if connection limit is exceeded (optional) + :type verify_limits: bool + :param handle_dynamic_sockets: Handle Dynamic Sockets, Handle node specific features like virtual sockets (optional) + :type handle_dynamic_sockets: bool + :return: New node link + :rtype: :class:`NodeLink` + + .. method:: remove(link) + + remove a node link from the node tree + + :param link: The node link to remove (never None) + :type link: :class:`NodeLink` | None + + .. method:: clear() + + remove all node links from the node tree + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeTree.links` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeMenuSwitchItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeMenuSwitchItems.rst new file mode 100644 index 0000000..307428d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeMenuSwitchItems.rst @@ -0,0 +1,108 @@ +NodeMenuSwitchItems(bpy_prop_collection) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeMenuSwitchItems(bpy_prop_collection) + + Collection of items that make up an enum + + .. method:: new(name) + + Add an a new enum item + + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeEnumItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeEnumItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeMenuSwitch.enum_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeOutputs.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeOutputs.rst new file mode 100644 index 0000000..c2e141b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeOutputs.rst @@ -0,0 +1,114 @@ +NodeOutputs(bpy_prop_collection) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeOutputs(bpy_prop_collection) + + Collection of Node Sockets + + .. method:: new(type, name, *, identifier="", use_multi_input=False) + + Add a socket to this node + + :param type: Type, Data type (never None) + :type type: str + :param name: Name, (never None) + :type name: str + :param identifier: Identifier, Unique socket identifier (optional, never None) + :type identifier: str + :param use_multi_input: Make the socket multi-input (valid for inputs only) (optional) + :type use_multi_input: bool + :return: New socket + :rtype: :class:`NodeSocket` + + .. method:: remove(socket) + + Remove a socket from this node + + :param socket: The socket to remove + :type socket: :class:`NodeSocket` | None + + .. method:: clear() + + Remove all sockets from this node + + + .. method:: move(from_index, to_index) + + Move a socket to another position + + :param from_index: From Index, Index of the socket to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the socket (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Node.outputs` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeReroute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeReroute.rst new file mode 100644 index 0000000..b2fc22a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeReroute.rst @@ -0,0 +1,159 @@ +NodeReroute(NodeInternal) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeReroute(NodeInternal) + + A single-socket organization tool that supports one input and multiple outputs + + .. attribute:: socket_idname + + (default "", never None) + + :type: str + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSeparateBundle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSeparateBundle.rst new file mode 100644 index 0000000..0c21c64 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSeparateBundle.rst @@ -0,0 +1,171 @@ +NodeSeparateBundle(NodeInternal) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeSeparateBundle(NodeInternal) + + Split a bundle into multiple sockets. + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. data:: bundle_items + + (default None, readonly) + + :type: :class:`NodeSeparateBundleItems`\ [:class:`NodeSeparateBundleItem`] + + .. attribute:: define_signature + + This node defines a bundle signature that should be used by other nodes (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSeparateBundleItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSeparateBundleItem.rst new file mode 100644 index 0000000..e83d9a7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSeparateBundleItem.rst @@ -0,0 +1,103 @@ +NodeSeparateBundleItem(bpy_struct) +================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeSeparateBundleItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. attribute:: structure_type + + What kind of higher order types are expected to flow through this socket (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_node_socket_structure_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeSeparateBundle.bundle_items` + - :class:`NodeSeparateBundleItems.new` + - :class:`NodeSeparateBundleItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSeparateBundleItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSeparateBundleItems.rst new file mode 100644 index 0000000..1cd3e55 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSeparateBundleItems.rst @@ -0,0 +1,110 @@ +NodeSeparateBundleItems(bpy_prop_collection) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodeSeparateBundleItems(bpy_prop_collection) + + Collection of separate bundle items + + .. method:: new(socket_type, name) + + Add an item at the end + + :param socket_type: Socket Type, Socket type of the item + :type socket_type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + :param name: Name, (never None) + :type name: str + :return: Item, New item + :rtype: :class:`NodeSeparateBundleItem` + + .. method:: remove(item) + + Remove an item + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeSeparateBundleItem` | None + + .. method:: clear() + + Remove all items + + + .. method:: move(from_index, to_index) + + Move an item to another position + + :param from_index: From Index, Index of the item to move (in [0, inf]) + :type from_index: int + :param to_index: To Index, Target index for the item (in [0, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeSeparateBundle.bundle_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocket.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocket.rst new file mode 100644 index 0000000..f0a9c0b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocket.rst @@ -0,0 +1,406 @@ +NodeSocket(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`NodeSocketStandard` + +.. class:: NodeSocket(bpy_struct) + + Input or output socket of a node + + .. attribute:: bl_idname + + (default "", never None) + + :type: str + + .. attribute:: bl_label + + Label to display for the socket type in the UI (default "", never None) + + :type: str + + .. attribute:: bl_subtype_label + + Label to display for the socket subtype in the UI (default "", never None) + + :type: str + + .. attribute:: description + + Socket tooltip (default "", never None) + + :type: str + + .. attribute:: display_shape + + Socket shape (default ``'CIRCLE'``) + + :type: Literal['CIRCLE', 'SQUARE', 'DIAMOND', 'CIRCLE_DOT', 'SQUARE_DOT', 'DIAMOND_DOT', 'LINE', 'VOLUME_GRID', 'LIST'] + + .. attribute:: enabled + + Enable the socket (default True) + + :type: bool + + .. attribute:: hide + + Hide the socket (default False) + + :type: bool + + .. attribute:: hide_value + + Hide the socket input value (default False) + + :type: bool + + .. data:: identifier + + Unique identifier for mapping sockets (default "", readonly, never None) + + :type: str + + .. data:: inferred_structure_type + + Best known structure type of the socket. This may not match the socket shape, e.g. for unlinked input sockets (default ``'AUTO'``, readonly) + + :type: Literal[:ref:`rna_enum_node_socket_structure_type_items`] + + .. data:: is_icon_visible + + Socket is drawn as interactive icon in the node editor (default False, readonly) + + :type: bool + + .. data:: is_inactive + + Socket is grayed out because it has been detected to not have any effect on the output (default False, readonly) + + :type: bool + + .. data:: is_linked + + True if the socket is connected (default False, readonly) + + :type: bool + + .. data:: is_multi_input + + True if the socket can accept multiple ordered input links (default False, readonly) + + :type: bool + + .. data:: is_output + + True if the socket is an output, otherwise input (default False, readonly) + + :type: bool + + .. data:: is_unavailable + + True if the socket is unavailable (default False, readonly) + + :type: bool + + .. data:: label + + Custom dynamic defined UI label for the socket. Can be translated if translation is enabled in the preferences (default "", readonly, never None) + + :type: str + + .. attribute:: link_limit + + Max number of links allowed for this socket (in [1, 4095], default 0) + + :type: int + + .. attribute:: name + + Socket name (default "", never None) + + :type: str + + .. data:: node + + Node owning this socket (readonly) + + :type: :class:`Node` | None + + .. attribute:: pin_gizmo + + Keep gizmo visible even when the node is not selected (default False) + + :type: bool + + .. data:: select + + True if the socket is selected (default False, readonly) + + :type: bool + + .. attribute:: show_expanded + + Socket links are expanded in the user interface (default True) + + :type: bool + + .. attribute:: type + + Data type (default ``'VALUE'``) + + :type: Literal[:ref:`rna_enum_node_socket_type_items`] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. method:: draw(context, layout, node, text) + + Draw socket + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + :param node: Node, Node the socket belongs to (never None) + :type node: :class:`Node` | None + :param text: Text, Text label to draw alongside properties (never None) + :type text: str + + .. method:: draw_color(context, node) + + Color of the socket icon + + :param context: (never None) + :type context: :class:`Context` | None + :param node: Node, Node the socket belongs to (never None) + :type node: :class:`Node` | None + :return: Color, (array of 4 items, in [0, 1]) + :rtype: :class:`bpy_prop_array`\ [float] + + .. classmethod:: draw_color_simple() + + Color of the socket icon. Used to draw sockets in places where the socket does not belong to a node, like the node interface panel. Also used to draw node sockets if draw_color is not defined. + + :return: Color, (array of 4 items, in [0, 1]) + :rtype: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`NodeInputs.new` + - :class:`NodeInputs.remove` + - :class:`NodeLink.from_socket` + - :class:`NodeLink.to_socket` + - :class:`NodeLinks.new` + - :class:`NodeLinks.new` + - :class:`NodeOutputs.new` + - :class:`NodeOutputs.remove` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocketBool.from_socket` + - :class:`NodeTreeInterfaceSocketBool.init_socket` + - :class:`NodeTreeInterfaceSocketBundle.from_socket` + - :class:`NodeTreeInterfaceSocketBundle.init_socket` + - :class:`NodeTreeInterfaceSocketClosure.from_socket` + - :class:`NodeTreeInterfaceSocketClosure.init_socket` + - :class:`NodeTreeInterfaceSocketCollection.from_socket` + - :class:`NodeTreeInterfaceSocketCollection.init_socket` + - :class:`NodeTreeInterfaceSocketColor.from_socket` + - :class:`NodeTreeInterfaceSocketColor.init_socket` + - :class:`NodeTreeInterfaceSocketFloat.from_socket` + - :class:`NodeTreeInterfaceSocketFloat.init_socket` + - :class:`NodeTreeInterfaceSocketFloatAngle.from_socket` + - :class:`NodeTreeInterfaceSocketFloatAngle.init_socket` + - :class:`NodeTreeInterfaceSocketFloatColorTemperature.from_socket` + - :class:`NodeTreeInterfaceSocketFloatColorTemperature.init_socket` + - :class:`NodeTreeInterfaceSocketFloatDistance.from_socket` + - :class:`NodeTreeInterfaceSocketFloatDistance.init_socket` + - :class:`NodeTreeInterfaceSocketFloatFactor.from_socket` + - :class:`NodeTreeInterfaceSocketFloatFactor.init_socket` + - :class:`NodeTreeInterfaceSocketFloatFrequency.from_socket` + - :class:`NodeTreeInterfaceSocketFloatFrequency.init_socket` + - :class:`NodeTreeInterfaceSocketFloatMass.from_socket` + - :class:`NodeTreeInterfaceSocketFloatMass.init_socket` + - :class:`NodeTreeInterfaceSocketFloatPercentage.from_socket` + - :class:`NodeTreeInterfaceSocketFloatPercentage.init_socket` + - :class:`NodeTreeInterfaceSocketFloatTime.from_socket` + - :class:`NodeTreeInterfaceSocketFloatTime.init_socket` + - :class:`NodeTreeInterfaceSocketFloatTimeAbsolute.from_socket` + - :class:`NodeTreeInterfaceSocketFloatTimeAbsolute.init_socket` + - :class:`NodeTreeInterfaceSocketFloatUnsigned.from_socket` + - :class:`NodeTreeInterfaceSocketFloatUnsigned.init_socket` + - :class:`NodeTreeInterfaceSocketFloatWavelength.from_socket` + - :class:`NodeTreeInterfaceSocketFloatWavelength.init_socket` + - :class:`NodeTreeInterfaceSocketGeometry.from_socket` + - :class:`NodeTreeInterfaceSocketGeometry.init_socket` + - :class:`NodeTreeInterfaceSocketImage.from_socket` + - :class:`NodeTreeInterfaceSocketImage.init_socket` + - :class:`NodeTreeInterfaceSocketInt.from_socket` + - :class:`NodeTreeInterfaceSocketInt.init_socket` + - :class:`NodeTreeInterfaceSocketIntFactor.from_socket` + - :class:`NodeTreeInterfaceSocketIntFactor.init_socket` + - :class:`NodeTreeInterfaceSocketIntPercentage.from_socket` + - :class:`NodeTreeInterfaceSocketIntPercentage.init_socket` + - :class:`NodeTreeInterfaceSocketIntUnsigned.from_socket` + - :class:`NodeTreeInterfaceSocketIntUnsigned.init_socket` + - :class:`NodeTreeInterfaceSocketMaterial.from_socket` + - :class:`NodeTreeInterfaceSocketMaterial.init_socket` + - :class:`NodeTreeInterfaceSocketMatrix.from_socket` + - :class:`NodeTreeInterfaceSocketMatrix.init_socket` + - :class:`NodeTreeInterfaceSocketMenu.from_socket` + - :class:`NodeTreeInterfaceSocketMenu.init_socket` + - :class:`NodeTreeInterfaceSocketObject.from_socket` + - :class:`NodeTreeInterfaceSocketObject.init_socket` + - :class:`NodeTreeInterfaceSocketRotation.from_socket` + - :class:`NodeTreeInterfaceSocketRotation.init_socket` + - :class:`NodeTreeInterfaceSocketShader.from_socket` + - :class:`NodeTreeInterfaceSocketShader.init_socket` + - :class:`NodeTreeInterfaceSocketString.from_socket` + - :class:`NodeTreeInterfaceSocketString.init_socket` + - :class:`NodeTreeInterfaceSocketStringFilePath.from_socket` + - :class:`NodeTreeInterfaceSocketStringFilePath.init_socket` + - :class:`NodeTreeInterfaceSocketTexture.from_socket` + - :class:`NodeTreeInterfaceSocketTexture.init_socket` + - :class:`NodeTreeInterfaceSocketVector.from_socket` + - :class:`NodeTreeInterfaceSocketVector.init_socket` + - :class:`NodeTreeInterfaceSocketVector2D.from_socket` + - :class:`NodeTreeInterfaceSocketVector2D.init_socket` + - :class:`NodeTreeInterfaceSocketVector4D.from_socket` + - :class:`NodeTreeInterfaceSocketVector4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration.from_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration.init_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorAcceleration4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection.from_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection.init_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorDirection4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler.from_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler.init_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorEuler4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor.from_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor.init_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorFactor4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage.from_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage.init_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorPercentage4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation.from_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation.init_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorTranslation4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity.from_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity.init_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorVelocity4D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ.from_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ.init_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ2D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ2D.init_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ4D.from_socket` + - :class:`NodeTreeInterfaceSocketVectorXYZ4D.init_socket` + - :class:`UILayout.template_node_link` + - :class:`UILayout.template_node_view` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketBool.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketBool.rst new file mode 100644 index 0000000..c3faea5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketBool.rst @@ -0,0 +1,123 @@ +NodeSocketBool(NodeSocketStandard) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketBool(NodeSocketStandard) + + Boolean value socket of a node + + .. attribute:: default_value + + (default False) + + :type: bool + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketBundle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketBundle.rst new file mode 100644 index 0000000..65208d5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketBundle.rst @@ -0,0 +1,117 @@ +NodeSocketBundle(NodeSocketStandard) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketBundle(NodeSocketStandard) + + Bundle socket of a node + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketClosure.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketClosure.rst new file mode 100644 index 0000000..5c7ea22 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketClosure.rst @@ -0,0 +1,117 @@ +NodeSocketClosure(NodeSocketStandard) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketClosure(NodeSocketStandard) + + Closure socket of a node + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketCollection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketCollection.rst new file mode 100644 index 0000000..9306eac --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketCollection.rst @@ -0,0 +1,121 @@ +NodeSocketCollection(NodeSocketStandard) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketCollection(NodeSocketStandard) + + Collection socket of a node + + .. attribute:: default_value + + :type: :class:`Collection` | None + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketColor.rst new file mode 100644 index 0000000..b3d5de8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketColor.rst @@ -0,0 +1,123 @@ +NodeSocketColor(NodeSocketStandard) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketColor(NodeSocketStandard) + + RGBA color socket of a node + + .. attribute:: default_value + + (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloat.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloat.rst new file mode 100644 index 0000000..a8151f2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloat.rst @@ -0,0 +1,123 @@ +NodeSocketFloat(NodeSocketStandard) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloat(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatAngle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatAngle.rst new file mode 100644 index 0000000..e0d3e7f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatAngle.rst @@ -0,0 +1,123 @@ +NodeSocketFloatAngle(NodeSocketStandard) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloatAngle(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatColorTemperature.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatColorTemperature.rst new file mode 100644 index 0000000..752e0a4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatColorTemperature.rst @@ -0,0 +1,123 @@ +NodeSocketFloatColorTemperature(NodeSocketStandard) +=================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloatColorTemperature(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatDistance.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatDistance.rst new file mode 100644 index 0000000..5709020 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatDistance.rst @@ -0,0 +1,123 @@ +NodeSocketFloatDistance(NodeSocketStandard) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloatDistance(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatFactor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatFactor.rst new file mode 100644 index 0000000..94a25c3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatFactor.rst @@ -0,0 +1,123 @@ +NodeSocketFloatFactor(NodeSocketStandard) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloatFactor(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [0, 1], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatFrequency.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatFrequency.rst new file mode 100644 index 0000000..1d0b93a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatFrequency.rst @@ -0,0 +1,123 @@ +NodeSocketFloatFrequency(NodeSocketStandard) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloatFrequency(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatMass.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatMass.rst new file mode 100644 index 0000000..ccce7b0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatMass.rst @@ -0,0 +1,123 @@ +NodeSocketFloatMass(NodeSocketStandard) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloatMass(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatPercentage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatPercentage.rst new file mode 100644 index 0000000..2e27896 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatPercentage.rst @@ -0,0 +1,123 @@ +NodeSocketFloatPercentage(NodeSocketStandard) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloatPercentage(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatTime.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatTime.rst new file mode 100644 index 0000000..16ccdff --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatTime.rst @@ -0,0 +1,123 @@ +NodeSocketFloatTime(NodeSocketStandard) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloatTime(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatTimeAbsolute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatTimeAbsolute.rst new file mode 100644 index 0000000..2a1983a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatTimeAbsolute.rst @@ -0,0 +1,123 @@ +NodeSocketFloatTimeAbsolute(NodeSocketStandard) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloatTimeAbsolute(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatUnsigned.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatUnsigned.rst new file mode 100644 index 0000000..b277e05 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatUnsigned.rst @@ -0,0 +1,123 @@ +NodeSocketFloatUnsigned(NodeSocketStandard) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloatUnsigned(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [0, inf], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatWavelength.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatWavelength.rst new file mode 100644 index 0000000..68683fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFloatWavelength.rst @@ -0,0 +1,123 @@ +NodeSocketFloatWavelength(NodeSocketStandard) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFloatWavelength(NodeSocketStandard) + + Floating-point number socket of a node + + .. attribute:: default_value + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFont.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFont.rst new file mode 100644 index 0000000..61fe23e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketFont.rst @@ -0,0 +1,121 @@ +NodeSocketFont(NodeSocketStandard) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketFont(NodeSocketStandard) + + Font socket of a node + + .. attribute:: default_value + + :type: :class:`VectorFont` | None + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketGeometry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketGeometry.rst new file mode 100644 index 0000000..a6e41d2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketGeometry.rst @@ -0,0 +1,117 @@ +NodeSocketGeometry(NodeSocketStandard) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketGeometry(NodeSocketStandard) + + Geometry socket of a node + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketImage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketImage.rst new file mode 100644 index 0000000..a583742 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketImage.rst @@ -0,0 +1,121 @@ +NodeSocketImage(NodeSocketStandard) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketImage(NodeSocketStandard) + + Image socket of a node + + .. attribute:: default_value + + :type: :class:`Image` | None + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketInt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketInt.rst new file mode 100644 index 0000000..fd710fc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketInt.rst @@ -0,0 +1,123 @@ +NodeSocketInt(NodeSocketStandard) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketInt(NodeSocketStandard) + + Integer number socket of a node + + .. attribute:: default_value + + (in [-inf, inf], default 0) + + :type: int + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketIntFactor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketIntFactor.rst new file mode 100644 index 0000000..f305953 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketIntFactor.rst @@ -0,0 +1,123 @@ +NodeSocketIntFactor(NodeSocketStandard) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketIntFactor(NodeSocketStandard) + + Integer number socket of a node + + .. attribute:: default_value + + (in [0, inf], default 1) + + :type: int + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketIntPercentage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketIntPercentage.rst new file mode 100644 index 0000000..3aa981f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketIntPercentage.rst @@ -0,0 +1,123 @@ +NodeSocketIntPercentage(NodeSocketStandard) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketIntPercentage(NodeSocketStandard) + + Integer number socket of a node + + .. attribute:: default_value + + (in [0, inf], default 100) + + :type: int + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketIntUnsigned.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketIntUnsigned.rst new file mode 100644 index 0000000..1be7e7f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketIntUnsigned.rst @@ -0,0 +1,123 @@ +NodeSocketIntUnsigned(NodeSocketStandard) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketIntUnsigned(NodeSocketStandard) + + Integer number socket of a node + + .. attribute:: default_value + + (in [0, inf], default 0) + + :type: int + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMask.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMask.rst new file mode 100644 index 0000000..efd879a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMask.rst @@ -0,0 +1,121 @@ +NodeSocketMask(NodeSocketStandard) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketMask(NodeSocketStandard) + + Mask socket of a node + + .. attribute:: default_value + + :type: :class:`Mask` | None + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMaterial.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMaterial.rst new file mode 100644 index 0000000..facb9ae --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMaterial.rst @@ -0,0 +1,121 @@ +NodeSocketMaterial(NodeSocketStandard) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketMaterial(NodeSocketStandard) + + Material socket of a node + + .. attribute:: default_value + + :type: :class:`Material` | None + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMatrix.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMatrix.rst new file mode 100644 index 0000000..b8a417a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMatrix.rst @@ -0,0 +1,117 @@ +NodeSocketMatrix(NodeSocketStandard) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketMatrix(NodeSocketStandard) + + Matrix value socket of a node + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMenu.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMenu.rst new file mode 100644 index 0000000..e8f39a3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketMenu.rst @@ -0,0 +1,121 @@ +NodeSocketMenu(NodeSocketStandard) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketMenu(NodeSocketStandard) + + Menu socket of a node + + .. attribute:: default_value + + :type: str + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketObject.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketObject.rst new file mode 100644 index 0000000..b919aab --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketObject.rst @@ -0,0 +1,121 @@ +NodeSocketObject(NodeSocketStandard) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketObject(NodeSocketStandard) + + Object socket of a node + + .. attribute:: default_value + + :type: :class:`Object` | None + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketRotation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketRotation.rst new file mode 100644 index 0000000..c609dd1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketRotation.rst @@ -0,0 +1,123 @@ +NodeSocketRotation(NodeSocketStandard) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketRotation(NodeSocketStandard) + + Rotation value socket of a node + + .. attribute:: default_value + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketScene.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketScene.rst new file mode 100644 index 0000000..cb926ee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketScene.rst @@ -0,0 +1,121 @@ +NodeSocketScene(NodeSocketStandard) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketScene(NodeSocketStandard) + + Scene socket of a node + + .. attribute:: default_value + + :type: :class:`Scene` | None + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketShader.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketShader.rst new file mode 100644 index 0000000..0a81452 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketShader.rst @@ -0,0 +1,117 @@ +NodeSocketShader(NodeSocketStandard) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketShader(NodeSocketStandard) + + Shader socket of a node + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketSound.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketSound.rst new file mode 100644 index 0000000..3f12553 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketSound.rst @@ -0,0 +1,121 @@ +NodeSocketSound(NodeSocketStandard) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketSound(NodeSocketStandard) + + Sound socket of a node + + .. attribute:: default_value + + :type: :class:`Sound` | None + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketStandard.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketStandard.rst new file mode 100644 index 0000000..ad29d5b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketStandard.rst @@ -0,0 +1,144 @@ +NodeSocketStandard(NodeSocket) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket` + +subclasses --- +:class:`NodeSocketBool`, :class:`NodeSocketBundle`, :class:`NodeSocketClosure`, :class:`NodeSocketCollection`, :class:`NodeSocketColor`, :class:`NodeSocketFloat`, :class:`NodeSocketFloatAngle`, :class:`NodeSocketFloatColorTemperature`, :class:`NodeSocketFloatDistance`, :class:`NodeSocketFloatFactor`, :class:`NodeSocketFloatFrequency`, :class:`NodeSocketFloatMass`, :class:`NodeSocketFloatPercentage`, :class:`NodeSocketFloatTime`, :class:`NodeSocketFloatTimeAbsolute`, :class:`NodeSocketFloatUnsigned`, :class:`NodeSocketFloatWavelength`, :class:`NodeSocketFont`, :class:`NodeSocketGeometry`, :class:`NodeSocketImage`, :class:`NodeSocketInt`, :class:`NodeSocketIntFactor`, :class:`NodeSocketIntPercentage`, :class:`NodeSocketIntUnsigned`, :class:`NodeSocketMask`, :class:`NodeSocketMaterial`, :class:`NodeSocketMatrix`, :class:`NodeSocketMenu`, :class:`NodeSocketObject`, :class:`NodeSocketRotation`, :class:`NodeSocketScene`, :class:`NodeSocketShader`, :class:`NodeSocketSound`, :class:`NodeSocketString`, :class:`NodeSocketStringFilePath`, :class:`NodeSocketText`, :class:`NodeSocketTexture`, :class:`NodeSocketVector`, :class:`NodeSocketVector2D`, :class:`NodeSocketVector4D`, :class:`NodeSocketVectorAcceleration`, :class:`NodeSocketVectorAcceleration2D`, :class:`NodeSocketVectorAcceleration4D`, :class:`NodeSocketVectorDirection`, :class:`NodeSocketVectorDirection2D`, :class:`NodeSocketVectorDirection4D`, :class:`NodeSocketVectorEuler`, :class:`NodeSocketVectorEuler2D`, :class:`NodeSocketVectorEuler4D`, :class:`NodeSocketVectorFactor`, :class:`NodeSocketVectorFactor2D`, :class:`NodeSocketVectorFactor4D`, :class:`NodeSocketVectorPercentage`, :class:`NodeSocketVectorPercentage2D`, :class:`NodeSocketVectorPercentage4D`, :class:`NodeSocketVectorTranslation`, :class:`NodeSocketVectorTranslation2D`, :class:`NodeSocketVectorTranslation4D`, :class:`NodeSocketVectorVelocity`, :class:`NodeSocketVectorVelocity2D`, :class:`NodeSocketVectorVelocity4D`, :class:`NodeSocketVectorXYZ`, :class:`NodeSocketVectorXYZ2D`, :class:`NodeSocketVectorXYZ4D`, :class:`NodeSocketVirtual` + +.. class:: NodeSocketStandard(NodeSocket) + + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. method:: draw(context, layout, node, text) + + Draw socket + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + :param node: Node, Node the socket belongs to (never None) + :type node: :class:`Node` | None + :param text: Text, Text label to draw alongside properties (never None) + :type text: str + + .. method:: draw_color(context, node) + + Color of the socket icon + + :param context: (never None) + :type context: :class:`Context` | None + :param node: Node, Node the socket belongs to (never None) + :type node: :class:`Node` | None + :return: Color, (array of 4 items, in [0, 1]) + :rtype: :class:`bpy_prop_array`\ [float] + + .. classmethod:: draw_color_simple() + + Color of the socket icon + + :return: Color, (array of 4 items, in [0, 1]) + :rtype: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketString.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketString.rst new file mode 100644 index 0000000..a4ee6ee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketString.rst @@ -0,0 +1,123 @@ +NodeSocketString(NodeSocketStandard) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketString(NodeSocketStandard) + + String socket of a node + + .. attribute:: default_value + + (default "", never None) + + :type: str + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketStringFilePath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketStringFilePath.rst new file mode 100644 index 0000000..66d0f7f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketStringFilePath.rst @@ -0,0 +1,123 @@ +NodeSocketStringFilePath(NodeSocketStandard) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketStringFilePath(NodeSocketStandard) + + String socket of a node + + .. attribute:: default_value + + (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketText.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketText.rst new file mode 100644 index 0000000..2abe19a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketText.rst @@ -0,0 +1,121 @@ +NodeSocketText(NodeSocketStandard) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketText(NodeSocketStandard) + + Text socket of a node + + .. attribute:: default_value + + :type: :class:`Text` | None + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketTexture.rst new file mode 100644 index 0000000..f03d564 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketTexture.rst @@ -0,0 +1,121 @@ +NodeSocketTexture(NodeSocketStandard) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketTexture(NodeSocketStandard) + + Texture socket of a node + + .. attribute:: default_value + + :type: :class:`Texture` | None + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVector.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVector.rst new file mode 100644 index 0000000..ea6481c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVector.rst @@ -0,0 +1,123 @@ +NodeSocketVector(NodeSocketStandard) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVector(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVector2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVector2D.rst new file mode 100644 index 0000000..c5bf7a5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVector2D.rst @@ -0,0 +1,123 @@ +NodeSocketVector2D(NodeSocketStandard) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVector2D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVector4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVector4D.rst new file mode 100644 index 0000000..4528ed2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVector4D.rst @@ -0,0 +1,123 @@ +NodeSocketVector4D(NodeSocketStandard) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVector4D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorAcceleration.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorAcceleration.rst new file mode 100644 index 0000000..d348672 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorAcceleration.rst @@ -0,0 +1,123 @@ +NodeSocketVectorAcceleration(NodeSocketStandard) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorAcceleration(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorAcceleration2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorAcceleration2D.rst new file mode 100644 index 0000000..b0db585 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorAcceleration2D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorAcceleration2D(NodeSocketStandard) +================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorAcceleration2D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorAcceleration4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorAcceleration4D.rst new file mode 100644 index 0000000..91bfcb6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorAcceleration4D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorAcceleration4D(NodeSocketStandard) +================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorAcceleration4D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorDirection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorDirection.rst new file mode 100644 index 0000000..56e75c5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorDirection.rst @@ -0,0 +1,123 @@ +NodeSocketVectorDirection(NodeSocketStandard) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorDirection(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorDirection2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorDirection2D.rst new file mode 100644 index 0000000..723c8fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorDirection2D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorDirection2D(NodeSocketStandard) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorDirection2D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorDirection4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorDirection4D.rst new file mode 100644 index 0000000..dbf2712 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorDirection4D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorDirection4D(NodeSocketStandard) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorDirection4D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorEuler.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorEuler.rst new file mode 100644 index 0000000..fbb0bc3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorEuler.rst @@ -0,0 +1,123 @@ +NodeSocketVectorEuler(NodeSocketStandard) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorEuler(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorEuler2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorEuler2D.rst new file mode 100644 index 0000000..aeb5d6a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorEuler2D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorEuler2D(NodeSocketStandard) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorEuler2D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorEuler4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorEuler4D.rst new file mode 100644 index 0000000..3b12799 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorEuler4D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorEuler4D(NodeSocketStandard) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorEuler4D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorFactor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorFactor.rst new file mode 100644 index 0000000..87aeb6e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorFactor.rst @@ -0,0 +1,123 @@ +NodeSocketVectorFactor(NodeSocketStandard) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorFactor(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorFactor2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorFactor2D.rst new file mode 100644 index 0000000..23199a3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorFactor2D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorFactor2D(NodeSocketStandard) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorFactor2D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 2 items, in [0, 1], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorFactor4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorFactor4D.rst new file mode 100644 index 0000000..dabbae2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorFactor4D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorFactor4D(NodeSocketStandard) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorFactor4D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorPercentage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorPercentage.rst new file mode 100644 index 0000000..4138e4e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorPercentage.rst @@ -0,0 +1,123 @@ +NodeSocketVectorPercentage(NodeSocketStandard) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorPercentage(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorPercentage2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorPercentage2D.rst new file mode 100644 index 0000000..cdb18aa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorPercentage2D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorPercentage2D(NodeSocketStandard) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorPercentage2D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorPercentage4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorPercentage4D.rst new file mode 100644 index 0000000..3d1de9f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorPercentage4D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorPercentage4D(NodeSocketStandard) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorPercentage4D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorTranslation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorTranslation.rst new file mode 100644 index 0000000..b94b9ca --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorTranslation.rst @@ -0,0 +1,123 @@ +NodeSocketVectorTranslation(NodeSocketStandard) +=============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorTranslation(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorTranslation2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorTranslation2D.rst new file mode 100644 index 0000000..303c0a2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorTranslation2D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorTranslation2D(NodeSocketStandard) +================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorTranslation2D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorTranslation4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorTranslation4D.rst new file mode 100644 index 0000000..a9ea657 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorTranslation4D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorTranslation4D(NodeSocketStandard) +================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorTranslation4D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorVelocity.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorVelocity.rst new file mode 100644 index 0000000..07a3cc7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorVelocity.rst @@ -0,0 +1,123 @@ +NodeSocketVectorVelocity(NodeSocketStandard) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorVelocity(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorVelocity2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorVelocity2D.rst new file mode 100644 index 0000000..cfcff35 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorVelocity2D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorVelocity2D(NodeSocketStandard) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorVelocity2D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorVelocity4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorVelocity4D.rst new file mode 100644 index 0000000..7d1e85f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorVelocity4D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorVelocity4D(NodeSocketStandard) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorVelocity4D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorXYZ.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorXYZ.rst new file mode 100644 index 0000000..2d02672 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorXYZ.rst @@ -0,0 +1,123 @@ +NodeSocketVectorXYZ(NodeSocketStandard) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorXYZ(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorXYZ2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorXYZ2D.rst new file mode 100644 index 0000000..9b3a290 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorXYZ2D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorXYZ2D(NodeSocketStandard) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorXYZ2D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorXYZ4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorXYZ4D.rst new file mode 100644 index 0000000..6e9466d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVectorXYZ4D.rst @@ -0,0 +1,123 @@ +NodeSocketVectorXYZ4D(NodeSocketStandard) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVectorXYZ4D(NodeSocketStandard) + + 3D vector socket of a node + + .. attribute:: default_value + + (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVirtual.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVirtual.rst new file mode 100644 index 0000000..be6f88c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeSocketVirtual.rst @@ -0,0 +1,117 @@ +NodeSocketVirtual(NodeSocketStandard) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeSocket`, :class:`NodeSocketStandard` + +.. class:: NodeSocketVirtual(NodeSocketStandard) + + Virtual socket of a node + + .. data:: links + + List of node links from or to this socket. + + :type: :class:`NodeLinks` + + .. note:: Takes ``O(len(nodetree.links))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeSocket.name` + - :class:`NodeSocket.label` + - :class:`NodeSocket.identifier` + - :class:`NodeSocket.description` + - :class:`NodeSocket.is_output` + - :class:`NodeSocket.select` + - :class:`NodeSocket.hide` + - :class:`NodeSocket.enabled` + - :class:`NodeSocket.link_limit` + - :class:`NodeSocket.is_linked` + - :class:`NodeSocket.is_unavailable` + - :class:`NodeSocket.is_multi_input` + - :class:`NodeSocket.show_expanded` + - :class:`NodeSocket.is_inactive` + - :class:`NodeSocket.is_icon_visible` + - :class:`NodeSocket.hide_value` + - :class:`NodeSocket.pin_gizmo` + - :class:`NodeSocket.node` + - :class:`NodeSocket.type` + - :class:`NodeSocket.display_shape` + - :class:`NodeSocket.inferred_structure_type` + - :class:`NodeSocket.bl_idname` + - :class:`NodeSocket.bl_label` + - :class:`NodeSocket.bl_subtype_label` + - :class:`NodeSocket.links` + - :class:`NodeSocketStandard.links` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeSocket.draw` + - :class:`NodeSocket.draw_color` + - :class:`NodeSocket.draw_color_simple` + - :class:`NodeSocket.bl_rna_get_subclass` + - :class:`NodeSocket.bl_rna_get_subclass_py` + - :class:`NodeSocketStandard.draw` + - :class:`NodeSocketStandard.draw_color` + - :class:`NodeSocketStandard.draw_color_simple` + - :class:`NodeSocketStandard.bl_rna_get_subclass` + - :class:`NodeSocketStandard.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeStoreBundleItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeStoreBundleItem.rst new file mode 100644 index 0000000..08e1573 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeStoreBundleItem.rst @@ -0,0 +1,165 @@ +NodeStoreBundleItem(NodeInternal) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +.. class:: NodeStoreBundleItem(NodeInternal) + + Store a bundle item by path and data type. + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. attribute:: structure_type + + What kind of higher order types are expected to flow through this socket (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_node_socket_structure_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTree.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTree.rst new file mode 100644 index 0000000..2af7a0c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTree.rst @@ -0,0 +1,367 @@ +NodeTree(ID) +============ + +.. currentmodule:: bpy.types + + +Poll Function ++++++++++++++++ + +The :class:`NodeTree.poll` function determines if a node tree is visible +in the given context (similar to how :class:`Panel.poll` +and :class:`Menu.poll` define visibility). If it returns False, +the node tree type will not be selectable in the node editor. + +A typical condition for shader nodes would be to check the active render engine +of the scene and only show nodes of the renderer they are designed for. + +.. literalinclude:: ./examples/bpy.types.NodeTree.0.py + :lines: 13- + +base classes --- :class:`bpy_struct`, :class:`ID` + +subclasses --- +:class:`CompositorNodeTree`, :class:`GeometryNodeTree`, :class:`ShaderNodeTree`, :class:`TextureNodeTree` + +.. class:: NodeTree(ID) + + Node tree consisting of linked nodes used for shading, textures and compositing + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: annotation + + Annotation data + + :type: :class:`Annotation` | None + + .. attribute:: bl_description + + (default "", never None) + + :type: str + + .. attribute:: bl_icon + + The node tree icon (default ``'NODETREE'``) + + :type: Literal[:ref:`rna_enum_icon_items`] + + .. attribute:: bl_idname + + (default "", never None) + + :type: str + + .. attribute:: bl_label + + The node tree label (default "", never None) + + :type: str + + .. attribute:: bl_use_group_interface + + Determines the visibility of some UI elements related to node groups (default True) + + :type: bool + + .. attribute:: color_tag + + Color tag of the node group which influences the header color (default ``'NONE'``) + + - ``NONE`` + None -- Default color tag for new nodes and node groups. + - ``ATTRIBUTE`` + Attribute. + - ``COLOR`` + Color. + - ``CONVERTER`` + Converter. + - ``DISTORT`` + Distort. + - ``FILTER`` + Filter. + - ``GEOMETRY`` + Geometry. + - ``INPUT`` + Input. + - ``MATTE`` + Matte. + - ``OUTPUT`` + Output. + - ``SCRIPT`` + Script. + - ``SHADER`` + Shader. + - ``TEXTURE`` + Texture. + - ``VECTOR`` + Vector. + - ``PATTERN`` + Pattern. + - ``INTERFACE`` + Interface. + - ``GROUP`` + Group. + + :type: Literal['NONE', 'ATTRIBUTE', 'COLOR', 'CONVERTER', 'DISTORT', 'FILTER', 'GEOMETRY', 'INPUT', 'MATTE', 'OUTPUT', 'SCRIPT', 'SHADER', 'TEXTURE', 'VECTOR', 'PATTERN', 'INTERFACE', 'GROUP'] + + .. attribute:: default_group_node_width + + The width for newly created group nodes (in [60, 700], default 140) + + :type: int + + .. attribute:: description + + Description of the node tree (default "", never None) + + :type: str + + .. data:: interface + + Interface declaration for this node tree (readonly) + + :type: :class:`NodeTreeInterface` | None + + .. data:: links + + (default None, readonly) + + :type: :class:`NodeLinks`\ [:class:`NodeLink`] + + .. data:: nodes + + (default None, readonly) + + :type: :class:`Nodes`\ [:class:`Node`] + + .. data:: type + + Node Tree type (deprecated, bl_idname is the actual node tree type identifier) (default ``'SHADER'``, readonly) + + - ``UNDEFINED`` + Undefined -- Undefined type of nodes (can happen e.g. when a linked node tree goes missing). + - ``CUSTOM`` + Custom -- Custom nodes. + - ``SHADER`` + Shader -- Shader nodes. + - ``TEXTURE`` + Texture -- Texture nodes. + - ``COMPOSITING`` + Compositing -- Compositing nodes. + - ``GEOMETRY`` + Geometry -- Geometry nodes. + + :type: Literal['UNDEFINED', 'CUSTOM', 'SHADER', 'TEXTURE', 'COMPOSITING', 'GEOMETRY'] + + .. data:: view_center + + The current location (offset) of the view for this Node Tree (array of 2 items, in [-inf, inf], default (0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. method:: interface_update(context) + + Updated node group interface + + :param context: (never None) + :type context: :class:`Context` | None + + .. method:: contains_tree(sub_tree) + + Check if the node tree contains another. Used to avoid creating recursive node groups. + + :param sub_tree: Node Tree, Node tree for recursive check (never None) + :type sub_tree: :class:`NodeTree` | None + :return: contained + :rtype: bool + + .. classmethod:: poll(context) + + Check visibility in the editor + + :param context: (never None) + :type context: :class:`Context` | None + :rtype: bool + + .. method:: update() + + Update on editor changes + + + .. classmethod:: get_from_context(context) + + Get a node tree from the context + + :param context: (never None) + :type context: :class:`Context` | None + :return: + ``result_1``, Active node tree from context, :class:`NodeTree` + + ``result_2``, ID data-block that owns the node tree, :class:`ID` + + ``result_3``, Original ID data-block selected from the context, :class:`ID` + + :rtype: tuple[:class:`NodeTree`, :class:`ID`, :class:`ID`] + + .. classmethod:: valid_socket_type(idname) + + Check if the socket type is valid for the node tree + + :param idname: Socket Type, Identifier of the socket type (never None) + :type idname: str + :rtype: bool + + .. method:: debug_lazy_function_graph() + + Get the internal lazy-function graph for this node tree + + :return: Dot Graph, Graph in dot format + :rtype: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.node_groups` + - :class:`BlendDataNodeTrees.new` + - :class:`BlendDataNodeTrees.remove` + - :class:`CompositorNodeCustomGroup.node_tree` + - :class:`CompositorNodeGroup.node_tree` + - :class:`EvaluateClosureNodeViewerPathElem.source_node_tree` + - :class:`FreestyleLineStyle.node_tree` + - :class:`GeometryNodeCustomGroup.node_tree` + - :class:`GeometryNodeGroup.node_tree` + - :class:`Light.node_tree` + - :class:`Material.node_tree` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`NodeCustomGroup.node_tree` + - :class:`NodeGroup.node_tree` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeTree.contains_tree` + - :class:`NodeTree.get_from_context` + - :class:`NodeTreePath.node_tree` + - :class:`NodesModifier.node_group` + - :class:`Scene.compositing_node_group` + - :class:`SequencerCompositorModifierData.node_group` + - :class:`ShaderNodeCustomGroup.node_tree` + - :class:`ShaderNodeGroup.node_tree` + - :class:`SpaceNodeEditor.edit_tree` + - :class:`SpaceNodeEditor.node_tree` + - :class:`SpaceNodeEditor.selected_node_group` + - :class:`SpaceNodeEditorPath.append` + - :class:`SpaceNodeEditorPath.start` + - :class:`Texture.node_tree` + - :class:`TextureNodeGroup.node_tree` + - :class:`UILayout.template_node_link` + - :class:`UILayout.template_node_view` + - :class:`World.node_tree` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterface.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterface.rst new file mode 100644 index 0000000..c905d88 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterface.rst @@ -0,0 +1,175 @@ +NodeTreeInterface(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeTreeInterface(bpy_struct) + + Declaration of sockets and ui panels of a node group + + .. attribute:: active + + Active item + + :type: :class:`NodeTreeInterfaceItem` | None + + .. attribute:: active_index + + Index of the active item (in [0, inf], default 0) + + :type: int + + .. data:: items_tree + + Items in the node interface (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`NodeTreeInterfaceItem`] + + .. method:: new_socket(name, *, description="", in_out='INPUT', socket_type='DEFAULT', parent=None) + + Add a new socket to the interface + + :param name: Name, Name of the socket (never None) + :type name: str + :param description: Description, Description of the socket (optional, never None) + :type description: str + :param in_out: Input/Output Type, Create an input or output socket (optional) + + - ``INPUT`` + Input -- Generate a input node socket. + - ``OUTPUT`` + Output -- Generate a output node socket. + :type in_out: Literal['INPUT', 'OUTPUT'] + :param socket_type: Socket Type, Type of socket generated on nodes (optional) + :type socket_type: Literal['DEFAULT'] + :param parent: Parent, Panel to add the socket in (optional) + :type parent: :class:`NodeTreeInterfacePanel` | None + :return: Socket, New socket + :rtype: :class:`NodeTreeInterfaceSocket` + + .. method:: new_panel(name, *, description="", default_closed=False) + + Add a new panel to the interface + + :param name: Name, Name of the new panel (never None) + :type name: str + :param description: Description, Description of the panel (optional, never None) + :type description: str + :param default_closed: Default Closed, Panel is closed by default on new nodes (optional) + :type default_closed: bool + :return: Panel, New panel + :rtype: :class:`NodeTreeInterfacePanel` + + .. method:: copy(item) + + Add a copy of an item to the interface + + :param item: Item, Item to copy (never None) + :type item: :class:`NodeTreeInterfaceItem` | None + :return: Item Copy, Copy of the item + :rtype: :class:`NodeTreeInterfaceItem` + + .. method:: remove(item, *, move_content_to_parent=True) + + Remove an item from the interface + + :param item: Item, The item to remove (never None) + :type item: :class:`NodeTreeInterfaceItem` | None + :param move_content_to_parent: Move Content, If the item is a panel, move the contents to the parent instead of deleting it (optional) + :type move_content_to_parent: bool + + .. method:: clear() + + Remove all items from the interface + + + .. method:: move(item, to_position) + + Move an item to another position + + :param item: Item, The item to move (never None) + :type item: :class:`NodeTreeInterfaceItem` | None + :param to_position: To Position, Target position for the item in its current panel (in [0, inf]) + :type to_position: int + + .. method:: move_to_parent(item, parent, to_position) + + Move an item to a new panel and/or position. + + :param item: Item, The item to move (never None) + :type item: :class:`NodeTreeInterfaceItem` | None + :param parent: Parent, New parent of the item + :type parent: :class:`NodeTreeInterfacePanel` | None + :param to_position: To Position, Target position for the item in the new parent panel (in [0, inf]) + :type to_position: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeTree.interface` + - :class:`UILayout.template_node_tree_interface` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceItem.rst new file mode 100644 index 0000000..ecafa82 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceItem.rst @@ -0,0 +1,112 @@ +NodeTreeInterfaceItem(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`NodeTreeInterfacePanel`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceItem(bpy_struct) + + Item in a node tree interface + + .. data:: index + + Global index of the item among all items in the interface (in [-1, inf], default 0, readonly) + + :type: int + + .. data:: item_type + + Type of interface item (default ``'PANEL'``, readonly) + + :type: Literal[:ref:`rna_enum_node_tree_interface_item_type_items`] + + .. data:: parent + + Panel that contains the item (readonly) + + :type: :class:`NodeTreeInterfacePanel` | None + + .. data:: position + + Position of the item in its parent panel (in [-1, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeTreeInterface.active` + - :class:`NodeTreeInterface.copy` + - :class:`NodeTreeInterface.copy` + - :class:`NodeTreeInterface.items_tree` + - :class:`NodeTreeInterface.move` + - :class:`NodeTreeInterface.move_to_parent` + - :class:`NodeTreeInterface.remove` + - :class:`NodeTreeInterfacePanel.interface_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfacePanel.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfacePanel.rst new file mode 100644 index 0000000..2eb0d2d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfacePanel.rst @@ -0,0 +1,123 @@ +NodeTreeInterfacePanel(NodeTreeInterfaceItem) +============================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem` + +.. class:: NodeTreeInterfacePanel(NodeTreeInterfaceItem) + + Declaration of a node panel + + .. attribute:: default_closed + + Panel is closed by default on new nodes (default False) + + :type: bool + + .. attribute:: description + + Panel description (default "", never None) + + :type: str + + .. data:: interface_items + + Items in the node panel (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`NodeTreeInterfaceItem`] + + .. attribute:: name + + Panel name (default "", never None) + + :type: str + + .. data:: persistent_uid + + Unique identifier for this panel within this node tree (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: select + + Panel is selected in the interface (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeTreeInterface.move_to_parent` + - :class:`NodeTreeInterface.new_panel` + - :class:`NodeTreeInterface.new_socket` + - :class:`NodeTreeInterfaceItem.parent` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocket.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocket.rst new file mode 100644 index 0000000..ea8f42a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocket.rst @@ -0,0 +1,264 @@ +NodeTreeInterfaceSocket(NodeTreeInterfaceItem) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem` + +subclasses --- +:class:`NodeTreeInterfaceSocketBool`, :class:`NodeTreeInterfaceSocketBundle`, :class:`NodeTreeInterfaceSocketClosure`, :class:`NodeTreeInterfaceSocketCollection`, :class:`NodeTreeInterfaceSocketColor`, :class:`NodeTreeInterfaceSocketFloat`, :class:`NodeTreeInterfaceSocketFloatAngle`, :class:`NodeTreeInterfaceSocketFloatColorTemperature`, :class:`NodeTreeInterfaceSocketFloatDistance`, :class:`NodeTreeInterfaceSocketFloatFactor`, :class:`NodeTreeInterfaceSocketFloatFrequency`, :class:`NodeTreeInterfaceSocketFloatMass`, :class:`NodeTreeInterfaceSocketFloatPercentage`, :class:`NodeTreeInterfaceSocketFloatTime`, :class:`NodeTreeInterfaceSocketFloatTimeAbsolute`, :class:`NodeTreeInterfaceSocketFloatUnsigned`, :class:`NodeTreeInterfaceSocketFloatWavelength`, :class:`NodeTreeInterfaceSocketFont`, :class:`NodeTreeInterfaceSocketGeometry`, :class:`NodeTreeInterfaceSocketImage`, :class:`NodeTreeInterfaceSocketInt`, :class:`NodeTreeInterfaceSocketIntFactor`, :class:`NodeTreeInterfaceSocketIntPercentage`, :class:`NodeTreeInterfaceSocketIntUnsigned`, :class:`NodeTreeInterfaceSocketMask`, :class:`NodeTreeInterfaceSocketMaterial`, :class:`NodeTreeInterfaceSocketMatrix`, :class:`NodeTreeInterfaceSocketMenu`, :class:`NodeTreeInterfaceSocketObject`, :class:`NodeTreeInterfaceSocketRotation`, :class:`NodeTreeInterfaceSocketScene`, :class:`NodeTreeInterfaceSocketShader`, :class:`NodeTreeInterfaceSocketSound`, :class:`NodeTreeInterfaceSocketString`, :class:`NodeTreeInterfaceSocketStringFilePath`, :class:`NodeTreeInterfaceSocketText`, :class:`NodeTreeInterfaceSocketTexture`, :class:`NodeTreeInterfaceSocketVector`, :class:`NodeTreeInterfaceSocketVector2D`, :class:`NodeTreeInterfaceSocketVector4D`, :class:`NodeTreeInterfaceSocketVectorAcceleration`, :class:`NodeTreeInterfaceSocketVectorAcceleration2D`, :class:`NodeTreeInterfaceSocketVectorAcceleration4D`, :class:`NodeTreeInterfaceSocketVectorDirection`, :class:`NodeTreeInterfaceSocketVectorDirection2D`, :class:`NodeTreeInterfaceSocketVectorDirection4D`, :class:`NodeTreeInterfaceSocketVectorEuler`, :class:`NodeTreeInterfaceSocketVectorEuler2D`, :class:`NodeTreeInterfaceSocketVectorEuler4D`, :class:`NodeTreeInterfaceSocketVectorFactor`, :class:`NodeTreeInterfaceSocketVectorFactor2D`, :class:`NodeTreeInterfaceSocketVectorFactor4D`, :class:`NodeTreeInterfaceSocketVectorPercentage`, :class:`NodeTreeInterfaceSocketVectorPercentage2D`, :class:`NodeTreeInterfaceSocketVectorPercentage4D`, :class:`NodeTreeInterfaceSocketVectorTranslation`, :class:`NodeTreeInterfaceSocketVectorTranslation2D`, :class:`NodeTreeInterfaceSocketVectorTranslation4D`, :class:`NodeTreeInterfaceSocketVectorVelocity`, :class:`NodeTreeInterfaceSocketVectorVelocity2D`, :class:`NodeTreeInterfaceSocketVectorVelocity4D`, :class:`NodeTreeInterfaceSocketVectorXYZ`, :class:`NodeTreeInterfaceSocketVectorXYZ2D`, :class:`NodeTreeInterfaceSocketVectorXYZ4D` + +.. class:: NodeTreeInterfaceSocket(NodeTreeInterfaceItem) + + Declaration of a node socket + + .. attribute:: attribute_domain + + Attribute domain used by the geometry nodes modifier to create an attribute output (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. attribute:: bl_socket_idname + + Name of the socket type (default "", never None) + + :type: str + + .. attribute:: default_attribute_name + + The attribute name used by default when the node group is used by a geometry nodes modifier (default "", never None) + + :type: str + + .. attribute:: default_input + + Input to use when the socket is unconnected. Requires "Hide Value". (default ``'VALUE'``) + + - ``VALUE`` + Default Value -- The node socket's default value. + - ``INDEX`` + Index -- The index from the context. + - ``ID_OR_INDEX`` + ID or Index -- The "id" attribute if available, otherwise the index. + - ``NORMAL`` + Normal -- The geometry's normal direction. + - ``POSITION`` + Position -- The position from the context. + - ``INSTANCE_TRANSFORM`` + Instance Transform -- Transformation of each instance from the geometry context. + - ``HANDLE_LEFT`` + Left Handle -- The left Bézier control point handle from the context. + - ``HANDLE_RIGHT`` + Right Handle -- The right Bézier control point handle from the context. + + :type: Literal['VALUE', 'INDEX', 'ID_OR_INDEX', 'NORMAL', 'POSITION', 'INSTANCE_TRANSFORM', 'HANDLE_LEFT', 'HANDLE_RIGHT'] + + .. attribute:: description + + Socket description (default "", never None) + + :type: str + + .. attribute:: force_non_field + + Only allow single value inputs rather than field. + Deprecated. Will be remove in 5.0. + + (default False) + + :type: bool + + .. attribute:: hide_in_modifier + + Don't show the input value in the geometry nodes modifier interface (default False) + + :type: bool + + .. attribute:: hide_value + + Hide the socket input value even when the socket is not connected (default False) + + :type: bool + + .. data:: identifier + + Unique identifier for mapping sockets (default "", readonly, never None) + + :type: str + + .. data:: in_out + + Input or output socket type (default ``'INPUT'``, readonly) + + - ``INPUT`` + Input -- Generate a input node socket. + - ``OUTPUT`` + Output -- Generate a output node socket. + + :type: Literal['INPUT', 'OUTPUT'] + + .. attribute:: is_inspect_output + + Take link out of node group to connect to root tree output node (default False) + + :type: bool + + .. attribute:: is_panel_toggle + + This socket is meant to be used as the toggle in its panel header (default False) + + :type: bool + + .. attribute:: layer_selection_field + + Take Grease Pencil Layer or Layer Group as selection field (default False) + + :type: bool + + .. attribute:: menu_expanded + + Draw the menu socket as an expanded drop-down menu (default False) + + :type: bool + + .. attribute:: name + + Socket name (default "", never None) + + :type: str + + .. attribute:: optional_label + + Indicate that the label of this socket is not necessary to understand its meaning. This may result in the label being skipped in some cases (default False) + + :type: bool + + .. attribute:: select + + Socket is selected in the interface (default False) + + :type: bool + + .. attribute:: socket_type + + Type of the socket generated by this interface item (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. attribute:: structure_type + + What kind of higher order types are expected to flow through this socket (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_node_socket_structure_type_items`] + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. method:: draw(context, layout) + + Draw properties of the socket interface + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeTreeInterface.new_socket` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketBool.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketBool.rst new file mode 100644 index 0000000..2f8329d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketBool.rst @@ -0,0 +1,136 @@ +NodeTreeInterfaceSocketBool(NodeTreeInterfaceSocket) +==================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketBool(NodeTreeInterfaceSocket) + + Boolean value socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (default False) + + :type: bool + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketBundle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketBundle.rst new file mode 100644 index 0000000..1324a66 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketBundle.rst @@ -0,0 +1,130 @@ +NodeTreeInterfaceSocketBundle(NodeTreeInterfaceSocket) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketBundle(NodeTreeInterfaceSocket) + + Bundle socket of a node + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketClosure.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketClosure.rst new file mode 100644 index 0000000..d4032fc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketClosure.rst @@ -0,0 +1,130 @@ +NodeTreeInterfaceSocketClosure(NodeTreeInterfaceSocket) +======================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketClosure(NodeTreeInterfaceSocket) + + Closure socket of a node + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketCollection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketCollection.rst new file mode 100644 index 0000000..864d7b1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketCollection.rst @@ -0,0 +1,136 @@ +NodeTreeInterfaceSocketCollection(NodeTreeInterfaceSocket) +========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketCollection(NodeTreeInterfaceSocket) + + Collection socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket + + :type: :class:`Collection` | None + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketColor.rst new file mode 100644 index 0000000..a1b6a73 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketColor.rst @@ -0,0 +1,136 @@ +NodeTreeInterfaceSocketColor(NodeTreeInterfaceSocket) +===================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketColor(NodeTreeInterfaceSocket) + + RGBA color socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloat.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloat.rst new file mode 100644 index 0000000..8f05fbb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloat.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloat(NodeTreeInterfaceSocket) +===================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloat(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatAngle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatAngle.rst new file mode 100644 index 0000000..01fc894 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatAngle.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloatAngle(NodeTreeInterfaceSocket) +========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloatAngle(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatColorTemperature.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatColorTemperature.rst new file mode 100644 index 0000000..48c8199 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatColorTemperature.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloatColorTemperature(NodeTreeInterfaceSocket) +===================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloatColorTemperature(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatDistance.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatDistance.rst new file mode 100644 index 0000000..9f43cf5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatDistance.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloatDistance(NodeTreeInterfaceSocket) +============================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloatDistance(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatFactor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatFactor.rst new file mode 100644 index 0000000..2a32727 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatFactor.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloatFactor(NodeTreeInterfaceSocket) +=========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloatFactor(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [0, 1], default 1.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatFrequency.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatFrequency.rst new file mode 100644 index 0000000..686132d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatFrequency.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloatFrequency(NodeTreeInterfaceSocket) +============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloatFrequency(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatMass.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatMass.rst new file mode 100644 index 0000000..32acf83 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatMass.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloatMass(NodeTreeInterfaceSocket) +========================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloatMass(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatPercentage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatPercentage.rst new file mode 100644 index 0000000..1812eb4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatPercentage.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloatPercentage(NodeTreeInterfaceSocket) +=============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloatPercentage(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [-inf, inf], default 100.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatTime.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatTime.rst new file mode 100644 index 0000000..cc8f737 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatTime.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloatTime(NodeTreeInterfaceSocket) +========================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloatTime(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatTimeAbsolute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatTimeAbsolute.rst new file mode 100644 index 0000000..c48e1a5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatTimeAbsolute.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloatTimeAbsolute(NodeTreeInterfaceSocket) +================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloatTimeAbsolute(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatUnsigned.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatUnsigned.rst new file mode 100644 index 0000000..504d498 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatUnsigned.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloatUnsigned(NodeTreeInterfaceSocket) +============================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloatUnsigned(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [0, inf], default 0.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatWavelength.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatWavelength.rst new file mode 100644 index 0000000..495e2b3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFloatWavelength.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketFloatWavelength(NodeTreeInterfaceSocket) +=============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFloatWavelength(NodeTreeInterfaceSocket) + + Floating-point number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFont.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFont.rst new file mode 100644 index 0000000..2bacfd6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketFont.rst @@ -0,0 +1,107 @@ +NodeTreeInterfaceSocketFont(NodeTreeInterfaceSocket) +==================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketFont(NodeTreeInterfaceSocket) + + Font socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket + + :type: :class:`VectorFont` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketGeometry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketGeometry.rst new file mode 100644 index 0000000..55b5cdd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketGeometry.rst @@ -0,0 +1,130 @@ +NodeTreeInterfaceSocketGeometry(NodeTreeInterfaceSocket) +======================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketGeometry(NodeTreeInterfaceSocket) + + Geometry socket of a node + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketImage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketImage.rst new file mode 100644 index 0000000..ecd6a20 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketImage.rst @@ -0,0 +1,136 @@ +NodeTreeInterfaceSocketImage(NodeTreeInterfaceSocket) +===================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketImage(NodeTreeInterfaceSocket) + + Image socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket + + :type: :class:`Image` | None + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketInt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketInt.rst new file mode 100644 index 0000000..0b2c6ab --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketInt.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketInt(NodeTreeInterfaceSocket) +=================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketInt(NodeTreeInterfaceSocket) + + Integer number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [-inf, inf], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0) + + :type: int + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0) + + :type: int + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketIntFactor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketIntFactor.rst new file mode 100644 index 0000000..0755104 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketIntFactor.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketIntFactor(NodeTreeInterfaceSocket) +========================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketIntFactor(NodeTreeInterfaceSocket) + + Integer number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [0, inf], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0) + + :type: int + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0) + + :type: int + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketIntPercentage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketIntPercentage.rst new file mode 100644 index 0000000..0c852bb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketIntPercentage.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketIntPercentage(NodeTreeInterfaceSocket) +============================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketIntPercentage(NodeTreeInterfaceSocket) + + Integer number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [0, inf], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0) + + :type: int + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0) + + :type: int + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketIntUnsigned.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketIntUnsigned.rst new file mode 100644 index 0000000..83db446 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketIntUnsigned.rst @@ -0,0 +1,154 @@ +NodeTreeInterfaceSocketIntUnsigned(NodeTreeInterfaceSocket) +=========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketIntUnsigned(NodeTreeInterfaceSocket) + + Integer number socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (in [0, inf], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0) + + :type: int + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0) + + :type: int + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMask.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMask.rst new file mode 100644 index 0000000..244cd9c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMask.rst @@ -0,0 +1,107 @@ +NodeTreeInterfaceSocketMask(NodeTreeInterfaceSocket) +==================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketMask(NodeTreeInterfaceSocket) + + Mask socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket + + :type: :class:`Mask` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMaterial.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMaterial.rst new file mode 100644 index 0000000..40379ab --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMaterial.rst @@ -0,0 +1,136 @@ +NodeTreeInterfaceSocketMaterial(NodeTreeInterfaceSocket) +======================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketMaterial(NodeTreeInterfaceSocket) + + Material socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket + + :type: :class:`Material` | None + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMatrix.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMatrix.rst new file mode 100644 index 0000000..2951f4c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMatrix.rst @@ -0,0 +1,130 @@ +NodeTreeInterfaceSocketMatrix(NodeTreeInterfaceSocket) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketMatrix(NodeTreeInterfaceSocket) + + Matrix value socket of a node + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMenu.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMenu.rst new file mode 100644 index 0000000..f44d144 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketMenu.rst @@ -0,0 +1,136 @@ +NodeTreeInterfaceSocketMenu(NodeTreeInterfaceSocket) +==================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketMenu(NodeTreeInterfaceSocket) + + Menu socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket + + :type: str + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketObject.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketObject.rst new file mode 100644 index 0000000..74603fc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketObject.rst @@ -0,0 +1,136 @@ +NodeTreeInterfaceSocketObject(NodeTreeInterfaceSocket) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketObject(NodeTreeInterfaceSocket) + + Object socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket + + :type: :class:`Object` | None + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketRotation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketRotation.rst new file mode 100644 index 0000000..df856ec --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketRotation.rst @@ -0,0 +1,136 @@ +NodeTreeInterfaceSocketRotation(NodeTreeInterfaceSocket) +======================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketRotation(NodeTreeInterfaceSocket) + + Rotation value socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketScene.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketScene.rst new file mode 100644 index 0000000..6ca3586 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketScene.rst @@ -0,0 +1,107 @@ +NodeTreeInterfaceSocketScene(NodeTreeInterfaceSocket) +===================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketScene(NodeTreeInterfaceSocket) + + Scene socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket + + :type: :class:`Scene` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketShader.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketShader.rst new file mode 100644 index 0000000..ecffb56 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketShader.rst @@ -0,0 +1,130 @@ +NodeTreeInterfaceSocketShader(NodeTreeInterfaceSocket) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketShader(NodeTreeInterfaceSocket) + + Shader socket of a node + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketSound.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketSound.rst new file mode 100644 index 0000000..d2afc41 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketSound.rst @@ -0,0 +1,107 @@ +NodeTreeInterfaceSocketSound(NodeTreeInterfaceSocket) +===================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketSound(NodeTreeInterfaceSocket) + + Sound socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket + + :type: :class:`Sound` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketString.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketString.rst new file mode 100644 index 0000000..f914a59 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketString.rst @@ -0,0 +1,142 @@ +NodeTreeInterfaceSocketString(NodeTreeInterfaceSocket) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketString(NodeTreeInterfaceSocket) + + String socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (default "", never None) + + :type: str + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketStringFilePath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketStringFilePath.rst new file mode 100644 index 0000000..2631415 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketStringFilePath.rst @@ -0,0 +1,142 @@ +NodeTreeInterfaceSocketStringFilePath(NodeTreeInterfaceSocket) +============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketStringFilePath(NodeTreeInterfaceSocket) + + String socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (default "", never None) + + :type: str + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketText.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketText.rst new file mode 100644 index 0000000..6654e42 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketText.rst @@ -0,0 +1,107 @@ +NodeTreeInterfaceSocketText(NodeTreeInterfaceSocket) +==================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketText(NodeTreeInterfaceSocket) + + Text socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket + + :type: :class:`Text` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketTexture.rst new file mode 100644 index 0000000..c6689e2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketTexture.rst @@ -0,0 +1,136 @@ +NodeTreeInterfaceSocketTexture(NodeTreeInterfaceSocket) +======================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketTexture(NodeTreeInterfaceSocket) + + Texture socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket + + :type: :class:`Texture` | None + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVector.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVector.rst new file mode 100644 index 0000000..b70bac6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVector.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVector(NodeTreeInterfaceSocket) +====================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVector(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVector2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVector2D.rst new file mode 100644 index 0000000..a1a1846 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVector2D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVector2D(NodeTreeInterfaceSocket) +======================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVector2D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVector4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVector4D.rst new file mode 100644 index 0000000..cb540b2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVector4D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVector4D(NodeTreeInterfaceSocket) +======================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVector4D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorAcceleration.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorAcceleration.rst new file mode 100644 index 0000000..7cd82b2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorAcceleration.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorAcceleration(NodeTreeInterfaceSocket) +================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorAcceleration(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorAcceleration2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorAcceleration2D.rst new file mode 100644 index 0000000..30c048e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorAcceleration2D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorAcceleration2D(NodeTreeInterfaceSocket) +==================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorAcceleration2D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorAcceleration4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorAcceleration4D.rst new file mode 100644 index 0000000..cf816af --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorAcceleration4D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorAcceleration4D(NodeTreeInterfaceSocket) +==================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorAcceleration4D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorDirection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorDirection.rst new file mode 100644 index 0000000..eceba0a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorDirection.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorDirection(NodeTreeInterfaceSocket) +=============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorDirection(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorDirection2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorDirection2D.rst new file mode 100644 index 0000000..c427f18 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorDirection2D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorDirection2D(NodeTreeInterfaceSocket) +================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorDirection2D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorDirection4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorDirection4D.rst new file mode 100644 index 0000000..1bdda38 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorDirection4D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorDirection4D(NodeTreeInterfaceSocket) +================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorDirection4D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorEuler.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorEuler.rst new file mode 100644 index 0000000..569cdc5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorEuler.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorEuler(NodeTreeInterfaceSocket) +=========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorEuler(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorEuler2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorEuler2D.rst new file mode 100644 index 0000000..1a738ea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorEuler2D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorEuler2D(NodeTreeInterfaceSocket) +============================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorEuler2D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorEuler4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorEuler4D.rst new file mode 100644 index 0000000..ce49aad --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorEuler4D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorEuler4D(NodeTreeInterfaceSocket) +============================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorEuler4D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorFactor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorFactor.rst new file mode 100644 index 0000000..ab735a8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorFactor.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorFactor(NodeTreeInterfaceSocket) +============================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorFactor(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorFactor2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorFactor2D.rst new file mode 100644 index 0000000..3311ebf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorFactor2D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorFactor2D(NodeTreeInterfaceSocket) +============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorFactor2D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 2 items, in [0, 1], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorFactor4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorFactor4D.rst new file mode 100644 index 0000000..b36886f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorFactor4D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorFactor4D(NodeTreeInterfaceSocket) +============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorFactor4D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorPercentage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorPercentage.rst new file mode 100644 index 0000000..ae12245 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorPercentage.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorPercentage(NodeTreeInterfaceSocket) +================================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorPercentage(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorPercentage2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorPercentage2D.rst new file mode 100644 index 0000000..8cd4fd6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorPercentage2D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorPercentage2D(NodeTreeInterfaceSocket) +================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorPercentage2D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorPercentage4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorPercentage4D.rst new file mode 100644 index 0000000..f0545e8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorPercentage4D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorPercentage4D(NodeTreeInterfaceSocket) +================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorPercentage4D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorTranslation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorTranslation.rst new file mode 100644 index 0000000..acb9526 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorTranslation.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorTranslation(NodeTreeInterfaceSocket) +================================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorTranslation(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorTranslation2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorTranslation2D.rst new file mode 100644 index 0000000..f93cd71 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorTranslation2D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorTranslation2D(NodeTreeInterfaceSocket) +=================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorTranslation2D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorTranslation4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorTranslation4D.rst new file mode 100644 index 0000000..43e4570 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorTranslation4D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorTranslation4D(NodeTreeInterfaceSocket) +=================================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorTranslation4D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorVelocity.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorVelocity.rst new file mode 100644 index 0000000..23e4b1f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorVelocity.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorVelocity(NodeTreeInterfaceSocket) +============================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorVelocity(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorVelocity2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorVelocity2D.rst new file mode 100644 index 0000000..a503eb0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorVelocity2D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorVelocity2D(NodeTreeInterfaceSocket) +================================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorVelocity2D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorVelocity4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorVelocity4D.rst new file mode 100644 index 0000000..12dcee4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorVelocity4D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorVelocity4D(NodeTreeInterfaceSocket) +================================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorVelocity4D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorXYZ.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorXYZ.rst new file mode 100644 index 0000000..80b4f9f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorXYZ.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorXYZ(NodeTreeInterfaceSocket) +========================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorXYZ(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorXYZ2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorXYZ2D.rst new file mode 100644 index 0000000..3f7208b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorXYZ2D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorXYZ2D(NodeTreeInterfaceSocket) +=========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorXYZ2D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorXYZ4D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorXYZ4D.rst new file mode 100644 index 0000000..3d6cf0a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreeInterfaceSocketVectorXYZ4D.rst @@ -0,0 +1,160 @@ +NodeTreeInterfaceSocketVectorXYZ4D(NodeTreeInterfaceSocket) +=========================================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreeInterfaceSocket` + +.. class:: NodeTreeInterfaceSocketVectorXYZ4D(NodeTreeInterfaceSocket) + + 3D vector socket of a node + + .. attribute:: default_value + + Input value used for unconnected socket (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Dimensions of the vector socket (in [2, 4], default 0) + + :type: int + + .. attribute:: max_value + + Maximum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: min_value + + Minimum value (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: subtype + + Subtype of the default value (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. method:: draw(context, layout) + + Draw interface socket settings + + :param context: (never None) + :type context: :class:`Context` | None + :param layout: Layout, Layout in the UI (never None) + :type layout: :class:`UILayout` | None + + .. method:: init_socket(node, socket, data_path) + + Initialize a node socket instance + + :param node: Node, Node of the socket to initialize (never None) + :type node: :class:`Node` | None + :param socket: Socket, Socket to initialize (never None) + :type socket: :class:`NodeSocket` | None + :param data_path: Data Path, Path to specialized socket data (never None) + :type data_path: str + + .. method:: from_socket(node, socket) + + Setup template parameters from an existing socket + + :param node: Node, Node of the original socket (never None) + :type node: :class:`Node` | None + :param socket: Socket, Original socket (never None) + :type socket: :class:`NodeSocket` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`NodeTreeInterfaceItem.item_type` + - :class:`NodeTreeInterfaceItem.parent` + - :class:`NodeTreeInterfaceItem.position` + - :class:`NodeTreeInterfaceItem.index` + - :class:`NodeTreeInterfaceSocket.name` + - :class:`NodeTreeInterfaceSocket.identifier` + - :class:`NodeTreeInterfaceSocket.description` + - :class:`NodeTreeInterfaceSocket.socket_type` + - :class:`NodeTreeInterfaceSocket.in_out` + - :class:`NodeTreeInterfaceSocket.hide_value` + - :class:`NodeTreeInterfaceSocket.hide_in_modifier` + - :class:`NodeTreeInterfaceSocket.force_non_field` + - :class:`NodeTreeInterfaceSocket.is_inspect_output` + - :class:`NodeTreeInterfaceSocket.is_panel_toggle` + - :class:`NodeTreeInterfaceSocket.layer_selection_field` + - :class:`NodeTreeInterfaceSocket.menu_expanded` + - :class:`NodeTreeInterfaceSocket.optional_label` + - :class:`NodeTreeInterfaceSocket.select` + - :class:`NodeTreeInterfaceSocket.attribute_domain` + - :class:`NodeTreeInterfaceSocket.default_attribute_name` + - :class:`NodeTreeInterfaceSocket.structure_type` + - :class:`NodeTreeInterfaceSocket.default_input` + - :class:`NodeTreeInterfaceSocket.bl_socket_idname` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceItem.bl_rna_get_subclass_py` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocket.init_socket` + - :class:`NodeTreeInterfaceSocket.from_socket` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass` + - :class:`NodeTreeInterfaceSocket.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreePath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreePath.rst new file mode 100644 index 0000000..2e34b86 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodeTreePath.rst @@ -0,0 +1,84 @@ +NodeTreePath(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodeTreePath(bpy_struct) + + Element of the node space tree path + + .. data:: node_tree + + Base node tree from context (readonly) + + :type: :class:`NodeTree` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceNodeEditor.path` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Nodes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Nodes.rst new file mode 100644 index 0000000..4acadbc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Nodes.rst @@ -0,0 +1,105 @@ +Nodes(bpy_prop_collection) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: Nodes(bpy_prop_collection) + + Collection of Nodes + + .. attribute:: active + + Active node in this tree + + :type: :class:`Node` | None + + .. method:: new(type) + + Add a node to this node tree + + :param type: Type, Type of node to add (Warning: should be same as node.bl_idname, not node.type!) (never None) + :type type: str + :return: New node + :rtype: :class:`Node` + + .. method:: remove(node) + + Remove a node from this node tree + + :param node: The node to remove (never None) + :type node: :class:`Node` | None + + .. method:: clear() + + Remove all nodes from this node tree + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodeTree.nodes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifier.rst new file mode 100644 index 0000000..76986b4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifier.rst @@ -0,0 +1,182 @@ +NodesModifier(Modifier) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: NodesModifier(Modifier) + + + .. attribute:: bake_directory + + Location on disk where the bake data is stored (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: bake_target + + Where to store the baked data (default ``'PACKED'``) + + - ``PACKED`` + Packed -- Pack the baked data into the .blend file. + - ``DISK`` + Disk -- Store the baked data in a directory on disk. + + :type: Literal['PACKED', 'DISK'] + + .. data:: bakes + + (default None, readonly) + + :type: :class:`NodesModifierBakes`\ [:class:`NodesModifierBake`] + + .. attribute:: node_group + + Node group that controls what this modifier does + + :type: :class:`NodeTree` | None + + .. data:: node_warnings + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`NodesModifierWarning`] + + .. attribute:: open_bake_data_blocks_panel + + (default False) + + :type: bool + + .. attribute:: open_bake_panel + + (default False) + + :type: bool + + .. attribute:: open_manage_panel + + (default False) + + :type: bool + + .. attribute:: open_named_attributes_panel + + (default False) + + :type: bool + + .. attribute:: open_output_attributes_panel + + (default False) + + :type: bool + + .. attribute:: open_warnings_panel + + (default False) + + :type: bool + + .. data:: panels + + (default None, readonly) + + :type: :class:`NodesModifierPanels`\ [:class:`NodesModifierPanel`] + + .. attribute:: show_group_selector + + (default False) + + :type: bool + + .. attribute:: show_manage_panel + + (default False) + + :type: bool + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierBake.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierBake.rst new file mode 100644 index 0000000..cdd3ca7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierBake.rst @@ -0,0 +1,149 @@ +NodesModifierBake(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodesModifierBake(bpy_struct) + + + .. data:: bake_id + + Identifier for this bake which remains unchanged even when the bake node is renamed, grouped or ungrouped (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: bake_mode + + (default ``'ANIMATION'``) + + - ``ANIMATION`` + Animation -- Bake a frame range. + - ``STILL`` + Still -- Bake a single frame. + + :type: Literal['ANIMATION', 'STILL'] + + .. attribute:: bake_target + + Where to store the baked data (default ``'INHERIT'``) + + - ``INHERIT`` + Inherit from Modifier -- Use setting from the modifier. + - ``PACKED`` + Packed -- Pack the baked data into the .blend file. + - ``DISK`` + Disk -- Store the baked data in a directory on disk. + + :type: Literal['INHERIT', 'PACKED', 'DISK'] + + .. data:: data_blocks + + (default None, readonly) + + :type: :class:`NodesModifierBakeDataBlocks`\ [:class:`NodesModifierDataBlock`] + + .. attribute:: directory + + Location on disk where the bake data is stored (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: frame_end + + Frame where the baking ends (in [-inf, inf], default 0) + + :type: int + + .. attribute:: frame_start + + Frame where the baking starts (in [-inf, inf], default 0) + + :type: int + + .. data:: node + + Bake node or simulation output node that corresponds to this bake. This node may be deeply nested in the modifier node group. It can be none in some cases like missing linked data blocks. (readonly) + + :type: :class:`Node` | None + + .. attribute:: use_custom_path + + Specify a path where the baked data should be stored manually (default False) + + :type: bool + + .. attribute:: use_custom_simulation_frame_range + + Override the simulation frame range from the scene (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodesModifier.bakes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierBakeDataBlocks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierBakeDataBlocks.rst new file mode 100644 index 0000000..a467d90 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierBakeDataBlocks.rst @@ -0,0 +1,84 @@ +NodesModifierBakeDataBlocks(bpy_prop_collection) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodesModifierBakeDataBlocks(bpy_prop_collection) + + Collection of data-blocks that can be referenced by baked data + + .. attribute:: active_index + + (in [-inf, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodesModifierBake.data_blocks` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierBakes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierBakes.rst new file mode 100644 index 0000000..91e5021 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierBakes.rst @@ -0,0 +1,78 @@ +NodesModifierBakes(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodesModifierBakes(bpy_prop_collection) + + Bake data for every bake node + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodesModifier.bakes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierDataBlock.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierDataBlock.rst new file mode 100644 index 0000000..b764fee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierDataBlock.rst @@ -0,0 +1,99 @@ +NodesModifierDataBlock(bpy_struct) +================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodesModifierDataBlock(bpy_struct) + + + .. attribute:: id + + :type: :class:`ID` | None + + .. data:: id_name + + Name that is mapped to the referenced data-block (default "", readonly, never None) + + :type: str + + .. data:: id_type + + (default ``'ACTION'``, readonly) + + :type: Literal[:ref:`rna_enum_id_type_items`] + + .. data:: lib_name + + Used when the data block is not local to the current .blend file but is linked from some library (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodesModifierBake.data_blocks` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierPanel.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierPanel.rst new file mode 100644 index 0000000..ea8ab05 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierPanel.rst @@ -0,0 +1,83 @@ +NodesModifierPanel(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodesModifierPanel(bpy_struct) + + + .. attribute:: is_open + + Whether the panel is expanded or closed (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodesModifier.panels` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierPanels.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierPanels.rst new file mode 100644 index 0000000..aa4a5cf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierPanels.rst @@ -0,0 +1,78 @@ +NodesModifierPanels(bpy_prop_collection) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: NodesModifierPanels(bpy_prop_collection) + + State of all panels defined by the node group + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodesModifier.panels` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierWarning.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierWarning.rst new file mode 100644 index 0000000..00bc8c3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NodesModifierWarning.rst @@ -0,0 +1,90 @@ +NodesModifierWarning(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: NodesModifierWarning(bpy_struct) + + Warning created during evaluation of a geometry nodes modifier + + .. data:: message + + (default "", readonly, never None) + + :type: str + + .. data:: type + + (default ``'ERROR'``, readonly) + + :type: Literal[:ref:`rna_enum_node_warning_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`NodesModifier.node_warnings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NoiseTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NoiseTexture.rst new file mode 100644 index 0000000..7be8807 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NoiseTexture.rst @@ -0,0 +1,149 @@ +NoiseTexture(Texture) +===================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Texture` + +.. class:: NoiseTexture(Texture) + + Procedural noise texture + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Texture.type` + - :class:`Texture.use_clamp` + - :class:`Texture.use_color_ramp` + - :class:`Texture.color_ramp` + - :class:`Texture.intensity` + - :class:`Texture.contrast` + - :class:`Texture.saturation` + - :class:`Texture.factor_red` + - :class:`Texture.factor_green` + - :class:`Texture.factor_blue` + - :class:`Texture.use_preview_alpha` + - :class:`Texture.use_nodes` + - :class:`Texture.node_tree` + - :class:`Texture.animation_data` + - :class:`Texture.users_material` + - :class:`Texture.users_object_modifier` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Texture.evaluate` + - :class:`Texture.bl_rna_get_subclass` + - :class:`Texture.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NormalEditModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NormalEditModifier.rst new file mode 100644 index 0000000..3320746 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.NormalEditModifier.rst @@ -0,0 +1,159 @@ +NormalEditModifier(Modifier) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: NormalEditModifier(Modifier) + + Modifier affecting/generating custom normals + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: mix_factor + + How much of generated normals to mix with existing ones (in [0, 1], default 1.0) + + :type: float + + .. attribute:: mix_limit + + Maximum angle between old and new normals (in [0, 3.14159], default 3.14159) + + :type: float + + .. attribute:: mix_mode + + How to mix generated normals with existing ones (default ``'COPY'``) + + - ``COPY`` + Copy -- Copy new normals (overwrite existing). + - ``ADD`` + Add -- Copy sum of new and old normals. + - ``SUB`` + Subtract -- Copy new normals minus old normals. + - ``MUL`` + Multiply -- Copy product of old and new normals (not cross product). + + :type: Literal['COPY', 'ADD', 'SUB', 'MUL'] + + .. attribute:: mode + + How to affect (generate) normals (default ``'RADIAL'``) + + - ``RADIAL`` + Radial -- From an ellipsoid (shape defined by the boundbox's dimensions, target is optional). + - ``DIRECTIONAL`` + Directional -- Normals 'track' (point to) the target object. + + :type: Literal['RADIAL', 'DIRECTIONAL'] + + .. attribute:: no_polynors_fix + + Do not flip polygons when their normals are not consistent with their newly computed custom vertex normals (default False) + + :type: bool + + .. attribute:: offset + + Offset from object's center (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: target + + Target object used to affect normals + + :type: :class:`Object` | None + + .. attribute:: use_direction_parallel + + Use same direction for all normals, from origin to target's center (Directional mode only) (default True) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name for selecting/weighting the affected areas (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Object.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Object.rst new file mode 100644 index 0000000..91f80fe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Object.rst @@ -0,0 +1,1454 @@ +Object(ID) +========== + +.. currentmodule:: bpy.types + + +Basic Object Operations Example ++++++++++++++++++++++++++++++++ + +This script demonstrates basic operations on object like creating new +object, placing it into a view layer, selecting it and making it active. + +.. literalinclude:: ./examples/bpy.types.Object.0.py + :lines: 9- + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Object(ID) + + Object data-block defining an object in a scene + + .. attribute:: active_material + + Active material being displayed + + :type: :class:`Material` | None + + .. attribute:: active_material_index + + Index of active material slot (in [0, inf], default 0) + + :type: int + + .. attribute:: active_selection_set + + Index of the currently active selection set (in [-inf, inf], default 0) + + :type: int + + .. data:: active_shape_key + + Current shape key (readonly) + + :type: :class:`ShapeKey` | None + + .. attribute:: active_shape_key_index + + Current shape key index (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: add_rest_position_attribute + + Add a "rest_position" attribute that is a copy of the position attribute before shape keys and modifiers are evaluated (default False) + + :type: bool + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. data:: animation_visualization + + Animation data for this data-block (readonly, never None) + + :type: :class:`AnimViz` + + .. data:: bound_box + + Object's bounding box in object-space coordinates, all values are -1.0 when not available (multi-dimensional array of 8 * 3 items, in [-inf, inf], default ((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: collision + + Settings for using the object as a collider in physics simulation (readonly) + + :type: :class:`CollisionSettings` | None + + .. attribute:: color + + Object color and alpha, used when the Object Color mode is enabled (array of 4 items, in [0, inf], default (1.0, 1.0, 1.0, 1.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: constraints + + Constraints affecting the transformation of the object (default None, readonly) + + :type: :class:`ObjectConstraints`\ [:class:`Constraint`] + + .. attribute:: data + + Object data + + :type: :class:`ID` | None + + .. attribute:: delta_location + + Extra translation added to the location of the object (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: delta_rotation_euler + + Extra rotation added to the rotation of the object (when using Euler rotations) (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: delta_rotation_quaternion + + Extra rotation added to the rotation of the object (when using Quaternion rotations) (array of 4 items, in [-inf, inf], default (1.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. attribute:: delta_scale + + Extra scaling added to the scale of the object (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: dimensions + + Absolute bounding box dimensions of the object. + Warning: Assigning to it or its members multiple consecutive times will not work correctly, as this needs up-to-date evaluated data + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: display + + Object display settings for 3D viewport (readonly, never None) + + :type: :class:`ObjectDisplay` + + .. attribute:: display_bounds_type + + Object boundary display type (default ``'BOX'``) + + - ``BOX`` + Box -- Display bounds as box. + - ``SPHERE`` + Sphere -- Display bounds as sphere. + - ``CYLINDER`` + Cylinder -- Display bounds as cylinder. + - ``CONE`` + Cone -- Display bounds as cone. + - ``CAPSULE`` + Capsule -- Display bounds as capsule. + + :type: Literal['BOX', 'SPHERE', 'CYLINDER', 'CONE', 'CAPSULE'] + + .. attribute:: display_type + + How to display object in viewport (default ``'TEXTURED'``) + + - ``BOUNDS`` + Bounds -- Display the bounds of the object. + - ``WIRE`` + Wire -- Display the object as a wireframe. + - ``SOLID`` + Solid -- Display the object as a solid (if solid drawing is enabled in the viewport). + - ``TEXTURED`` + Textured -- Display the object with textures (if textures are enabled in the viewport). + + :type: Literal['BOUNDS', 'WIRE', 'SOLID', 'TEXTURED'] + + .. attribute:: empty_display_size + + Size of display for empties in the viewport (in [0.0001, 1000], default 1.0) + + :type: float + + .. attribute:: empty_display_type + + Viewport display style for empties (default ``'PLAIN_AXES'``) + + :type: Literal[:ref:`rna_enum_object_empty_drawtype_items`] + + .. attribute:: empty_image_depth + + Determine which other objects will occlude the image (default ``'DEFAULT'``) + + :type: Literal['DEFAULT', 'FRONT', 'BACK'] + + .. attribute:: empty_image_offset + + Origin offset distance (array of 2 items, in [-inf, inf], default (-0.5, -0.5)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: empty_image_side + + Show front/back side (default ``'DOUBLE_SIDED'``) + + :type: Literal['DOUBLE_SIDED', 'FRONT', 'BACK'] + + .. data:: field + + Settings for using the object as a field in physics simulation (readonly) + + :type: :class:`FieldSettings` | None + + .. attribute:: hide_probe_plane + + Globally disable in planar light probes (default False) + + :type: bool + + .. attribute:: hide_probe_sphere + + Globally disable in spherical light probes (default False) + + :type: bool + + .. attribute:: hide_probe_volume + + Globally disable in volume probes (default False) + + :type: bool + + .. attribute:: hide_render + + Globally disable in renders (default False) + + :type: bool + + .. attribute:: hide_select + + Disable selection in viewport (default False) + + :type: bool + + .. attribute:: hide_surface_pick + + Disable surface influence during selection, snapping and depth-picking operators. Usually used to avoid semi-transparent objects to affect scene navigation (default False) + + :type: bool + + .. attribute:: hide_viewport + + Globally disable in viewports (default False) + + :type: bool + + .. data:: image_user + + Parameters defining which layer, pass and frame of the image is displayed (readonly, never None) + + :type: :class:`ImageUser` + + .. attribute:: instance_collection + + Instance an existing collection + + :type: :class:`Collection` | None + + .. attribute:: instance_faces_scale + + Scale the face instance objects (in [0.001, 10000], default 1.0) + + :type: float + + .. attribute:: instance_type + + If not None, object instancing method to use (default ``'NONE'``) + + - ``NONE`` + None. + - ``VERTS`` + Vertices -- Instantiate child objects on all vertices. + - ``FACES`` + Faces -- Instantiate child objects on all faces. + - ``COLLECTION`` + Collection -- Enable collection instancing. + + :type: Literal['NONE', 'VERTS', 'FACES', 'COLLECTION'] + + .. data:: is_from_instancer + + Object comes from a instancer (default False, readonly) + + :type: bool + + .. data:: is_from_set + + Object comes from a background set (default False, readonly) + + :type: bool + + .. attribute:: is_holdout + + Render objects as a holdout or matte, creating a hole in the image with zero alpha, to fill out in compositing with real footage or another render (default False) + + :type: bool + + .. data:: is_instancer + + (default False, readonly) + + :type: bool + + .. attribute:: is_shadow_catcher + + Only render shadows and reflections on this object, for compositing renders into real footage. Objects with this setting are considered to already exist in the footage, objects without it are synthetic objects being composited into it. (default False) + + :type: bool + + .. data:: light_linking + + Light linking settings (readonly, never None) + + :type: :class:`ObjectLightLinking` + + .. attribute:: lightgroup + + Lightgroup that the object belongs to (default "", never None) + + :type: str + + .. data:: lineart + + Line Art settings for the object (readonly) + + :type: :class:`ObjectLineArt` | None + + .. attribute:: location + + Location of the object (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: lock_location + + Lock editing of location when transforming (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: lock_rotation + + Lock editing of rotation when transforming (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: lock_rotation_w + + Lock editing of 'angle' component of four-component rotations when transforming (default False) + + :type: bool + + .. attribute:: lock_rotations_4d + + Lock editing of four component rotations by components (instead of as Eulers) (default True) + + :type: bool + + .. attribute:: lock_scale + + Lock editing of scale when transforming (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. data:: material_slots + + Material slots in the object (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`MaterialSlot`] + + .. attribute:: matrix_basis + + Matrix access to location, rotation and scale (including deltas), before constraints and parenting are applied (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: matrix_local + + Parent relative transformation matrix. + Warning: Only takes into account object parenting, so e.g. in case of bone parenting you get a matrix relative to the Armature object, not to the actual parent bone + + (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: matrix_parent_inverse + + Inverse of object's parent matrix at time of parenting (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((1.0, 0.0, 0.0, 0.0), (0.0, 1.0, 0.0, 0.0), (0.0, 0.0, 1.0, 0.0), (0.0, 0.0, 0.0, 1.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: matrix_world + + Worldspace transformation matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. data:: mode + + Object interaction mode (default ``'OBJECT'``, readonly) + + :type: Literal[:ref:`rna_enum_object_mode_items`] + + .. data:: modifiers + + Modifiers affecting the geometric data of the object (default None, readonly) + + :type: :class:`ObjectModifiers`\ [:class:`Modifier`] + + .. data:: motion_path + + Motion Path for this element (readonly) + + :type: :class:`MotionPath` | None + + .. attribute:: parent + + Parent object + + :type: :class:`Object` | None + + .. attribute:: parent_bone + + Name of parent bone in case of a bone parenting relation (default "", never None) + + :type: str + + .. attribute:: parent_type + + Type of parent relation (default ``'OBJECT'``) + + - ``OBJECT`` + Object -- The object is parented to an object. + - ``ARMATURE`` + Armature. + - ``LATTICE`` + Lattice -- The object is parented to a lattice. + - ``VERTEX`` + Vertex -- The object is parented to a vertex. + - ``VERTEX_3`` + 3 Vertices. + - ``BONE`` + Bone -- The object is parented to a bone. + + :type: Literal['OBJECT', 'ARMATURE', 'LATTICE', 'VERTEX', 'VERTEX_3', 'BONE'] + + .. attribute:: parent_vertices + + Indices of vertices in case of a vertex parenting relation (array of 3 items, in [0, inf], default (0, 0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: particle_systems + + Particle systems emitted from the object (default None, readonly) + + :type: :class:`ParticleSystems`\ [:class:`ParticleSystem`] + + .. attribute:: pass_index + + Index number for the "Object Index" render pass (in [0, 32767], default 0) + + :type: int + + .. data:: pose + + Current pose for armatures (readonly) + + :type: :class:`Pose` | None + + .. data:: rigid_body + + Settings for rigid body simulation (readonly) + + :type: :class:`RigidBodyObject` | None + + .. data:: rigid_body_constraint + + Constraint constraining rigid bodies (readonly) + + :type: :class:`RigidBodyConstraint` | None + + .. attribute:: rotation_axis_angle + + Angle of Rotation for Axis-Angle rotation representation (array of 4 items, in [-inf, inf], default (0.0, 0.0, 1.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: rotation_euler + + Rotation in Eulers (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: rotation_mode + + The kind of rotation to apply, values from other rotation modes are not used (default ``'XYZ'``) + + :type: Literal[:ref:`rna_enum_object_rotation_mode_items`] + + .. attribute:: rotation_quaternion + + Rotation in Quaternions (array of 4 items, in [-inf, inf], default (1.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. attribute:: scale + + Scaling of the object (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. data:: selection_sets + + List of groups of bones for easy selection (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`SelectionSet`] + + .. data:: shader_effects + + Effects affecting display of object (default None, readonly) + + :type: :class:`ObjectShaderFx`\ [:class:`ShaderFx`] + + .. attribute:: shadow_terminator_geometry_offset + + Offset rays from the surface to reduce shadow terminator artifact on low poly geometry. Only affects triangles at grazing angles to light (in [0, inf], default 0.1) + + :type: float + + .. attribute:: shadow_terminator_normal_offset + + Offset rays from the surface to reduce shadow terminator artifact on low poly geometry. Only affect triangles that are affected by the geometry offset (in [0, inf], default 0.0) + + :type: float + + .. attribute:: shadow_terminator_shading_offset + + Push the shadow terminator towards the light to hide artifacts on low poly geometry (in [0, inf], default 0.0) + + :type: float + + .. attribute:: show_all_edges + + Display all edges for mesh objects (default False) + + :type: bool + + .. attribute:: show_axis + + Display the object's origin and axes (default False) + + :type: bool + + .. attribute:: show_bounds + + Display the object's bounds (default False) + + :type: bool + + .. attribute:: show_empty_image_only_axis_aligned + + Only display the image when it is aligned with the view axis (default False) + + :type: bool + + .. attribute:: show_empty_image_orthographic + + Display image in orthographic mode (default True) + + :type: bool + + .. attribute:: show_empty_image_perspective + + Display image in perspective mode (default True) + + :type: bool + + .. attribute:: show_in_front + + Make the object display in front of others (default False) + + :type: bool + + .. attribute:: show_instancer_for_render + + Make instancer visible when rendering (default True) + + :type: bool + + .. attribute:: show_instancer_for_viewport + + Make instancer visible in the viewport (default True) + + :type: bool + + .. attribute:: show_name + + Display the object's name (default False) + + :type: bool + + .. attribute:: show_only_shape_key + + Only show the active shape key at full value (default False) + + :type: bool + + .. attribute:: show_texture_space + + Display the object's texture space (default False) + + :type: bool + + .. attribute:: show_transparent + + Display material transparency in the object (default False) + + :type: bool + + .. attribute:: show_wire + + Display the object's wireframe over solid shading (default False) + + :type: bool + + .. data:: soft_body + + Settings for soft body simulation (readonly) + + :type: :class:`SoftBodySettings` | None + + .. attribute:: track_axis + + Axis that points in the 'forward' direction (applies to Instance Vertices when Align to Vertex Normal is enabled) (default ``'POS_X'``) + + :type: Literal[:ref:`rna_enum_object_axis_items`] + + .. data:: type + + Type of object (default ``'EMPTY'``, readonly) + + :type: Literal[:ref:`rna_enum_object_type_items`] + + .. attribute:: up_axis + + Axis that points in the upward direction (applies to Instance Vertices when Align to Vertex Normal is enabled) (default ``'X'``) + + :type: Literal['X', 'Y', 'Z'] + + .. attribute:: use_camera_lock_parent + + View Lock 3D viewport camera transformation affects the object's parent instead (default False) + + :type: bool + + .. data:: use_dynamic_topology_sculpting + + (default False, readonly) + + :type: bool + + .. attribute:: use_empty_image_alpha + + Use alpha blending instead of alpha test (can produce sorting artifacts) (default False) + + :type: bool + + .. attribute:: use_grease_pencil_lights + + Lights affect Grease Pencil object (default True) + + :type: bool + + .. attribute:: use_instance_faces_scale + + Scale instance based on face size (default False) + + :type: bool + + .. attribute:: use_instance_vertices_rotation + + Rotate instance according to vertex normal (default False) + + :type: bool + + .. attribute:: use_mesh_mirror_x + + Enable mesh symmetry in the X axis (default False) + + :type: bool + + .. attribute:: use_mesh_mirror_y + + Enable mesh symmetry in the Y axis (default False) + + :type: bool + + .. attribute:: use_mesh_mirror_z + + Enable mesh symmetry in the Z axis (default False) + + :type: bool + + .. attribute:: use_parent_final_indices + + Use the final evaluated indices rather than the original mesh indices (default False) + + :type: bool + + .. attribute:: use_shape_key_edit_mode + + Display shape keys in edit mode (for meshes only) (default False) + + :type: bool + + .. attribute:: use_simulation_cache + + Cache frames during simulation nodes playback (default True) + + :type: bool + + .. data:: vertex_groups + + Vertex groups of the object (default None, readonly) + + :type: :class:`VertexGroups`\ [:class:`VertexGroup`] + + .. attribute:: visible_camera + + Object visibility to camera rays (default True) + + :type: bool + + .. attribute:: visible_diffuse + + Object visibility to diffuse rays (default True) + + :type: bool + + .. attribute:: visible_glossy + + Object visibility to glossy rays (default True) + + :type: bool + + .. attribute:: visible_shadow + + Object visibility to shadow rays (default True) + + :type: bool + + .. attribute:: visible_transmission + + Object visibility to transmission rays (default True) + + :type: bool + + .. attribute:: visible_volume_scatter + + Object visibility to volume scattering rays (default True) + + :type: bool + + .. data:: children + + All the children of this object. + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects))`` time. + + (readonly) + + .. data:: children_recursive + + A list of all children from this object. + + :type: list[:class:`Object`] + + .. note:: Takes ``O(len(bpy.data.objects))`` time. + + (readonly) + + .. data:: users_collection + + The collections this object is in. + + :type: tuple[:class:`Collection`, ...] + + .. note:: Takes ``O(len(bpy.data.collections) + len(bpy.data.scenes))`` time. + + (readonly) + + .. data:: users_scene + + The scenes this object is in. + + :type: tuple[:class:`Scene`, ...] + + .. note:: Takes ``O(len(bpy.data.scenes) * len(bpy.data.objects))`` time. + + (readonly) + + .. method:: select_get(*, view_layer=None) + + Test if the object is selected. The selection state is per view layer. + + :param view_layer: Use this instead of the active view layer (optional) + :type view_layer: :class:`ViewLayer` | None + :return: Object selected + :rtype: bool + + .. method:: select_set(state, *, view_layer=None) + + Select or deselect the object. The selection state is per view layer. + + :param state: Selection state to define + :type state: bool + :param view_layer: Use this instead of the active view layer (optional) + :type view_layer: :class:`ViewLayer` | None + + .. method:: hide_get(*, view_layer=None) + + Test if the object is hidden for viewport editing. This hiding state is per view layer. + + :param view_layer: Use this instead of the active view layer (optional) + :type view_layer: :class:`ViewLayer` | None + :return: Object hidden + :rtype: bool + + .. method:: hide_set(state, *, view_layer=None) + + Hide the object for viewport editing. This hiding state is per view layer. + + :param state: Hide state to define + :type state: bool + :param view_layer: Use this instead of the active view layer (optional) + :type view_layer: :class:`ViewLayer` | None + + .. method:: visible_get(*, view_layer=None, viewport=None) + + Test if the object is visible in the 3D viewport, taking into account all visibility settings + + :param view_layer: Use this instead of the active view layer (optional) + :type view_layer: :class:`ViewLayer` | None + :param viewport: Use this instead of the active 3D viewport (optional) + :type viewport: :class:`SpaceView3D` | None + :return: Object visible + :rtype: bool + + .. method:: holdout_get(*, view_layer=None) + + Test if object is masked in the view layer + + :param view_layer: Use this instead of the active view layer (optional) + :type view_layer: :class:`ViewLayer` | None + :return: Object holdout + :rtype: bool + + .. method:: indirect_only_get(*, view_layer=None) + + Test if object is set to contribute only indirectly (through shadows and reflections) in the view layer + + :param view_layer: Use this instead of the active view layer (optional) + :type view_layer: :class:`ViewLayer` | None + :return: Object indirect only + :rtype: bool + + .. method:: local_view_get(viewport) + + Get the local view state for this object + + :param viewport: Viewport in local view (never None) + :type viewport: :class:`SpaceView3D` | None + :return: Object local view state + :rtype: bool + + .. method:: local_view_set(viewport, state) + + Set the local view state for this object + + :param viewport: Viewport in local view (never None) + :type viewport: :class:`SpaceView3D` | None + :param state: Local view state to define + :type state: bool + + .. method:: visible_in_viewport_get(viewport) + + Check for local view and local collections for this viewport and object + + :param viewport: Viewport in local collections (never None) + :type viewport: :class:`SpaceView3D` | None + :return: Object viewport visibility + :rtype: bool + + .. method:: convert_space(*, pose_bone=None, matrix=((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), from_space='WORLD', to_space='WORLD') + + Convert (transform) the given matrix from one space to another + + :param pose_bone: Bone to use to define spaces (may be None, in which case only the two 'WORLD' and 'LOCAL' spaces are usable) (optional) + :type pose_bone: :class:`PoseBone` | None + :param matrix: The matrix to transform (multi-dimensional array of 4 * 4 items, in [-inf, inf], optional) + :type matrix: :class:`mathutils.Matrix` | Sequence[Sequence[float]] + :param from_space: The space in which 'matrix' is currently (optional) + + - ``WORLD`` + World Space -- The most global space in Blender. + - ``POSE`` + Pose Space -- The pose space of a bone (its armature's object space). + - ``LOCAL_WITH_PARENT`` + Local With Parent -- The rest pose local space of a bone (this matrix includes parent transforms). + - ``LOCAL`` + Local Space -- The local space of an object/bone. + :type from_space: Literal['WORLD', 'POSE', 'LOCAL_WITH_PARENT', 'LOCAL'] + :param to_space: The space to which you want to transform 'matrix' (optional) + + - ``WORLD`` + World Space -- The most global space in Blender. + - ``POSE`` + Pose Space -- The pose space of a bone (its armature's object space). + - ``LOCAL_WITH_PARENT`` + Local With Parent -- The rest pose local space of a bone (this matrix includes parent transforms). + - ``LOCAL`` + Local Space -- The local space of an object/bone. + :type to_space: Literal['WORLD', 'POSE', 'LOCAL_WITH_PARENT', 'LOCAL'] + :return: The transformed matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :rtype: :class:`mathutils.Matrix` + + .. method:: calc_matrix_camera(depsgraph, *, x=1, y=1, scale_x=1.0, scale_y=1.0) + + Generate the camera projection matrix of this object (mostly useful for Camera and Light types) + + :param depsgraph: Depsgraph to get evaluated data from + :type depsgraph: :class:`Depsgraph` | None + :param x: Width of the render area (in [0, inf], optional) + :type x: int + :param y: Height of the render area (in [0, inf], optional) + :type y: int + :param scale_x: Width scaling factor (in [1e-06, inf], optional) + :type scale_x: float + :param scale_y: Height scaling factor (in [1e-06, inf], optional) + :type scale_y: float + :return: The camera projection matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :rtype: :class:`mathutils.Matrix` + + .. method:: camera_fit_coords(depsgraph, coordinates) + + Compute the coordinate (and scale for ortho cameras) given object should be to 'see' all given coordinates + + :param depsgraph: Depsgraph to get evaluated data from + :type depsgraph: :class:`Depsgraph` | None + :param coordinates: Coordinates to fit in (array of 1 items, in [-inf, inf], never None) + :type coordinates: Sequence[float] + :return: + ``co_return``, The location to aim to be able to see all given points, :class:`mathutils.Vector` + + ``scale_return``, The ortho scale to aim to be able to see all given points (if relevant), float + + :rtype: tuple[:class:`mathutils.Vector`, float] + + .. method:: crazyspace_eval(depsgraph, scene) + + Compute orientation mapping between vertices of an original object and object with shape keys and deforming modifiers applied.The evaluation is to be freed with the crazyspace_eval_free function + + :param depsgraph: Dependency Graph, Evaluated dependency graph + :type depsgraph: :class:`Depsgraph` | None + :param scene: Scene, Scene of the object + :type scene: :class:`Scene` | None + + .. method:: crazyspace_displacement_to_deformed(*, vertex_index=0, displacement=(0.0, 0.0, 0.0)) + + Convert displacement vector from non-deformed object space to deformed object space + + :param vertex_index: vertex_index, (in [-inf, inf], optional) + :type vertex_index: int + :param displacement: displacement, (array of 3 items, in [-inf, inf], optional) + :type displacement: :class:`mathutils.Vector` | Sequence[float] + :return: displacement_deformed, (array of 3 items, in [-inf, inf]) + :rtype: :class:`mathutils.Vector` + + .. method:: crazyspace_displacement_to_original(*, vertex_index=0, displacement=(0.0, 0.0, 0.0)) + + Free evaluated state of crazyspace + + :param vertex_index: vertex_index, (in [-inf, inf], optional) + :type vertex_index: int + :param displacement: displacement, (array of 3 items, in [-inf, inf], optional) + :type displacement: :class:`mathutils.Vector` | Sequence[float] + :return: displacement_original, (array of 3 items, in [-inf, inf]) + :rtype: :class:`mathutils.Vector` + + .. method:: crazyspace_eval_clear() + + crazyspace_eval_clear + + + .. method:: to_mesh(*, preserve_all_data_layers=False, depsgraph=None) + + Create a Mesh data-block from the current state of the object. The object owns the data-block. To force free it use to_mesh_clear(). The result is temporary and cannot be used by objects from the main database. + + :param preserve_all_data_layers: Preserve all data layers in the mesh, like UV maps and vertex groups. By default Blender only computes the subset of data layers needed for viewport display and rendering, for better performance. (optional) + :type preserve_all_data_layers: bool + :param depsgraph: Dependency Graph, Evaluated dependency graph which is required when preserve_all_data_layers is true (optional) + :type depsgraph: :class:`Depsgraph` | None + :return: Mesh created from object + :rtype: :class:`Mesh` + + .. method:: to_mesh_clear() + + Clears mesh data-block created by to_mesh() + + + .. method:: to_curve(depsgraph, *, apply_modifiers=False) + + Create a Curve data-block from the current state of the object. This only works for curve and text objects. The object owns the data-block. To force free it, use to_curve_clear(). The result is temporary and cannot be used by objects from the main database. + + :param depsgraph: Dependency Graph, Evaluated dependency graph + :type depsgraph: :class:`Depsgraph` | None + :param apply_modifiers: Apply the deform modifiers on the control points of the curve. This is only supported for curve objects. (optional) + :type apply_modifiers: bool + :return: Curve created from object + :rtype: :class:`Curve` + + .. method:: to_curve_clear() + + Clears curve data-block created by to_curve() + + + .. method:: find_armature() + + Find armature influencing this object as a parent or via a modifier + + :return: Armature object influencing this object or nullptr + :rtype: :class:`Object` + + .. method:: shape_key_add(*, name="Key", from_mix=True) + + Add shape key to this object + + :param name: Unique name for the new key-block (optional, never None) + :type name: str + :param from_mix: Create new shape from existing mix of shapes (optional) + :type from_mix: bool + :return: New shape key-block + :rtype: :class:`ShapeKey` + + .. method:: shape_key_remove(key) + + Remove a Shape Key from this object + + :param key: Key-block to be removed (never None) + :type key: :class:`ShapeKey` | None + + .. method:: shape_key_clear() + + Remove all Shape Keys from this object + + + .. method:: shape_keys_selected() + + Return selected shape keys + + :return: keyblocks + :rtype: :class:`bpy_prop_collection`\ [:class:`ShapeKey`] + + .. method:: ray_cast(origin, direction, *, distance=1.70141e+38, depsgraph=None) + + Cast a ray onto evaluated geometry, in object space (using context's or provided depsgraph to get evaluated mesh if needed) + + :param origin: Origin of the ray, in object space (array of 3 items, in [-inf, inf]) + :type origin: :class:`mathutils.Vector` | Sequence[float] + :param direction: Direction of the ray, in object space (array of 3 items, in [-inf, inf]) + :type direction: :class:`mathutils.Vector` | Sequence[float] + :param distance: Maximum distance (in [0, inf], optional) + :type distance: float + :param depsgraph: Depsgraph to use to get evaluated data, when called from original object (only needed if current Context's depsgraph is not suitable) (optional) + :type depsgraph: :class:`Depsgraph` | None + :return: + ``result``, Whether the ray successfully hit the geometry, bool + + ``location``, The hit location of this ray cast, :class:`mathutils.Vector` + + ``normal``, The face normal at the ray cast hit location, :class:`mathutils.Vector` + + ``index``, The face index, -1 when original data isn't available, int + + :rtype: tuple[bool, :class:`mathutils.Vector`, :class:`mathutils.Vector`, int] + + .. method:: closest_point_on_mesh(origin, *, distance=1.84467e+19, depsgraph=None) + + Find the nearest point on evaluated geometry, in object space (using context's or provided depsgraph to get evaluated mesh if needed) + + :param origin: Point to find closest geometry from (in object space) (array of 3 items, in [-inf, inf]) + :type origin: :class:`mathutils.Vector` | Sequence[float] + :param distance: Maximum distance (in [0, inf], optional) + :type distance: float + :param depsgraph: Depsgraph to use to get evaluated data, when called from original object (only needed if current Context's depsgraph is not suitable) (optional) + :type depsgraph: :class:`Depsgraph` | None + :return: + ``result``, Whether closest point on geometry was found, bool + + ``location``, The location on the object closest to the point, :class:`mathutils.Vector` + + ``normal``, The face normal at the closest point, :class:`mathutils.Vector` + + ``index``, The face index, -1 when original data isn't available, int + + :rtype: tuple[bool, :class:`mathutils.Vector`, :class:`mathutils.Vector`, int] + + .. method:: is_modified(scene, settings) + + Determine if this object is modified from the base mesh data + + :param scene: Scene in which to check the object (never None) + :type scene: :class:`Scene` | None + :param settings: Modifier settings to apply + + - ``PREVIEW`` + Preview -- Apply modifier preview settings. + - ``RENDER`` + Render -- Apply modifier render settings. + :type settings: Literal['PREVIEW', 'RENDER'] + :return: Whether the object is modified + :rtype: bool + + .. method:: is_deform_modified(scene, settings) + + Determine if this object is modified by a deformation from the base mesh data + + :param scene: Scene in which to check the object (never None) + :type scene: :class:`Scene` | None + :param settings: Modifier settings to apply + + - ``PREVIEW`` + Preview -- Apply modifier preview settings. + - ``RENDER`` + Render -- Apply modifier render settings. + :type settings: Literal['PREVIEW', 'RENDER'] + :return: Whether the object is deform-modified + :rtype: bool + + .. method:: dm_info(type, *, depsgraph=None) + + Returns a string for original/evaluated mesh data (debug builds only, using context's or provided depsgraph to get evaluated mesh if needed) + + :param type: Modifier settings to apply + + - ``SOURCE`` + Source -- Source mesh. + - ``DEFORM`` + Deform -- Objects deform mesh. + - ``FINAL`` + Final -- Objects final mesh. + :type type: Literal['SOURCE', 'DEFORM', 'FINAL'] + :param depsgraph: Depsgraph to use to get evaluated data, when called from original object (only needed if current Context's depsgraph is not suitable) (optional) + :type depsgraph: :class:`Depsgraph` | None + :return: Requested information (never None) + :rtype: str + + .. method:: update_from_editmode() + + Load the objects edit-mode data into the object data + + :return: Success + :rtype: bool + + .. method:: cache_release() + + Release memory used by caches associated with this object. Intended to be used by render engines only. + + + .. method:: evaluated_geometry() + + Get the evaluated geometry set of this evaluated object. This only works for + objects that contain geometry data like meshes and curves but not e.g. cameras. + + :return: The evaluated geometry. + :rtype: :class:`bpy.types.GeometrySet` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_object` + - :mod:`bpy.context.edit_object` + - :mod:`bpy.context.editable_objects` + - :mod:`bpy.context.image_paint_object` + - :mod:`bpy.context.object` + - :mod:`bpy.context.objects_in_mode` + - :mod:`bpy.context.objects_in_mode_unique_data` + - :mod:`bpy.context.particle_edit_object` + - :mod:`bpy.context.pose_object` + - :mod:`bpy.context.sculpt_object` + - :mod:`bpy.context.selectable_objects` + - :mod:`bpy.context.selected_editable_objects` + - :mod:`bpy.context.selected_objects` + - :mod:`bpy.context.vertex_paint_object` + - :mod:`bpy.context.visible_objects` + - :mod:`bpy.context.weight_paint_object` + - :class:`Action.flip_with_pose` + - :class:`ActionConstraint.target` + - :class:`ArmatureModifier.object` + - :class:`ArrayModifier.curve` + - :class:`ArrayModifier.end_cap` + - :class:`ArrayModifier.offset_object` + - :class:`ArrayModifier.start_cap` + - :class:`BlendData.objects` + - :class:`BlendDataMeshes.new_from_object` + - :class:`BlendDataObjects.new` + - :class:`BlendDataObjects.remove` + - :class:`BoidRuleAvoid.object` + - :class:`BoidRuleFollowLeader.object` + - :class:`BoidRuleGoal.object` + - :class:`BooleanModifier.object` + - :class:`CameraDOFSettings.focus_object` + - :class:`CastModifier.object` + - :class:`ChildOfConstraint.target` + - :class:`ClampToConstraint.target` + - :class:`Collection.all_objects` + - :class:`Collection.objects` + - :class:`CollectionObjects.link` + - :class:`CollectionObjects.unlink` + - :class:`Constraint.space_object` + - :class:`ConstraintTarget.target` + - :class:`ConstraintTargetBone.target` + - :class:`CopyLocationConstraint.target` + - :class:`CopyRotationConstraint.target` + - :class:`CopyScaleConstraint.target` + - :class:`CopyTransformsConstraint.target` + - :class:`Curve.bevel_object` + - :class:`Curve.taper_object` + - :class:`CurveModifier.object` + - :class:`Curves.surface` + - :class:`DampedTrackConstraint.target` + - :class:`DataTransferModifier.object` + - :class:`Depsgraph.objects` + - :class:`DepsgraphObjectInstance.instance_object` + - :class:`DepsgraphObjectInstance.object` + - :class:`DepsgraphObjectInstance.parent` + - :class:`DisplaceModifier.texture_coords_object` + - :class:`DynamicPaintSurface.output_exists` + - :class:`FieldSettings.source_object` + - :class:`FloorConstraint.target` + - :class:`FluidDomainSettings.guide_parent` + - :class:`FollowPathConstraint.target` + - :class:`FollowTrackConstraint.camera` + - :class:`FollowTrackConstraint.depth_object` + - :class:`GPencilSculptGuide.reference_object` + - :class:`GeometryAttributeConstraint.target` + - :class:`GeometryNodeInputObject.object` + - :class:`GreasePencilArmatureModifier.object` + - :class:`GreasePencilArrayModifier.offset_object` + - :class:`GreasePencilBuildModifier.object` + - :class:`GreasePencilHookModifier.object` + - :class:`GreasePencilLatticeModifier.object` + - :class:`GreasePencilLayer.parent` + - :class:`GreasePencilLineartModifier.light_contour_object` + - :class:`GreasePencilLineartModifier.source_camera` + - :class:`GreasePencilLineartModifier.source_object` + - :class:`GreasePencilMirrorModifier.object` + - :class:`GreasePencilOutlineModifier.object` + - :class:`GreasePencilShrinkwrapModifier.auxiliary_target` + - :class:`GreasePencilShrinkwrapModifier.target` + - :class:`GreasePencilTintModifier.object` + - :class:`GreasePencilWeightProximityModifier.object` + - :class:`HookModifier.object` + - :class:`KinematicConstraint.pole_target` + - :class:`KinematicConstraint.target` + - :class:`LatticeModifier.object` + - :class:`LayerObjects.active` + - :class:`LayerObjects.selected` + - :class:`LimitDistanceConstraint.target` + - :class:`LineStyleAlphaModifier_DistanceFromObject.target` + - :class:`LineStyleColorModifier_DistanceFromObject.target` + - :class:`LineStyleThicknessModifier_DistanceFromObject.target` + - :class:`LockedTrackConstraint.target` + - :class:`MaskModifier.armature` + - :class:`MeshDeformModifier.object` + - :class:`MeshToVolumeModifier.object` + - :class:`MirrorModifier.mirror_object` + - :class:`NodeSocketObject.default_value` + - :class:`NodeTreeInterfaceSocketObject.default_value` + - :class:`NormalEditModifier.target` + - :class:`Object.find_armature` + - :class:`Object.parent` + - :class:`ObjectBase.object` + - :class:`ObjectSolverConstraint.camera` + - :class:`ParticleEdit.object` + - :class:`ParticleEdit.shape_object` + - :class:`ParticleHairKey.co_object` + - :class:`ParticleHairKey.co_object_set` + - :class:`ParticleInstanceModifier.object` + - :class:`ParticleSettings.instance_object` + - :class:`ParticleSettingsTextureSlot.object` + - :class:`ParticleSystem.co_hair` + - :class:`ParticleSystem.parent` + - :class:`ParticleSystem.reactor_target_object` + - :class:`ParticleTarget.object` + - :class:`PivotConstraint.target` + - :class:`PoseBone.custom_shape` + - :class:`RenderEngine.bake` + - :class:`RenderEngine.camera_model_matrix` + - :class:`RenderEngine.camera_override` + - :class:`RenderEngine.camera_shift_x` + - :class:`RenderEngine.use_spherical_stereo` + - :class:`RigidBodyConstraint.object1` + - :class:`RigidBodyConstraint.object2` + - :class:`RigidBodyWorld.convex_sweep_test` + - :class:`BakeSettings.cage_object` + - :class:`Scene.camera` + - :class:`Scene.objects` + - :class:`Scene.ray_cast` + - :class:`Scene.uvedit_aspect` + - :class:`SceneStrip.scene_camera` + - :class:`ScrewModifier.object` + - :class:`Sculpt.gravity_object` + - :class:`ShaderFxShadow.object` + - :class:`ShaderFxSwirl.object` + - :class:`ShaderNodeTexCoord.object` + - :class:`ShrinkwrapConstraint.target` + - :class:`ShrinkwrapModifier.auxiliary_target` + - :class:`ShrinkwrapModifier.target` + - :class:`SimpleDeformModifier.origin` + - :class:`SpaceView3D.camera` + - :class:`SpaceView3D.lock_object` + - :class:`SplineIKConstraint.target` + - :class:`StretchToConstraint.target` + - :class:`SurfaceDeformModifier.target` + - :class:`TextCurve.follow_curve` + - :class:`TimelineMarker.camera` + - :class:`ToolSettings.anim_mirror_object` + - :class:`ToolSettings.anim_relative_object` + - :class:`TrackToConstraint.target` + - :class:`TransformConstraint.target` + - :class:`UVProjector.object` + - :class:`UVWarpModifier.object_from` + - :class:`UVWarpModifier.object_to` + - :class:`VertexWeightEditModifier.mask_tex_map_object` + - :class:`VertexWeightMixModifier.mask_tex_map_object` + - :class:`VertexWeightProximityModifier.mask_tex_map_object` + - :class:`VertexWeightProximityModifier.target` + - :class:`ViewLayer.objects` + - :class:`VolumeDisplaceModifier.texture_map_object` + - :class:`VolumeToMeshModifier.object` + - :class:`WarpModifier.object_from` + - :class:`WarpModifier.object_to` + - :class:`WarpModifier.texture_coords_object` + - :class:`WaveModifier.start_position_object` + - :class:`WaveModifier.texture_coords_object` + - :class:`XrSessionSettings.base_pose_object` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectBase.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectBase.rst new file mode 100644 index 0000000..759f18a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectBase.rst @@ -0,0 +1,88 @@ +ObjectBase(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ObjectBase(bpy_struct) + + An object instance in a View Layer (currently never exposed in Python API) + + .. attribute:: hide_viewport + + Temporarily hide in viewport (default False) + + :type: bool + + .. data:: object + + Object this base links to (readonly) + + :type: :class:`Object` | None + + .. attribute:: select + + Object base selection state (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectConstraints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectConstraints.rst new file mode 100644 index 0000000..5528620 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectConstraints.rst @@ -0,0 +1,123 @@ +ObjectConstraints(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ObjectConstraints(bpy_prop_collection) + + Collection of object constraints + + .. attribute:: active + + Active Object constraint + + :type: :class:`Constraint` | None + + .. method:: new(type) + + Add a new constraint to this object + + :param type: Constraint type to add + :type type: Literal[:ref:`rna_enum_constraint_type_items`] + :return: New constraint + :rtype: :class:`Constraint` + + .. method:: remove(constraint) + + Remove a constraint from this object + + :param constraint: Removed constraint (never None) + :type constraint: :class:`Constraint` | None + + .. method:: clear() + + Remove all constraint from this object + + + .. method:: move(from_index, to_index) + + Move a constraint to a different position + + :param from_index: From Index, Index to move (in [-inf, inf]) + :type from_index: int + :param to_index: To Index, Target index (in [-inf, inf]) + :type to_index: int + + .. method:: copy(constraint) + + Add a new constraint that is a copy of the given one + + :param constraint: Constraint to copy - may belong to a different object (never None) + :type constraint: :class:`Constraint` | None + :return: New constraint + :rtype: :class:`Constraint` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.constraints` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectDisplay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectDisplay.rst new file mode 100644 index 0000000..d95eda0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectDisplay.rst @@ -0,0 +1,84 @@ +ObjectDisplay(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ObjectDisplay(bpy_struct) + + Object display settings for 3D viewport + + .. attribute:: show_shadows + + Object cast shadows in the 3D viewport (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.display` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectLightLinking.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectLightLinking.rst new file mode 100644 index 0000000..17e8e74 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectLightLinking.rst @@ -0,0 +1,89 @@ +ObjectLightLinking(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ObjectLightLinking(bpy_struct) + + + .. attribute:: blocker_collection + + Collection which defines objects which block light from this emitter + + :type: :class:`Collection` | None + + .. attribute:: receiver_collection + + Collection which defines light linking relation of this emitter + + :type: :class:`Collection` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.light_linking` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectLineArt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectLineArt.rst new file mode 100644 index 0000000..9f0c19b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectLineArt.rst @@ -0,0 +1,123 @@ +ObjectLineArt(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ObjectLineArt(bpy_struct) + + Object Line Art settings + + .. attribute:: crease_threshold + + Angles smaller than this will be treated as creases (in [0, 3.14159], default 2.44346) + + :type: float + + .. attribute:: intersection_priority + + The intersection line will be included into the object with the higher intersection priority value (in [0, 255], default 0) + + :type: int + + .. attribute:: usage + + How to use this object in Line Art calculation (default ``'INHERIT'``) + + - ``INHERIT`` + Inherit -- Use settings from the parent collection. + - ``INCLUDE`` + Include -- Generate feature lines for this object's data. + - ``OCCLUSION_ONLY`` + Occlusion Only -- Only use the object data to produce occlusion. + - ``EXCLUDE`` + Exclude -- Don't use this object for Line Art rendering. + - ``INTERSECTION_ONLY`` + Intersection Only -- Only generate intersection lines for this collection. + - ``NO_INTERSECTION`` + No Intersection -- Include this object but do not generate intersection lines. + - ``FORCE_INTERSECTION`` + Force Intersection -- Generate intersection lines even with objects that disabled intersection. + + :type: Literal['INHERIT', 'INCLUDE', 'OCCLUSION_ONLY', 'EXCLUDE', 'INTERSECTION_ONLY', 'NO_INTERSECTION', 'FORCE_INTERSECTION'] + + .. attribute:: use_crease_override + + Use this object's crease setting to overwrite scene global (default False) + + :type: bool + + .. attribute:: use_intersection_priority_override + + Use this object's intersection priority to override collection setting (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.lineart` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectModifiers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectModifiers.rst new file mode 100644 index 0000000..512945d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectModifiers.rst @@ -0,0 +1,116 @@ +ObjectModifiers(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ObjectModifiers(bpy_prop_collection) + + Collection of object modifiers + + .. attribute:: active + + The active modifier in the list + + :type: :class:`Modifier` | None + + .. method:: new(name, type) + + Add a new modifier + + :param name: New name for the modifier (never None) + :type name: str + :param type: Modifier type to add + :type type: Literal[:ref:`rna_enum_object_modifier_type_items`] + :return: Newly created modifier + :rtype: :class:`Modifier` + + .. method:: remove(modifier) + + Remove an existing modifier from the object + + :param modifier: Modifier to remove (never None) + :type modifier: :class:`Modifier` | None + + .. method:: clear() + + Remove all modifiers from the object + + + .. method:: move(from_index, to_index) + + Move a modifier to a different position + + :param from_index: From Index, Index to move (in [-inf, inf]) + :type from_index: int + :param to_index: To Index, Target index (in [-inf, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.modifiers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectShaderFx.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectShaderFx.rst new file mode 100644 index 0000000..331fcb6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectShaderFx.rst @@ -0,0 +1,101 @@ +ObjectShaderFx(bpy_prop_collection) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ObjectShaderFx(bpy_prop_collection) + + Collection of object effects + + .. method:: new(name, type) + + Add a new shader fx + + :param name: New name for the effect (never None) + :type name: str + :param type: Effect type to add + :type type: Literal[:ref:`rna_enum_object_shaderfx_type_items`] + :return: Newly created effect + :rtype: :class:`ShaderFx` + + .. method:: remove(shader_fx) + + Remove an existing effect from the object + + :param shader_fx: Effect to remove (never None) + :type shader_fx: :class:`ShaderFx` | None + + .. method:: clear() + + Remove all effects from the object + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.shader_effects` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectSolverConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectSolverConstraint.rst new file mode 100644 index 0000000..578b745 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ObjectSolverConstraint.rst @@ -0,0 +1,117 @@ +ObjectSolverConstraint(Constraint) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: ObjectSolverConstraint(Constraint) + + Lock motion to the reconstructed object movement + + .. attribute:: camera + + Camera to which motion is parented (if empty active scene camera is used) + + :type: :class:`Object` | None + + .. attribute:: clip + + Movie Clip to get tracking data from + + :type: :class:`MovieClip` | None + + .. attribute:: object + + Movie tracking object to follow (default "", never None) + + :type: str + + .. attribute:: set_inverse_pending + + Set to true to request recalculation of the inverse matrix (default False) + + :type: bool + + .. attribute:: use_active_clip + + Use active clip defined in scene (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OceanModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OceanModifier.rst new file mode 100644 index 0000000..02be463 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OceanModifier.rst @@ -0,0 +1,291 @@ +OceanModifier(Modifier) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: OceanModifier(Modifier) + + Simulate an ocean surface + + .. attribute:: bake_foam_fade + + How much foam accumulates over time (baked ocean only) (in [0, inf], default 0.98) + + :type: float + + .. attribute:: choppiness + + Choppiness of the wave's crest (adds some horizontal component to the displacement) (in [0, inf], default 1.0) + + :type: float + + .. attribute:: damping + + Damp reflected waves going in opposite direction to the wind (in [0, 1], default 0.5) + + :type: float + + .. attribute:: depth + + Depth of the solid ground below the water surface (in [-inf, inf], default 200.0) + + :type: float + + .. attribute:: fetch_jonswap + + This is the distance from a lee shore, called the fetch, or the distance over which the wind blows with constant velocity. Used by 'JONSWAP' and 'TMA' models. (in [0, inf], default 120.0) + + :type: float + + .. attribute:: filepath + + Path to a folder to store external baked images (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: foam_coverage + + Amount of generated foam (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: foam_layer_name + + Name of the vertex color layer used for foam (default "", never None) + + :type: str + + .. attribute:: frame_end + + End frame of the ocean baking (in [-inf, inf], default 250) + + :type: int + + .. attribute:: frame_start + + Start frame of the ocean baking (in [-inf, inf], default 1) + + :type: int + + .. attribute:: geometry_mode + + Method of modifying geometry (default ``'GENERATE'``) + + - ``GENERATE`` + Generate -- Generate ocean surface geometry at the specified resolution. + - ``DISPLACE`` + Displace -- Displace existing geometry according to simulation. + + :type: Literal['GENERATE', 'DISPLACE'] + + .. attribute:: invert_spray + + Invert the spray direction map (default False) + + :type: bool + + .. data:: is_cached + + Whether the ocean is using cached data or simulating (default False, readonly) + + :type: bool + + .. attribute:: random_seed + + Seed of the random generator (in [0, inf], default 0) + + :type: int + + .. attribute:: repeat_x + + Repetitions of the generated surface in X (in [1, 1024], default 1) + + :type: int + + .. attribute:: repeat_y + + Repetitions of the generated surface in Y (in [1, 1024], default 1) + + :type: int + + .. attribute:: resolution + + Resolution of the generated surface for rendering and baking (in [1, 1024], default 7) + + :type: int + + .. attribute:: sharpen_peak_jonswap + + Peak sharpening for 'JONSWAP' and 'TMA' models (in [0, 1], default 0.0) + + :type: float + + .. attribute:: size + + Surface scale factor (does not affect the height of the waves) (in [0, inf], default 1.0) + + :type: float + + .. attribute:: spatial_size + + Size of the simulation domain (in meters), and of the generated geometry (in BU) (in [-inf, inf], default 50) + + :type: int + + .. attribute:: spectrum + + Spectrum to use (default ``'PHILLIPS'``) + + - ``PHILLIPS`` + Turbulent Ocean -- Use for turbulent seas with foam. + - ``PIERSON_MOSKOWITZ`` + Established Ocean -- Use for a large area, established ocean (Pierson-Moskowitz method). + - ``JONSWAP`` + Established Ocean (Sharp Peaks) -- Use for established oceans ('JONSWAP', Pierson-Moskowitz method) with peak sharpening. + - ``TEXEL_MARSEN_ARSLOE`` + Shallow Water -- Use for shallow water ('JONSWAP', 'TMA' - Texel-Marsen-Arsloe method). + + :type: Literal['PHILLIPS', 'PIERSON_MOSKOWITZ', 'JONSWAP', 'TEXEL_MARSEN_ARSLOE'] + + .. attribute:: spray_layer_name + + Name of the vertex color layer used for the spray direction map (default "", never None) + + :type: str + + .. attribute:: time + + Current time of the simulation (in [0, inf], default 1.0) + + :type: float + + .. attribute:: use_foam + + Generate foam mask as a vertex color channel (default False) + + :type: bool + + .. attribute:: use_normals + + Output normals for bump mapping - disabling can speed up performance if it's not needed (default False) + + :type: bool + + .. attribute:: use_spray + + Generate map of spray direction as a vertex color channel (default False) + + :type: bool + + .. attribute:: viewport_resolution + + Viewport resolution of the generated surface (in [1, 1024], default 7) + + :type: int + + .. attribute:: wave_alignment + + How much the waves are aligned to each other (in [0, 1], default 0.0) + + :type: float + + .. attribute:: wave_direction + + Main direction of the waves when they are (partially) aligned (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: wave_scale + + Scale of the displacement effect (in [0, inf], default 1.0) + + :type: float + + .. attribute:: wave_scale_min + + Shortest allowed wavelength (in [0, inf], default 0.01) + + :type: float + + .. attribute:: wind_velocity + + Wind speed (in [-inf, inf], default 30.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Operator.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Operator.rst new file mode 100644 index 0000000..49b5a37 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Operator.rst @@ -0,0 +1,448 @@ +Operator(bpy_struct) +==================== + +.. currentmodule:: bpy.types + + +Basic Operator Example +++++++++++++++++++++++ + +This script shows simple operator which prints a message. + +Since the operator only has an :class:`Operator.execute` function it takes no +user input. + +The function should return ``{'FINISHED'}`` or ``{'CANCELLED'}``, the latter +meaning that operator execution was aborted without making any changes, and +that no undo step will created (see next example for more info about undo). + +.. note:: + + Operator subclasses must be registered before accessing them from Blender. + +.. literalinclude:: ./examples/bpy.types.Operator.0.py + :lines: 19- + + +.. _operator_modifying_blender_data_undo: + +Modifying Blender Data & Undo ++++++++++++++++++++++++++++++ + +Any operator modifying Blender data should enable the ``'UNDO'`` option. +This will make Blender automatically create an undo step when the operator +finishes its ``execute`` (or ``invoke``, see below) functions, and returns +``{'FINISHED'}``. + +Otherwise, no undo step will be created, which will at best corrupt the +undo stack and confuse the user (since modifications done by the operator +may either not be undoable, or be undone together with other edits done +before). In many cases, this can even lead to data corruption and crashes. + +Note that when an operator returns ``{'CANCELLED'}``, no undo step will be +created. This means that if an error occurs *after* modifying some data +already, it is better to return ``{'FINISHED'}``, unless it is possible to +fully undo the changes before returning. + +.. note:: + + Most examples in this page do not do any edit to Blender data, which is + why it is safe to keep the default ``bl_options`` value for these operators. + +.. note:: + + In some complex cases, the automatic undo step created on operator exit may + not be enough. For example, if the operator does mode switching, or calls + other operators that should create an extra undo step, etc. + + Such manual undo push is possible using the :class:`bpy.ops.ed.undo_push` + function. Be careful though, this is considered an advanced feature and + requires some understanding of the actual undo system in Blender code. + +.. literalinclude:: ./examples/bpy.types.Operator.1.py + :lines: 38- + + +Invoke Function ++++++++++++++++ + +:class:`Operator.invoke` is used to initialize the operator from the context +at the moment the operator is called. +invoke() is typically used to assign properties which are then used by +execute(). +Some operators don't have an execute() function, removing the ability to be +repeated from a script or macro. + +When an operator is called via :mod:`bpy.ops`, the execution context depends +on the argument provided to :mod:`bpy.ops`. By default, it uses execute(). +When an operator is activated from a button or menu item, it follows +the setting in :class:`UILayout.operator_context`. In most cases, invoke() is used. +Running an operator via a key shortcut always uses invoke(), +and this behavior cannot be changed. + +This example shows how to define an operator which gets mouse input to +execute a function and that this operator can be invoked or executed from +the Python API. + +Also notice this operator defines its own properties, these are different +to typical class properties because Blender registers them with the +operator, to use as arguments when called, saved for operator undo/redo and +automatically added into the user interface. + +.. literalinclude:: ./examples/bpy.types.Operator.2.py + :lines: 28- + + +Calling a File Selector ++++++++++++++++++++++++ +This example shows how an operator can use the file selector. + +Notice the invoke function calls a window manager method and returns +``{'RUNNING_MODAL'}``, this means the file selector stays open and the operator does not +exit immediately after invoke finishes. + +The file selector runs the operator, calling :class:`Operator.execute` when the +user confirms. + +The :class:`Operator.poll` function is optional, used to check if the operator +can run. + +.. literalinclude:: ./examples/bpy.types.Operator.3.py + :lines: 16- + + +Dialog Box +++++++++++ + +This operator uses its :class:`Operator.invoke` function to call a popup. + +.. literalinclude:: ./examples/bpy.types.Operator.4.py + :lines: 7- + + +Custom Drawing +++++++++++++++ + +By default operator properties use an automatic user interface layout. +If you need more control you can create your own layout with a +:class:`Operator.draw` function. + +This works like the :class:`Panel` and :class:`Menu` draw functions, its used +for dialogs and file selectors. + +.. literalinclude:: ./examples/bpy.types.Operator.5.py + :lines: 12- + + +.. _modal_operator: + +Modal Execution ++++++++++++++++ + +This operator defines a :class:`Operator.modal` function that will keep being +run to handle events until it returns ``{'FINISHED'}`` or ``{'CANCELLED'}``. + +Modal operators run every time a new event is detected, such as a mouse click +or key press. Conversely, when no new events are detected, the modal operator +will not run. Modal operators are especially useful for interactive tools, an +operator can have its own state where keys toggle options as the operator runs. +Grab, Rotate, Scale, and Fly-Mode are examples of modal operators. + +:class:`Operator.invoke` is used to initialize the operator as being active +by returning ``{'RUNNING_MODAL'}``, initializing the modal loop. + +Notice ``__init__()`` and ``__del__()`` are declared. +For other operator types they are not useful but for modal operators they will +be called before the :class:`Operator.invoke` and after the operator finishes. +Also see the +:ref:`class construction and destruction section `. + +.. literalinclude:: ./examples/bpy.types.Operator.6.py + :lines: 25- + + +Enum Search Popup ++++++++++++++++++ + +You may want to have an operator prompt the user to select an item +from a search field, this can be done using :class:`bpy.types.Operator.invoke_search_popup`. + +.. literalinclude:: ./examples/bpy.types.Operator.7.py + :lines: 8- + +base class --- :class:`bpy_struct` + +.. class:: Operator(bpy_struct) + + Storage of an operator being executed, or registered after execution + + .. attribute:: bl_cursor_pending + + Cursor to use when waiting for the user to select a location to activate the operator (when ``bl_options`` has ``DEPENDS_ON_CURSOR`` set) (default ``'DEFAULT'``) + + :type: Literal[:ref:`rna_enum_window_cursor_items`] + + .. attribute:: bl_description + + (default "", never None) + + :type: str + + .. attribute:: bl_idname + + (default "", never None) + + :type: str + + .. attribute:: bl_label + + (default "", never None) + + :type: str + + .. attribute:: bl_options + + Options for this operator type (default set()) + + :type: set[Literal[:ref:`rna_enum_operator_type_flag_items`]] + + .. attribute:: bl_translation_context + + (default "Operator", never None) + + :type: str + + .. attribute:: bl_undo_group + + (default "", never None) + + :type: str + + .. data:: has_reports + + Operator has a set of reports (warnings and errors) from last execution (default False, readonly) + + :type: bool + + .. data:: layout + + (readonly) + + :type: :class:`UILayout` | None + + .. data:: macros + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Macro`] + + .. data:: name + + (default "", readonly, never None) + + :type: str + + .. data:: options + + Runtime options (readonly, never None) + + :type: :class:`OperatorOptions` + + .. data:: properties + + (readonly, never None) + + :type: :class:`OperatorProperties` + + .. attribute:: bl_property + + The name of a property to use as this operators primary property. + Currently this is only used to select the default property when + expanding an operator into a menu. + + :type: str + + .. method:: report(type, message) + + report + + :param type: Type + :type type: set[Literal[:ref:`rna_enum_wm_report_items`]] + :param message: Report Message, (never None) + :type message: str + + .. method:: is_repeat() + + is_repeat + + :return: result + :rtype: bool + + .. classmethod:: poll(context) + + Test if the operator can be called or not + + :param context: (never None) + :type context: :class:`Context` | None + :rtype: bool + + .. method:: execute(context) + + Execute the operator + + :param context: (never None) + :type context: :class:`Context` | None + :return: result + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + + .. method:: check(context) + + Check the operator settings, return True to signal a change to redraw + + :param context: (never None) + :type context: :class:`Context` | None + :return: result + :rtype: bool + + .. method:: invoke(context, event) + + Invoke the operator + + :param context: (never None) + :type context: :class:`Context` | None + :param event: (never None) + :type event: :class:`Event` | None + :return: result + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + + .. method:: modal(context, event) + + Modal operator function + + :param context: (never None) + :type context: :class:`Context` | None + :param event: (never None) + :type event: :class:`Event` | None + :return: result + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + + .. method:: draw(context) + + Draw function for the operator + + :param context: (never None) + :type context: :class:`Context` | None + + .. method:: cancel(context) + + Called when the operator is canceled + + :param context: (never None) + :type context: :class:`Context` | None + + .. classmethod:: description(context, properties) + + Compute a description string that depends on parameters + + :param context: (never None) + :type context: :class:`Context` | None + :param properties: (never None) + :type properties: :class:`OperatorProperties` | None + :return: result + :rtype: str + + .. method:: as_keywords(*, ignore=()) + + :return: A copy of the properties as a dictionary. + :rtype: dict[str, Any] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + + .. classmethod:: poll_message_set(message, *args) + + Set the message to show in the tool-tip when poll fails. + + When message is callable, additional user defined positional arguments are passed to the message function. + + :param message: The message or a function that returns the message. + :type message: str | Callable[..., str | None] + :param args: A sequence of arguments to pass to ``message``, if it's a callable, otherwise argument is not available. + :type args: Any + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_operator` + - :class:`SpaceFileBrowser.active_operator` + - :class:`SpaceFileBrowser.operator` + - :class:`Window.modal_operators` + - :class:`WindowManager.fileselect_add` + - :class:`WindowManager.invoke_confirm` + - :class:`WindowManager.invoke_popup` + - :class:`WindowManager.invoke_props_dialog` + - :class:`WindowManager.invoke_props_popup` + - :class:`WindowManager.invoke_search_popup` + - :class:`WindowManager.modal_handler_add` + - :class:`WindowManager.operators` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorFileListElement.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorFileListElement.rst new file mode 100644 index 0000000..03e4be9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorFileListElement.rst @@ -0,0 +1,79 @@ +OperatorFileListElement(PropertyGroup) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`PropertyGroup` + +.. class:: OperatorFileListElement(PropertyGroup) + + + .. attribute:: name + + Name of a file or directory within a file list (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`PropertyGroup.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`PropertyGroup.bl_system_properties_get` + - :class:`PropertyGroup.bl_rna_get_subclass` + - :class:`PropertyGroup.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorMacro.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorMacro.rst new file mode 100644 index 0000000..0d307f8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorMacro.rst @@ -0,0 +1,76 @@ +OperatorMacro(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: OperatorMacro(bpy_struct) + + Storage of a sub operator in a macro after it has been added + + .. data:: properties + + (readonly, never None) + + :type: :class:`OperatorProperties` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorMousePath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorMousePath.rst new file mode 100644 index 0000000..4f6880e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorMousePath.rst @@ -0,0 +1,86 @@ +OperatorMousePath(PropertyGroup) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`PropertyGroup` + +.. class:: OperatorMousePath(PropertyGroup) + + Mouse path values for operators that record such paths + + .. attribute:: loc + + Mouse location (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: time + + Time of mouse location (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`PropertyGroup.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`PropertyGroup.bl_system_properties_get` + - :class:`PropertyGroup.bl_rna_get_subclass` + - :class:`PropertyGroup.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorOptions.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorOptions.rst new file mode 100644 index 0000000..2df3524 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorOptions.rst @@ -0,0 +1,108 @@ +OperatorOptions(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: OperatorOptions(bpy_struct) + + Runtime options + + .. data:: is_grab_cursor + + True when the cursor is grabbed (default False, readonly) + + :type: bool + + .. data:: is_invoke + + True when invoked (even if only the execute callbacks available) (default False, readonly) + + :type: bool + + .. data:: is_repeat + + True when run from the 'Adjust Last Operation' panel (default False, readonly) + + :type: bool + + .. data:: is_repeat_last + + True when run from the operator 'Repeat Last' (default False, readonly) + + :type: bool + + .. attribute:: use_cursor_region + + Enable to use the region under the cursor for modal execution (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Operator.options` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorProperties.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorProperties.rst new file mode 100644 index 0000000..1059ebe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorProperties.rst @@ -0,0 +1,101 @@ +OperatorProperties(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: OperatorProperties(bpy_struct) + + Input properties of an operator + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Gizmo.target_set_operator` + - :class:`KeyConfigurations.find_item_from_operator` + - :class:`KeyMapItem.properties` + - :class:`KeyMapItems.find_from_operator` + - :class:`Macro.properties` + - :class:`Operator.description` + - :class:`Operator.properties` + - :class:`OperatorMacro.properties` + - :class:`UILayout.operator` + - :class:`UILayout.operator_menu_enum` + - :class:`UILayout.operator_menu_hold` + - :class:`UILayout.template_popup_confirm` + - :class:`WindowManager.operator_properties_last` + - :class:`WorkSpaceTool.operator_properties` + - :class:`XrActionMapItem.op_properties` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorStrokeElement.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorStrokeElement.rst new file mode 100644 index 0000000..aff7032 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.OperatorStrokeElement.rst @@ -0,0 +1,127 @@ +OperatorStrokeElement(PropertyGroup) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`PropertyGroup` + +.. class:: OperatorStrokeElement(PropertyGroup) + + + .. attribute:: is_start + + (default False) + + :type: bool + + .. attribute:: location + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: mouse + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: mouse_event + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: pressure + + Tablet pressure (in [0, 1], default 0.0) + + :type: float + + .. attribute:: size + + Brush size in screen space (in [0, inf], default 0.0) + + :type: float + + .. attribute:: time + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: x_tilt + + Pen tilt from left (-1.0) to right (+1.0) (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: y_tilt + + Pen tilt from backward (-1.0) to forward (+1.0) (in [-1, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`PropertyGroup.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`PropertyGroup.bl_system_properties_get` + - :class:`PropertyGroup.bl_rna_get_subclass` + - :class:`PropertyGroup.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PARTICLE_UL_particle_systems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PARTICLE_UL_particle_systems.rst new file mode 100644 index 0000000..82420f4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PARTICLE_UL_particle_systems.rst @@ -0,0 +1,92 @@ +PARTICLE_UL_particle_systems(UIList) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: PARTICLE_UL_particle_systems(UIList) + + + .. method:: draw_item(_context, layout, data, item, icon, _active_data, _active_propname, _index, _flt_flag) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PHYSICS_UL_dynapaint_surfaces.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PHYSICS_UL_dynapaint_surfaces.rst new file mode 100644 index 0000000..a8b3c53 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PHYSICS_UL_dynapaint_surfaces.rst @@ -0,0 +1,92 @@ +PHYSICS_UL_dynapaint_surfaces(UIList) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: PHYSICS_UL_dynapaint_surfaces(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.POINTCLOUD_UL_attributes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.POINTCLOUD_UL_attributes.rst new file mode 100644 index 0000000..f0240ef --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.POINTCLOUD_UL_attributes.rst @@ -0,0 +1,94 @@ +POINTCLOUD_UL_attributes(UIList) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: POINTCLOUD_UL_attributes(UIList) + + + .. method:: draw_item(_context, layout, _data, attribute, _icon, _active_data, _active_propname, _index) + + .. method:: filter_items(_context, data, property) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.POSE_UL_selection_set.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.POSE_UL_selection_set.rst new file mode 100644 index 0000000..42099d4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.POSE_UL_selection_set.rst @@ -0,0 +1,92 @@ +POSE_UL_selection_set(UIList) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: POSE_UL_selection_set(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PackedFile.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PackedFile.rst new file mode 100644 index 0000000..b474808 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PackedFile.rst @@ -0,0 +1,95 @@ +PackedFile(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PackedFile(bpy_struct) + + External file packed into the .blend file + + .. data:: data + + Raw data (bytes, exact content of the embedded file) (default b"", readonly, never None) + + :type: bytes + + .. data:: size + + Size of packed file in bytes (in [-inf, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Image.packed_file` + - :class:`ImagePackedFile.packed_file` + - :class:`Library.packed_file` + - :class:`Sound.packed_file` + - :class:`VectorFont.packed_file` + - :class:`Volume.packed_file` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Paint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Paint.rst new file mode 100644 index 0000000..d1549a2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Paint.rst @@ -0,0 +1,216 @@ +Paint(bpy_struct) +================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`CurvesSculpt`, :class:`GpPaint`, :class:`GpSculptPaint`, :class:`GpVertexPaint`, :class:`GpWeightPaint`, :class:`ImagePaint`, :class:`Sculpt`, :class:`VertexPaint` + +.. class:: Paint(bpy_struct) + + + .. data:: brush + + Active brush (readonly) + + :type: :class:`Brush` | None + + .. data:: brush_asset_reference + + A weak reference to the matching brush asset, used e.g. to restore the last used brush on file load (readonly) + + :type: :class:`AssetWeakReference` | None + + .. data:: cavity_curve + + Editable cavity curve (readonly, never None) + + :type: :class:`CurveMapping` + + .. attribute:: eraser_brush + + Default eraser brush for quickly alternating with the main brush + + :type: :class:`Brush` | None + + .. data:: eraser_brush_asset_reference + + A weak reference to the matching brush asset, used e.g. to restore the last used brush on file load (readonly) + + :type: :class:`AssetWeakReference` | None + + .. attribute:: palette + + Active Palette + + :type: :class:`Palette` | None + + .. attribute:: show_brush + + (default True) + + :type: bool + + .. attribute:: show_brush_on_surface + + (default False) + + :type: bool + + .. attribute:: show_bvh_nodes + + Show the underlying BVH nodes as differently colored faces (default False) + + :type: bool + + .. attribute:: show_jitter_curve + + (default False) + + :type: bool + + .. attribute:: show_low_resolution + + For multires, show low resolution while navigating the view (default False) + + :type: bool + + .. attribute:: show_size_curve + + (default False) + + :type: bool + + .. attribute:: show_strength_curve + + (default False) + + :type: bool + + .. attribute:: tile_offset + + Stride at which tiled strokes are copied (array of 3 items, in [0.01, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: tile_x + + Tile along X axis (default False) + + :type: bool + + .. attribute:: tile_y + + Tile along Y axis (default False) + + :type: bool + + .. attribute:: tile_z + + Tile along Z axis (default False) + + :type: bool + + .. data:: unified_paint_settings + + (readonly, never None) + + :type: :class:`UnifiedPaintSettings` + + .. attribute:: use_cavity + + Mask painting according to mesh geometry cavity (default False) + + :type: bool + + .. attribute:: use_sculpt_delay_updates + + Update the geometry when it enters the view, providing faster view navigation (default False) + + :type: bool + + .. attribute:: use_symmetry_feather + + Reduce the strength of the brush where it overlaps symmetrical daubs (default True) + + :type: bool + + .. attribute:: use_symmetry_x + + Mirror brush across the X axis (default False) + + :type: bool + + .. attribute:: use_symmetry_y + + Mirror brush across the Y axis (default False) + + :type: bool + + .. attribute:: use_symmetry_z + + Mirror brush across the Z axis (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaintCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaintCurve.rst new file mode 100644 index 0000000..cf1f521 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaintCurve.rst @@ -0,0 +1,118 @@ +PaintCurve(ID) +============== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: PaintCurve(ID) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.paint_curves` + - :class:`Brush.paint_curve` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaintModeSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaintModeSettings.rst new file mode 100644 index 0000000..d9476b6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaintModeSettings.rst @@ -0,0 +1,90 @@ +PaintModeSettings(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PaintModeSettings(bpy_struct) + + Properties of paint mode + + .. attribute:: canvas_image + + Image used as painting target + + :type: :class:`Image` | None + + .. attribute:: canvas_source + + Source to select canvas from (default ``'MATERIAL'``) + + :type: Literal['COLOR_ATTRIBUTE', 'MATERIAL', 'IMAGE'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.paint_mode` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Palette.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Palette.rst new file mode 100644 index 0000000..f2f3db6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Palette.rst @@ -0,0 +1,126 @@ +Palette(ID) +=========== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Palette(ID) + + + .. data:: colors + + (default None, readonly) + + :type: :class:`PaletteColors`\ [:class:`PaletteColor`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.palettes` + - :class:`BlendDataPalettes.new` + - :class:`BlendDataPalettes.remove` + - :class:`Paint.palette` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaletteColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaletteColor.rst new file mode 100644 index 0000000..69f3826 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaletteColor.rst @@ -0,0 +1,98 @@ +PaletteColor(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PaletteColor(bpy_struct) + + + .. attribute:: color + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: strength + + (in [0, 1], default 0.0) + + :type: float + + .. attribute:: weight + + (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Palette.colors` + - :class:`PaletteColors.active` + - :class:`PaletteColors.new` + - :class:`PaletteColors.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaletteColors.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaletteColors.rst new file mode 100644 index 0000000..2a7a5b4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PaletteColors.rst @@ -0,0 +1,101 @@ +PaletteColors(bpy_prop_collection) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: PaletteColors(bpy_prop_collection) + + Collection of palette colors + + .. attribute:: active + + :type: :class:`PaletteColor` | None + + .. method:: new() + + Add a new color to the palette + + :return: The newly created color + :rtype: :class:`PaletteColor` + + .. method:: remove(color) + + Remove a color from the palette + + :param color: The color to remove (never None) + :type color: :class:`PaletteColor` | None + + .. method:: clear() + + Remove all colors from the palette + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Palette.colors` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Panel.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Panel.rst new file mode 100644 index 0000000..d0dbf4e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Panel.rst @@ -0,0 +1,268 @@ +Panel(bpy_struct) +================= + +.. currentmodule:: bpy.types + + +Basic Panel Example ++++++++++++++++++++ + +This script is a simple panel which will draw into the object properties +section. + +Notice the 'CATEGORY_PT_name' :class:`Panel.bl_idname`, this is a naming +convention for panels. + +.. note:: + + Panel subclasses must be registered for Blender to use them. + +.. literalinclude:: ./examples/bpy.types.Panel.0.py + :lines: 15- + + +Simple Object Panel ++++++++++++++++++++ + +This panel has a :class:`Panel.poll` and :class:`Panel.draw_header` function, +even though the contents is basic this closely resembles blenders panels. + +.. literalinclude:: ./examples/bpy.types.Panel.1.py + :lines: 8- + + +Mix-in Classes +++++++++++++++ +A mix-in parent class can be used to share common properties and +:class:`Menu.poll` function. + +.. literalinclude:: ./examples/bpy.types.Panel.2.py + :lines: 7- + +base class --- :class:`bpy_struct` + +.. class:: Panel(bpy_struct) + + Panel containing UI elements + + .. attribute:: bl_category + + The category (tab) in which the panel will be displayed, when applicable (default "", never None) + + :type: str + + .. attribute:: bl_context + + The context in which the panel belongs to. (TODO: explain the possible combinations bl_context/bl_region_type/bl_space_type) (default "", never None) + + :type: str + + .. attribute:: bl_description + + The panel tooltip (default "") + + :type: str + + .. attribute:: bl_idname + + If this is set, the panel gets a custom ID, otherwise it takes the name of the class used to define the panel. For example, if the class name is "OBJECT_PT_hello", and bl_idname is not set by the script, then bl_idname = "OBJECT_PT_hello". (default "", never None) + + :type: str + + .. attribute:: bl_label + + The panel label, shows up in the panel header at the right of the triangle used to collapse the panel (default "", never None) + + :type: str + + .. attribute:: bl_options + + Options for this panel type (default set()) + + - ``DEFAULT_CLOSED`` + Default Closed -- Defines if the panel has to be open or collapsed at the time of its creation. + - ``HIDE_HEADER`` + Hide Header -- If set to False, the panel shows a header, which contains a clickable arrow to collapse the panel and the label (see bl_label). + - ``INSTANCED`` + Instanced Panel -- Multiple panels with this type can be used as part of a list depending on data external to the UI. Used to create panels for the modifiers and other stacks.. + - ``HEADER_LAYOUT_EXPAND`` + Expand Header Layout -- Allow buttons in the header to stretch and shrink to fill the entire layout width. + + :type: set[Literal['DEFAULT_CLOSED', 'HIDE_HEADER', 'INSTANCED', 'HEADER_LAYOUT_EXPAND']] + + .. attribute:: bl_order + + Panels with lower numbers are default ordered before panels with higher numbers (in [0, inf], default 0) + + :type: int + + .. attribute:: bl_owner_id + + The ID owning the data displayed in the panel, if any (default "", never None) + + :type: str + + .. attribute:: bl_parent_id + + If this is set, the panel becomes a sub-panel (default "", never None) + + :type: str + + .. attribute:: bl_region_type + + The region where the panel is going to be used in (default ``'WINDOW'``) + + :type: Literal[:ref:`rna_enum_region_type_items`] + + .. attribute:: bl_space_type + + The space where the panel is going to be used in (default ``'EMPTY'``) + + :type: Literal[:ref:`rna_enum_space_type_items`] + + .. attribute:: bl_translation_context + + Specific translation context, only define when the label needs to be disambiguated from others using the exact same label (default "*", never None) + + :type: str + + .. attribute:: bl_ui_units_x + + When set, defines popup panel width (in [0, inf], default 0) + + :type: int + + .. data:: custom_data + + Panel data (readonly) + + :type: :class:`Constraint` | None + + .. data:: is_popover + + (default False, readonly) + + :type: bool + + .. data:: layout + + Defines the structure of the panel in the UI (readonly) + + :type: :class:`UILayout` | None + + .. attribute:: text + + Override for the panel label in the UI (default "", never None) + + :type: str + + .. attribute:: use_pin + + Show the panel on all tabs (default False) + + :type: bool + + .. classmethod:: poll(context) + + If this method returns a non-null output, then the panel can be drawn + + :param context: (never None) + :type context: :class:`Context` | None + :rtype: bool + + .. method:: draw(context) + + Draw UI elements into the panel UI layout + + :param context: (never None) + :type context: :class:`Context` | None + + .. method:: draw_header(context) + + Draw UI elements into the panel's header UI layout + + :param context: (never None) + :type context: :class:`Context` | None + + .. method:: draw_header_preset(context) + + Draw UI elements for presets in the panel's header + + :param context: (never None) + :type context: :class:`Context` | None + + .. classmethod:: append(draw_func) + + Append a draw function to this menu, + takes the same arguments as the menus draw function + + .. classmethod:: is_extended() + + .. classmethod:: prepend(draw_func) + + Prepend a draw function to this menu, takes the same arguments as + the menus draw function + + .. classmethod:: remove(draw_func) + + Remove a draw function that has been added to this menu. + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Particle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Particle.rst new file mode 100644 index 0000000..264bcc8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Particle.rst @@ -0,0 +1,193 @@ +Particle(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Particle(bpy_struct) + + Particle in a particle system + + .. attribute:: alive_state + + (default ``'DEAD'``) + + :type: Literal['DEAD', 'UNBORN', 'ALIVE', 'DYING'] + + .. attribute:: angular_velocity + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: birth_time + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: die_time + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: hair_keys + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ParticleHairKey`] + + .. data:: is_exist + + (default True, readonly) + + :type: bool + + .. data:: is_visible + + (default True, readonly) + + :type: bool + + .. attribute:: lifetime + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: location + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: particle_keys + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ParticleKey`] + + .. attribute:: prev_angular_velocity + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: prev_location + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: prev_rotation + + (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. attribute:: prev_velocity + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: rotation + + (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. attribute:: size + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: velocity + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. method:: uv_on_emitter(modifier) + + Obtain UV coordinates for a particle on an evaluated mesh. + + :param modifier: Particle modifier from an evaluated object (never None) + :type modifier: :class:`ParticleSystemModifier` | None + :return: uv, (array of 2 items, in [-inf, inf]) + :rtype: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ParticleHairKey.co_object` + - :class:`ParticleHairKey.co_object_set` + - :class:`ParticleSystem.mcol_on_emitter` + - :class:`ParticleSystem.particles` + - :class:`ParticleSystem.uv_on_emitter` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleBrush.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleBrush.rst new file mode 100644 index 0000000..fffbee3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleBrush.rst @@ -0,0 +1,136 @@ +ParticleBrush(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ParticleBrush(bpy_struct) + + Particle editing brush + + .. attribute:: count + + Particle count (in [1, 1000], default 10) + + :type: int + + .. data:: curve + + (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: length_mode + + (default ``'GROW'``) + + - ``GROW`` + Grow -- Make hairs longer. + - ``SHRINK`` + Shrink -- Make hairs shorter. + + :type: Literal['GROW', 'SHRINK'] + + .. attribute:: puff_mode + + (default ``'ADD'``) + + - ``ADD`` + Add -- Make hairs more puffy. + - ``SUB`` + Sub -- Make hairs less puffy. + + :type: Literal['ADD', 'SUB'] + + .. attribute:: size + + Radius of the brush in pixels (in [1, 32767], default 50) + + :type: int + + .. attribute:: steps + + Brush steps (in [1, 32767], default 10) + + :type: int + + .. attribute:: strength + + Brush strength (in [0.001, 1], default 0.5) + + :type: float + + .. attribute:: use_puff_volume + + Apply puff to unselected end-points (helps maintain hair volume when puffing root) (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ParticleEdit.brush` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleDupliWeight.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleDupliWeight.rst new file mode 100644 index 0000000..4ae35c2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleDupliWeight.rst @@ -0,0 +1,91 @@ +ParticleDupliWeight(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ParticleDupliWeight(bpy_struct) + + Weight of a particle instance object in a collection + + .. attribute:: count + + The number of times this object is repeated with respect to other objects (in [0, 32767], default 0) + + :type: int + + .. data:: name + + Particle instance object name (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ParticleSettings.active_instanceweight` + - :class:`ParticleSettings.instance_weights` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleEdit.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleEdit.rst new file mode 100644 index 0000000..71330df --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleEdit.rst @@ -0,0 +1,214 @@ +ParticleEdit(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ParticleEdit(bpy_struct) + + Properties of particle editing mode + + .. data:: brush + + (readonly) + + :type: :class:`ParticleBrush` | None + + .. attribute:: default_key_count + + How many keys to make new particles with (in [2, 32767], default 5) + + :type: int + + .. attribute:: display_step + + How many steps to display the path with (in [1, 10], default 2) + + :type: int + + .. attribute:: emitter_distance + + Distance to keep particles away from the emitter (in [-inf, inf], default 0.25) + + :type: float + + .. attribute:: fade_frames + + How many frames to fade (in [1, 100], default 2) + + :type: int + + .. data:: is_editable + + A valid edit mode exists (default False, readonly) + + :type: bool + + .. data:: is_hair + + Editing hair (default False, readonly) + + :type: bool + + .. data:: object + + The edited object (readonly) + + :type: :class:`Object` | None + + .. attribute:: select_mode + + Particle select and display mode (default ``'PATH'``) + + - ``PATH`` + Path -- Path edit mode. + - ``POINT`` + Point -- Point select mode. + - ``TIP`` + Tip -- Tip select mode. + + :type: Literal['PATH', 'POINT', 'TIP'] + + .. attribute:: shape_object + + Outer shape to use for tools + + :type: :class:`Object` | None + + .. attribute:: show_particles + + Display actual particles (default False) + + :type: bool + + .. attribute:: tool + + (default ``'COMB'``) + + - ``COMB`` + Comb -- Comb hairs. + - ``SMOOTH`` + Smooth -- Smooth hairs. + - ``ADD`` + Add -- Add hairs. + - ``LENGTH`` + Length -- Make hairs longer or shorter. + - ``PUFF`` + Puff -- Make hairs stand up. + - ``CUT`` + Cut -- Cut hairs. + - ``WEIGHT`` + Weight -- Weight hair particles. + + :type: Literal['COMB', 'SMOOTH', 'ADD', 'LENGTH', 'PUFF', 'CUT', 'WEIGHT'] + + .. attribute:: type + + (default ``'PARTICLES'``) + + :type: Literal['PARTICLES', 'SOFT_BODY', 'CLOTH'] + + .. attribute:: use_auto_velocity + + Calculate point velocities automatically (default True) + + :type: bool + + .. attribute:: use_default_interpolate + + Interpolate new particles from the existing ones (default False) + + :type: bool + + .. attribute:: use_emitter_deflect + + Keep paths from intersecting the emitter (default True) + + :type: bool + + .. attribute:: use_fade_time + + Fade paths and keys further away from current frame (default False) + + :type: bool + + .. attribute:: use_preserve_length + + Keep path lengths constant (default True) + + :type: bool + + .. attribute:: use_preserve_root + + Keep root keys unmodified (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.particle_edit` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleHairKey.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleHairKey.rst new file mode 100644 index 0000000..d740475 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleHairKey.rst @@ -0,0 +1,128 @@ +ParticleHairKey(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ParticleHairKey(bpy_struct) + + Particle key for hair particle system + + .. attribute:: co + + Location of the hair key in object space (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: co_local + + Location of the hair key in its local coordinate system, relative to the emitting face (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: time + + Relative time of key over hair length (in [0, inf], default 0.0) + + :type: float + + .. attribute:: weight + + Weight for cloth simulation (in [0, 1], default 0.0) + + :type: float + + .. method:: co_object(object, modifier, particle) + + Obtain hairkey location with particle and modifier data + + :param object: Object (never None) + :type object: :class:`Object` | None + :param modifier: Particle modifier (never None) + :type modifier: :class:`ParticleSystemModifier` | None + :param particle: hair particle (never None) + :type particle: :class:`Particle` | None + :return: Co, Exported hairkey location (array of 3 items, in [-inf, inf]) + :rtype: :class:`mathutils.Vector` + + .. method:: co_object_set(object, modifier, particle, co) + + Set hairkey location with particle and modifier data + + :param object: Object (never None) + :type object: :class:`Object` | None + :param modifier: Particle modifier (never None) + :type modifier: :class:`ParticleSystemModifier` | None + :param particle: hair particle (never None) + :type particle: :class:`Particle` | None + :param co: Co, Specified hairkey location (array of 3 items, in [-inf, inf]) + :type co: :class:`mathutils.Vector` | Sequence[float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Particle.hair_keys` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleInstanceModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleInstanceModifier.rst new file mode 100644 index 0000000..fa6e8e6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleInstanceModifier.rst @@ -0,0 +1,214 @@ +ParticleInstanceModifier(Modifier) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: ParticleInstanceModifier(Modifier) + + Particle system instancing modifier + + .. attribute:: axis + + Pole axis for rotation (default ``'Z'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: index_layer_name + + Custom data layer name for the index (default "", never None) + + :type: str + + .. attribute:: object + + Object that has the particle system + + :type: :class:`Object` | None + + .. attribute:: particle_amount + + Amount of particles to use for instancing (in [0, 1], default 1.0) + + :type: float + + .. attribute:: particle_offset + + Relative offset of particles to use for instancing, to avoid overlap of multiple instances (in [0, 1], default 0.0) + + :type: float + + .. attribute:: particle_system + + :type: :class:`ParticleSystem` | None + + .. attribute:: particle_system_index + + (in [1, 32767], default 1) + + :type: int + + .. attribute:: position + + Position along path (in [0, 1], default 1.0) + + :type: float + + .. attribute:: random_position + + Randomize position along path (in [0, 1], default 0.0) + + :type: float + + .. attribute:: random_rotation + + Randomize rotation around path (in [0, 1], default 0.0) + + :type: float + + .. attribute:: rotation + + Rotation around path (in [0, 1], default 0.0) + + :type: float + + .. attribute:: show_alive + + Show instances when particles are alive (default True) + + :type: bool + + .. attribute:: show_dead + + Show instances when particles are dead (default True) + + :type: bool + + .. attribute:: show_unborn + + Show instances when particles are unborn (default True) + + :type: bool + + .. attribute:: space + + Space to use for copying mesh data (default ``'WORLD'``) + + - ``LOCAL`` + Local -- Use offset from the particle object in the instance object. + - ``WORLD`` + World -- Use world space offset in the instance object. + + :type: Literal['LOCAL', 'WORLD'] + + .. attribute:: use_children + + Create instances from child particles (default False) + + :type: bool + + .. attribute:: use_normal + + Create instances from normal particles (default True) + + :type: bool + + .. attribute:: use_path + + Create instances along particle paths (default False) + + :type: bool + + .. attribute:: use_preserve_shape + + Don't stretch the object (default False) + + :type: bool + + .. attribute:: use_size + + Use particle size to scale the instances (default False) + + :type: bool + + .. attribute:: value_layer_name + + Custom data layer name for the randomized value (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleKey.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleKey.rst new file mode 100644 index 0000000..4e19d94 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleKey.rst @@ -0,0 +1,108 @@ +ParticleKey(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ParticleKey(bpy_struct) + + Key location for a particle over time + + .. attribute:: angular_velocity + + Key angular velocity (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: location + + Key location (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: rotation + + Key rotation quaternion (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. attribute:: time + + Time of key over the simulation (in [0, inf], default 0.0) + + :type: float + + .. attribute:: velocity + + Key velocity (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Particle.particle_keys` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSettings.rst new file mode 100644 index 0000000..0cd82f7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSettings.rst @@ -0,0 +1,1124 @@ +ParticleSettings(ID) +==================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: ParticleSettings(ID) + + Particle settings, reusable by multiple particle systems + + .. data:: active_instanceweight + + (readonly) + + :type: :class:`ParticleDupliWeight` | None + + .. attribute:: active_instanceweight_index + + (in [0, inf], default 0) + + :type: int + + .. attribute:: active_texture + + Active texture slot being displayed + + :type: :class:`Texture` | None + + .. attribute:: active_texture_index + + Index of active texture slot (in [0, 17], default 0) + + :type: int + + .. attribute:: adaptive_angle + + How many degrees path has to curve to make another render segment (in [0, 45], default 5) + + :type: int + + .. attribute:: adaptive_pixel + + How many pixels path has to cover to make another render segment (in [0, 50], default 3) + + :type: int + + .. attribute:: angular_velocity_factor + + Angular velocity amount (in radians per second) (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: angular_velocity_mode + + What axis is used to change particle rotation with time (default ``'VELOCITY'``) + + :type: Literal['NONE', 'VELOCITY', 'HORIZONTAL', 'VERTICAL', 'GLOBAL_X', 'GLOBAL_Y', 'GLOBAL_Z', 'RAND'] + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: apply_effector_to_children + + Apply effectors to children (default False) + + :type: bool + + .. attribute:: apply_guide_to_children + + (default False) + + :type: bool + + .. attribute:: bending_random + + Random stiffness of hairs (in [0, 1], default 0.0) + + :type: float + + .. data:: boids + + (readonly) + + :type: :class:`BoidSettings` | None + + .. attribute:: branch_threshold + + Threshold of branching (in [0, 1], default 0.0) + + :type: float + + .. attribute:: brownian_factor + + Amount of random, erratic particle movement (in [0, 200], default 0.0) + + :type: float + + .. attribute:: child_length + + Length of child paths (in [0, 1], default 1.0) + + :type: float + + .. attribute:: child_length_threshold + + Amount of particles left untouched by child path length (in [0, 1], default 0.0) + + :type: float + + .. attribute:: child_parting_factor + + Create parting in the children based on parent strands (in [0, 1], default 0.0) + + :type: float + + .. attribute:: child_parting_max + + Maximum root to tip angle (tip distance/root distance for long hair) (in [0, 180], default 0.0) + + :type: float + + .. attribute:: child_parting_min + + Minimum root to tip angle (tip distance/root distance for long hair) (in [0, 180], default 0.0) + + :type: float + + .. attribute:: child_percent + + Number of children per parent (in [0, 100000], default 10) + + :type: int + + .. attribute:: child_radius + + Radius of children around parent (in [0, 100000], default 0.2) + + :type: float + + .. attribute:: child_roundness + + Roundness of children around parent (in [0, 1], default 0.0) + + :type: float + + .. attribute:: child_size + + A multiplier for the child particle size (in [0.001, 100000], default 1.0) + + :type: float + + .. attribute:: child_size_random + + Random variation to the size of the child particles (in [0, 1], default 0.0) + + :type: float + + .. attribute:: child_type + + Create child particles (default ``'NONE'``) + + :type: Literal['NONE', 'SIMPLE', 'INTERPOLATED'] + + .. data:: clump_curve + + Curve defining clump tapering (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: clump_factor + + Amount of clumping (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: clump_noise_size + + Size of clump noise (in [1e-05, 100000], default 1.0) + + :type: float + + .. attribute:: clump_shape + + Shape of clumping (in [-0.999, 0.999], default 0.0) + + :type: float + + .. attribute:: collision_collection + + Limit colliders to this collection + + :type: :class:`Collection` | None + + .. attribute:: color_maximum + + Maximum length of the particle color vector (in [0.01, 100], default 1.0) + + :type: float + + .. attribute:: count + + Total number of particles (in [0, inf], default 1000) + + :type: int + + .. attribute:: courant_target + + The relative distance a particle can move before requiring more subframes (target Courant number); 0.01 to 0.3 is the recommended range (in [0.0001, 10], default 0.2) + + :type: float + + .. attribute:: create_long_hair_children + + Calculate children that suit long hair well (default False) + + :type: bool + + .. attribute:: damping + + Amount of damping (in [0, 1], default 0.0) + + :type: float + + .. attribute:: display_color + + Display additional particle data as a color (default ``'MATERIAL'``) + + :type: Literal['NONE', 'MATERIAL', 'VELOCITY', 'ACCELERATION'] + + .. attribute:: display_method + + How particles are displayed in viewport (default ``'RENDER'``) + + :type: Literal['NONE', 'RENDER', 'DOT', 'CIRC', 'CROSS', 'AXIS'] + + .. attribute:: display_percentage + + Percentage of particles to display in 3D view (in [0, 100], default 100) + + :type: int + + .. attribute:: display_size + + Size of particles on viewport (in [0, 1000], default 0.1) + + :type: float + + .. attribute:: display_step + + How many steps paths are displayed with (power of 2) (in [0, 10], default 2) + + :type: int + + .. attribute:: distribution + + How to distribute particles on selected element (default ``'JIT'``) + + :type: Literal['JIT', 'RAND', 'GRID'] + + .. attribute:: drag_factor + + Amount of air drag (in [0, 1], default 0.0) + + :type: float + + .. attribute:: effect_hair + + Hair stiffness for effectors (in [0, 1], default 0.0) + + :type: float + + .. attribute:: effector_amount + + How many particles are effectors (0 is all particles) (in [0, 10000], default 0) + + :type: int + + .. data:: effector_weights + + (readonly) + + :type: :class:`EffectorWeights` | None + + .. attribute:: emit_from + + Where to emit particles from (default ``'FACE'``) + + :type: Literal['VERT', 'FACE', 'VOLUME'] + + .. attribute:: factor_random + + Give the starting velocity a random variation (in [0, 200], default 0.0) + + :type: float + + .. data:: fluid + + (readonly) + + :type: :class:`SPHFluidSettings` | None + + .. data:: force_field_1 + + (readonly) + + :type: :class:`FieldSettings` | None + + .. data:: force_field_2 + + (readonly) + + :type: :class:`FieldSettings` | None + + .. attribute:: frame_end + + Frame number to stop emitting particles (in [-1.04857e+06, 1.04857e+06], default 200.0) + + :type: float + + .. attribute:: frame_start + + Frame number to start emitting particles (in [-1.04857e+06, 1.04857e+06], default 1.0) + + :type: float + + .. attribute:: grid_random + + Add random offset to the grid locations (in [0, 1], default 0.0) + + :type: float + + .. attribute:: grid_resolution + + The resolution of the particle grid (in [1, 250], default 10) + + :type: int + + .. attribute:: hair_length + + Length of the hair (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: hair_step + + Number of hair segments (in [2, 32767], default 5) + + :type: int + + .. attribute:: hexagonal_grid + + Create the grid in a hexagonal pattern (default False) + + :type: bool + + .. attribute:: instance_collection + + Show objects in this collection in place of particles + + :type: :class:`Collection` | None + + .. attribute:: instance_object + + Show this object in place of particles + + :type: :class:`Object` | None + + .. data:: instance_weights + + Weights for all of the objects in the instance collection (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ParticleDupliWeight`] + + .. attribute:: integrator + + Algorithm used to calculate physics, from the fastest to the most stable and accurate: Midpoint, Euler, Verlet, RK4 (default ``'MIDPOINT'``) + + :type: Literal['EULER', 'VERLET', 'MIDPOINT', 'RK4'] + + .. attribute:: invert_grid + + Invert what is considered object and what is not (default False) + + :type: bool + + .. data:: is_fluid + + Particles were created by a fluid simulation (default False, readonly) + + :type: bool + + .. attribute:: jitter_factor + + Amount of jitter applied to the sampling (in [0, 2], default 1.0) + + :type: float + + .. attribute:: keyed_loops + + Number of times the keys are looped (in [1, 10000], default 1) + + :type: int + + .. attribute:: keys_step + + (in [0, 32767], default 5) + + :type: int + + .. attribute:: kink + + Type of periodic offset on the path (default ``'NO'``) + + :type: Literal['NO', 'CURL', 'RADIAL', 'WAVE', 'BRAID', 'SPIRAL'] + + .. attribute:: kink_amplitude + + The amplitude of the offset (in [-100000, 100000], default 0.2) + + :type: float + + .. attribute:: kink_amplitude_clump + + How much clump affects kink amplitude (in [0, 1], default 1.0) + + :type: float + + .. attribute:: kink_amplitude_random + + Random variation of the amplitude (in [0, 1], default 0.0) + + :type: float + + .. attribute:: kink_axis + + Which axis to use for offset (default ``'Z'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: kink_axis_random + + Random variation of the orientation (in [0, 1], default 0.0) + + :type: float + + .. attribute:: kink_extra_steps + + Extra steps for resolution of special kink features (in [1, inf], default 4) + + :type: int + + .. attribute:: kink_flat + + How flat the hairs are (in [0, 1], default 0.0) + + :type: float + + .. attribute:: kink_frequency + + The frequency of the offset (1/total length) (in [-100000, 100000], default 2.0) + + :type: float + + .. attribute:: kink_shape + + Adjust the offset to the beginning/end (in [-0.999, 0.999], default 0.0) + + :type: float + + .. attribute:: length_random + + Give path length a random variation (in [0, 1], default 0.0) + + :type: float + + .. attribute:: lifetime + + Life span of the particles (in [1, 1.04857e+06], default 50.0) + + :type: float + + .. attribute:: lifetime_random + + Give the particle life a random variation (in [0, 1], default 0.0) + + :type: float + + .. attribute:: line_length_head + + Length of the line's head (in [0, 100000], default 0.0) + + :type: float + + .. attribute:: line_length_tail + + Length of the line's tail (in [0, 100000], default 0.0) + + :type: float + + .. attribute:: lock_boids_to_surface + + Constrain boids to a surface (default False) + + :type: bool + + .. attribute:: mass + + Mass of the particles (in [1e-08, 100000], default 1.0) + + :type: float + + .. attribute:: material + + Index of material slot used for rendering particles (in [1, 32767], default 1) + + :type: int + + .. attribute:: material_slot + + Material slot used for rendering particles (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. attribute:: normal_factor + + Let the surface normal give the particle a starting velocity (in [-1000, 1000], default 1.0) + + :type: float + + .. attribute:: object_align_factor + + Let the emitter object orientation give the particle a starting velocity (array of 3 items, in [-200, 200], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: object_factor + + Let the object give the particle a starting velocity (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: particle_factor + + Let the target particle give the particle a starting velocity (in [-200, 200], default 0.0) + + :type: float + + .. attribute:: particle_size + + The size of the particles (in [0.001, 100000], default 0.05) + + :type: float + + .. attribute:: path_end + + End time of path (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: path_start + + Starting time of path (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: phase_factor + + Rotation around the chosen orientation axis (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: phase_factor_random + + Randomize rotation around the chosen orientation axis (in [0, 2], default 0.0) + + :type: float + + .. attribute:: physics_type + + Particle physics type (default ``'NEWTON'``) + + :type: Literal['NO', 'NEWTON', 'KEYED', 'BOIDS', 'FLUID'] + + .. attribute:: radius_scale + + Multiplier of diameter properties (in [0, inf], default 0.01) + + :type: float + + .. attribute:: react_event + + The event of target particles to react on (default ``'DEATH'``) + + :type: Literal['DEATH', 'COLLIDE', 'NEAR'] + + .. attribute:: reactor_factor + + Let the vector away from the target particle's location give the particle a starting velocity (in [-10, 10], default 0.0) + + :type: float + + .. attribute:: render_step + + How many steps paths are rendered with (power of 2) (in [0, 20], default 3) + + :type: int + + .. attribute:: render_type + + How particles are rendered (default ``'HALO'``) + + :type: Literal['NONE', 'HALO', 'LINE', 'PATH', 'OBJECT', 'COLLECTION'] + + .. attribute:: rendered_child_count + + Number of children per parent for rendering (in [0, 100000], default 100) + + :type: int + + .. attribute:: root_radius + + Strand diameter width at the root (in [0, inf], default 1.0) + + :type: float + + .. attribute:: rotation_factor_random + + Randomize particle orientation (in [0, 1], default 0.0) + + :type: float + + .. attribute:: rotation_mode + + Particle orientation axis (does not affect Explode modifier's results) (default ``'VEL'``) + + :type: Literal['NONE', 'NOR', 'NOR_TAN', 'VEL', 'GLOB_X', 'GLOB_Y', 'GLOB_Z', 'OB_X', 'OB_Y', 'OB_Z'] + + .. attribute:: roughness_1 + + Amount of location dependent roughness (in [0, 100000], default 0.0) + + :type: float + + .. attribute:: roughness_1_size + + Size of location dependent roughness (in [0.01, 100000], default 1.0) + + :type: float + + .. attribute:: roughness_2 + + Amount of random roughness (in [0, 100000], default 0.0) + + :type: float + + .. attribute:: roughness_2_size + + Size of random roughness (in [0.01, 100000], default 1.0) + + :type: float + + .. attribute:: roughness_2_threshold + + Amount of particles left untouched by random roughness (in [0, 1], default 0.0) + + :type: float + + .. data:: roughness_curve + + Curve defining roughness (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: roughness_end_shape + + Shape of endpoint roughness (in [0, 10], default 1.0) + + :type: float + + .. attribute:: roughness_endpoint + + Amount of endpoint roughness (in [0, 100000], default 0.0) + + :type: float + + .. attribute:: shape + + Strand shape parameter (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: show_guide_hairs + + Show guide hairs (default False) + + :type: bool + + .. attribute:: show_hair_grid + + Show hair simulation grid (default False) + + :type: bool + + .. attribute:: show_health + + Display boid health (default False) + + :type: bool + + .. attribute:: show_number + + Show particle number (default False) + + :type: bool + + .. attribute:: show_size + + Show particle size (default False) + + :type: bool + + .. attribute:: show_unborn + + Show particles before they are emitted (default False) + + :type: bool + + .. attribute:: show_velocity + + Show particle velocity (default False) + + :type: bool + + .. attribute:: size_random + + Give the particle size a random variation (in [0, 1], default 0.0) + + :type: float + + .. attribute:: subframes + + Subframes to simulate for improved stability and finer granularity simulations (dt = timestep / (subframes + 1)) (in [0, 1000], default 0) + + :type: int + + .. attribute:: tangent_factor + + Let the surface tangent give the particle a starting velocity (in [-1000, 1000], default 0.0) + + :type: float + + .. attribute:: tangent_phase + + Rotate the surface tangent (in [-1, 1], default 0.0) + + :type: float + + .. data:: texture_slots + + Texture slots defining the mapping and influence of textures (default None, readonly) + + :type: :class:`ParticleSettingsTextureSlots`\ [:class:`ParticleSettingsTextureSlot`] + + .. attribute:: time_tweak + + A multiplier for physics timestep (1.0 means one frame = 1/25 seconds) (in [0, 100], default 1.0) + + :type: float + + .. attribute:: timestep + + The simulation timestep per frame (seconds per frame) (in [0.0001, 100], default 0.0) + + :type: float + + .. attribute:: tip_radius + + Strand diameter width at the tip (in [0, inf], default 0.0) + + :type: float + + .. attribute:: trail_count + + Number of trail particles (in [1, 100000], default 0) + + :type: int + + .. attribute:: twist + + Number of turns around parent along the strand (in [-100000, 100000], default 0.0) + + :type: float + + .. data:: twist_curve + + Curve defining twist (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: type + + Particle type (default ``'EMITTER'``) + + :type: Literal['EMITTER', 'HAIR'] + + .. attribute:: use_absolute_path_time + + Path timing is in absolute frames (default False) + + :type: bool + + .. attribute:: use_adaptive_subframes + + Automatically set the number of subframes (default False) + + :type: bool + + .. attribute:: use_advanced_hair + + Use full physics calculations for growing hair (default False) + + :type: bool + + .. attribute:: use_close_tip + + Set tip radius to zero (default True) + + :type: bool + + .. attribute:: use_clump_curve + + Use a curve to define clump tapering (default False) + + :type: bool + + .. attribute:: use_clump_noise + + Create random clumps around the parent (default False) + + :type: bool + + .. attribute:: use_collection_count + + Use object multiple times in the same collection (default False) + + :type: bool + + .. attribute:: use_collection_pick_random + + Pick objects from collection randomly (default False) + + :type: bool + + .. attribute:: use_dead + + Show particles after they have died (default False) + + :type: bool + + .. attribute:: use_die_on_collision + + Particles die when they collide with a deflector object (default False) + + :type: bool + + .. attribute:: use_dynamic_rotation + + Particle rotations are affected by collisions and effectors (default False) + + :type: bool + + .. attribute:: use_emit_random + + Emit in random order of elements (default True) + + :type: bool + + .. attribute:: use_even_distribution + + Use even distribution from faces based on face areas or edge lengths (default True) + + :type: bool + + .. attribute:: use_global_instance + + Use object's global coordinates for duplication (default False) + + :type: bool + + .. attribute:: use_hair_bspline + + Interpolate hair using B-Splines (default False) + + :type: bool + + .. attribute:: use_modifier_stack + + Emit particles from mesh with modifiers applied (must use same subdivision surface level for viewport and render for correct results) (default False) + + :type: bool + + .. attribute:: use_multiply_size_mass + + Multiply mass by particle size (default False) + + :type: bool + + .. attribute:: use_parent_particles + + Render parent particles (default False) + + :type: bool + + .. attribute:: use_react_multiple + + React multiple times (default False) + + :type: bool + + .. attribute:: use_react_start_end + + Give birth to unreacted particles eventually (default False) + + :type: bool + + .. attribute:: use_regrow_hair + + Regrow hair for each frame (default False) + + :type: bool + + .. attribute:: use_render_adaptive + + Display steps of the particle path (default False) + + :type: bool + + .. attribute:: use_rotation_instance + + Use object's rotation for duplication (global x-axis is aligned particle rotation axis) (default False) + + :type: bool + + .. attribute:: use_rotations + + Calculate particle rotations (default False) + + :type: bool + + .. attribute:: use_roughness_curve + + Use a curve to define roughness (default False) + + :type: bool + + .. attribute:: use_scale_instance + + Use object's scale for duplication (default True) + + :type: bool + + .. attribute:: use_self_effect + + Particle effectors affect themselves (default False) + + :type: bool + + .. attribute:: use_size_deflect + + Use particle's size in deflection (default False) + + :type: bool + + .. attribute:: use_strand_primitive + + Use the strand primitive for rendering (default False) + + :type: bool + + .. attribute:: use_twist_curve + + Use a curve to define twist (default False) + + :type: bool + + .. attribute:: use_velocity_length + + Multiply line length by particle speed (default False) + + :type: bool + + .. attribute:: use_whole_collection + + Use whole collection at once (default False) + + :type: bool + + .. attribute:: userjit + + Emission locations per face (0 = automatic) (in [0, 1000], default 0) + + :type: int + + .. attribute:: virtual_parents + + Relative amount of virtual parents (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.particle_settings` + - :class:`BlendData.particles` + - :class:`BlendDataParticles.new` + - :class:`BlendDataParticles.remove` + - :class:`ParticleSystem.settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSettingsTextureSlot.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSettingsTextureSlot.rst new file mode 100644 index 0000000..5307d68 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSettingsTextureSlot.rst @@ -0,0 +1,320 @@ +ParticleSettingsTextureSlot(TextureSlot) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`TextureSlot` + +.. class:: ParticleSettingsTextureSlot(TextureSlot) + + Texture slot for textures in a Particle Settings data-block + + .. attribute:: clump_factor + + Amount texture affects child clump (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: damp_factor + + Amount texture affects particle damping (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: density_factor + + Amount texture affects particle density (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: field_factor + + Amount texture affects particle force fields (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: gravity_factor + + Amount texture affects particle gravity (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: kink_amp_factor + + Amount texture affects child kink amplitude (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: kink_freq_factor + + Amount texture affects child kink frequency (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: length_factor + + Amount texture affects child hair length (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: life_factor + + Amount texture affects particle life time (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: mapping + + (default ``'FLAT'``) + + - ``FLAT`` + Flat -- Map X and Y coordinates directly. + - ``CUBE`` + Cube -- Map using the normal vector. + - ``TUBE`` + Tube -- Map with Z as central axis. + - ``SPHERE`` + Sphere -- Map with Z as central axis. + + :type: Literal['FLAT', 'CUBE', 'TUBE', 'SPHERE'] + + .. attribute:: mapping_x + + (default ``'X'``) + + :type: Literal['NONE', 'X', 'Y', 'Z'] + + .. attribute:: mapping_y + + (default ``'Y'``) + + :type: Literal['NONE', 'X', 'Y', 'Z'] + + .. attribute:: mapping_z + + (default ``'Z'``) + + :type: Literal['NONE', 'X', 'Y', 'Z'] + + .. attribute:: object + + Object to use for mapping with Object texture coordinates + + :type: :class:`Object` | None + + .. attribute:: rough_factor + + Amount texture affects child roughness (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: size_factor + + Amount texture affects physical particle size (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: texture_coords + + Texture coordinates used to map the texture onto the background (default ``'UV'``) + + - ``GLOBAL`` + Global -- Use global coordinates for the texture coordinates. + - ``OBJECT`` + Object -- Use linked object's coordinates for texture coordinates. + - ``UV`` + UV -- Use UV coordinates for texture coordinates. + - ``ORCO`` + Generated -- Use the original undeformed coordinates of the object. + - ``STRAND`` + Strand / Particle -- Use normalized strand texture coordinate (1D) or particle age (X) and trail position (Y). + + :type: Literal['GLOBAL', 'OBJECT', 'UV', 'ORCO', 'STRAND'] + + .. attribute:: time_factor + + Amount texture affects particle emission time (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: twist_factor + + Amount texture affects child twist (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: use_map_clump + + Affect the child clumping (default False) + + :type: bool + + .. attribute:: use_map_damp + + Affect the particle velocity damping (default False) + + :type: bool + + .. attribute:: use_map_density + + Affect the density of the particles (default False) + + :type: bool + + .. attribute:: use_map_field + + Affect the particle force fields (default False) + + :type: bool + + .. attribute:: use_map_gravity + + Affect the particle gravity (default False) + + :type: bool + + .. attribute:: use_map_kink_amp + + Affect the child kink amplitude (default False) + + :type: bool + + .. attribute:: use_map_kink_freq + + Affect the child kink frequency (default False) + + :type: bool + + .. attribute:: use_map_length + + Affect the child hair length (default False) + + :type: bool + + .. attribute:: use_map_life + + Affect the life time of the particles (default False) + + :type: bool + + .. attribute:: use_map_rough + + Affect the child rough (default False) + + :type: bool + + .. attribute:: use_map_size + + Affect the particle size (default False) + + :type: bool + + .. attribute:: use_map_time + + Affect the emission time of the particles (default True) + + :type: bool + + .. attribute:: use_map_twist + + Affect the child twist (default False) + + :type: bool + + .. attribute:: use_map_velocity + + Affect the particle initial velocity (default False) + + :type: bool + + .. attribute:: uv_layer + + UV map to use for mapping with UV texture coordinates (default "", never None) + + :type: str + + .. attribute:: velocity_factor + + Amount texture affects particle initial velocity (in [-inf, inf], default 1.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`TextureSlot.texture` + - :class:`TextureSlot.name` + - :class:`TextureSlot.offset` + - :class:`TextureSlot.scale` + - :class:`TextureSlot.color` + - :class:`TextureSlot.blend_type` + - :class:`TextureSlot.default_value` + - :class:`TextureSlot.output_node` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`TextureSlot.bl_rna_get_subclass` + - :class:`TextureSlot.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ParticleSettings.texture_slots` + - :class:`ParticleSettingsTextureSlots.add` + - :class:`ParticleSettingsTextureSlots.create` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSettingsTextureSlots.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSettingsTextureSlots.rst new file mode 100644 index 0000000..da72d2e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSettingsTextureSlots.rst @@ -0,0 +1,101 @@ +ParticleSettingsTextureSlots(bpy_prop_collection) +================================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ParticleSettingsTextureSlots(bpy_prop_collection) + + Collection of texture slots + + .. classmethod:: add() + + add + + :return: The newly initialized mtex + :rtype: :class:`ParticleSettingsTextureSlot` + + .. classmethod:: create(index) + + create + + :param index: Index, Slot index to initialize (in [0, inf]) + :type index: int + :return: The newly initialized mtex + :rtype: :class:`ParticleSettingsTextureSlot` + + .. classmethod:: clear(index) + + clear + + :param index: Index, Slot index to clear (in [0, inf]) + :type index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ParticleSettings.texture_slots` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSystem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSystem.rst new file mode 100644 index 0000000..08832ea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSystem.rst @@ -0,0 +1,411 @@ +ParticleSystem(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ParticleSystem(bpy_struct) + + Particle system in an object + + .. data:: active_particle_target + + (readonly) + + :type: :class:`ParticleTarget` | None + + .. attribute:: active_particle_target_index + + (in [0, inf], default 0) + + :type: int + + .. data:: child_particles + + Child particles generated by the particle system (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ChildParticle`] + + .. attribute:: child_seed + + Offset in the random number table for child particles, to get a different randomized result (in [0, inf], default 0) + + :type: int + + .. data:: cloth + + Cloth dynamics for hair (readonly, never None) + + :type: :class:`ClothModifier` + + .. data:: dt_frac + + The current simulation time step size, as a fraction of a frame (in [0.00990099, 1], default 0.0, readonly) + + :type: float + + .. data:: has_multiple_caches + + Particle system has multiple point caches (default False, readonly) + + :type: bool + + .. attribute:: invert_vertex_group_clump + + Negate the effect of the clump vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_density + + Negate the effect of the density vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_field + + Negate the effect of the field vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_kink + + Negate the effect of the kink vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_length + + Negate the effect of the length vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_rotation + + Negate the effect of the rotation vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_roughness_1 + + Negate the effect of the roughness 1 vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_roughness_2 + + Negate the effect of the roughness 2 vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_roughness_end + + Negate the effect of the roughness end vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_size + + Negate the effect of the size vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_tangent + + Negate the effect of the tangent vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_twist + + Negate the effect of the twist vertex group (default False) + + :type: bool + + .. attribute:: invert_vertex_group_velocity + + Negate the effect of the velocity vertex group (default False) + + :type: bool + + .. data:: is_editable + + Particle system can be edited in particle mode (default False, readonly) + + :type: bool + + .. data:: is_edited + + Particle system has been edited in particle mode (default False, readonly) + + :type: bool + + .. data:: is_global_hair + + Hair keys are in global coordinate space (default False, readonly) + + :type: bool + + .. attribute:: name + + Particle system name (default "", never None) + + :type: str + + .. attribute:: parent + + Use this object's coordinate system instead of global coordinate system + + :type: :class:`Object` | None + + .. data:: particles + + Particles generated by the particle system (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Particle`] + + .. data:: point_cache + + (readonly, never None) + + :type: :class:`PointCache` + + .. attribute:: reactor_target_object + + For reactor systems, the object that has the target particle system (empty if same object) + + :type: :class:`Object` | None + + .. attribute:: reactor_target_particle_system + + For reactor systems, index of particle system on the target object (in [1, 32767], default 0) + + :type: int + + .. attribute:: seed + + Offset in the random number table, to get a different randomized result (in [0, inf], default 0) + + :type: int + + .. attribute:: settings + + Particle system settings (never None) + + :type: :class:`ParticleSettings` + + .. data:: targets + + Target particle systems (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ParticleTarget`] + + .. attribute:: use_hair_dynamics + + Enable hair dynamics using cloth simulation (default False) + + :type: bool + + .. attribute:: use_keyed_timing + + Use key times (default False) + + :type: bool + + .. attribute:: vertex_group_clump + + Vertex group to control clump (default "", never None) + + :type: str + + .. attribute:: vertex_group_density + + Vertex group to control density (default "", never None) + + :type: str + + .. attribute:: vertex_group_field + + Vertex group to control field (default "", never None) + + :type: str + + .. attribute:: vertex_group_kink + + Vertex group to control kink (default "", never None) + + :type: str + + .. attribute:: vertex_group_length + + Vertex group to control length (default "", never None) + + :type: str + + .. attribute:: vertex_group_rotation + + Vertex group to control rotation (default "", never None) + + :type: str + + .. attribute:: vertex_group_roughness_1 + + Vertex group to control roughness 1 (default "", never None) + + :type: str + + .. attribute:: vertex_group_roughness_2 + + Vertex group to control roughness 2 (default "", never None) + + :type: str + + .. attribute:: vertex_group_roughness_end + + Vertex group to control roughness end (default "", never None) + + :type: str + + .. attribute:: vertex_group_size + + Vertex group to control size (default "", never None) + + :type: str + + .. attribute:: vertex_group_tangent + + Vertex group to control tangent (default "", never None) + + :type: str + + .. attribute:: vertex_group_twist + + Vertex group to control twist (default "", never None) + + :type: str + + .. attribute:: vertex_group_velocity + + Vertex group to control velocity (default "", never None) + + :type: str + + .. method:: co_hair(object, *, particle_no=0, step=0) + + Obtain cache hair data + + :param object: Object (never None) + :type object: :class:`Object` | None + :param particle_no: Particle no, (in [-inf, inf], optional) + :type particle_no: int + :param step: step no, (in [-inf, inf], optional) + :type step: int + :return: Co, Exported hairkey location (array of 3 items, in [-inf, inf]) + :rtype: :class:`mathutils.Vector` + + .. method:: uv_on_emitter(modifier, particle, *, particle_no=0, uv_no=0) + + Obtain uv for all particles + + :param modifier: Particle modifier (never None) + :type modifier: :class:`ParticleSystemModifier` | None + :param particle: Particle (never None) + :type particle: :class:`Particle` | None + :param particle_no: Particle no, (in [-inf, inf], optional) + :type particle_no: int + :param uv_no: UV no, (in [-inf, inf], optional) + :type uv_no: int + :return: uv, (array of 2 items, in [-inf, inf]) + :rtype: :class:`mathutils.Vector` + + .. method:: mcol_on_emitter(modifier, particle, *, particle_no=0, vcol_no=0) + + Obtain mcol for all particles + + :param modifier: Particle modifier (never None) + :type modifier: :class:`ParticleSystemModifier` | None + :param particle: Particle (never None) + :type particle: :class:`Particle` | None + :param particle_no: Particle no, (in [-inf, inf], optional) + :type particle_no: int + :param vcol_no: vcol no, (in [-inf, inf], optional) + :type vcol_no: int + :return: mcol, (array of 3 items, in [0, inf]) + :rtype: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.particle_system` + - :mod:`bpy.context.particle_system_editable` + - :class:`DepsgraphObjectInstance.particle_system` + - :class:`DynamicPaintBrushSettings.particle_system` + - :class:`FluidFlowSettings.particle_system` + - :class:`Object.particle_systems` + - :class:`ParticleInstanceModifier.particle_system` + - :class:`ParticleSystemModifier.particle_system` + - :class:`ParticleSystems.active` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSystemModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSystemModifier.rst new file mode 100644 index 0000000..76e452d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSystemModifier.rst @@ -0,0 +1,103 @@ +ParticleSystemModifier(Modifier) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: ParticleSystemModifier(Modifier) + + Particle system simulation modifier + + .. data:: particle_system + + Particle System that this modifier controls (readonly, never None) + + :type: :class:`ParticleSystem` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Particle.uv_on_emitter` + - :class:`ParticleHairKey.co_object` + - :class:`ParticleHairKey.co_object_set` + - :class:`ParticleSystem.mcol_on_emitter` + - :class:`ParticleSystem.uv_on_emitter` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSystems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSystems.rst new file mode 100644 index 0000000..f96b895 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleSystems.rst @@ -0,0 +1,90 @@ +ParticleSystems(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ParticleSystems(bpy_prop_collection) + + Collection of particle systems + + .. data:: active + + Active particle system being displayed (readonly) + + :type: :class:`ParticleSystem` | None + + .. attribute:: active_index + + Index of active particle system slot (in [0, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.particle_systems` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleTarget.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleTarget.rst new file mode 100644 index 0000000..f597181 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ParticleTarget.rst @@ -0,0 +1,121 @@ +ParticleTarget(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ParticleTarget(bpy_struct) + + Target particle system + + .. attribute:: alliance + + (default ``'NEUTRAL'``) + + :type: Literal['FRIEND', 'NEUTRAL', 'ENEMY'] + + .. attribute:: duration + + (in [0, 1.04857e+06], default 0.0) + + :type: float + + .. attribute:: is_valid + + Keyed particles target is valid (default False) + + :type: bool + + .. data:: name + + Particle target name (default "", readonly, never None) + + :type: str + + .. attribute:: object + + The object that has the target particle system (empty if same object) + + :type: :class:`Object` | None + + .. attribute:: system + + The index of particle system on the target object (in [1, inf], default 0) + + :type: int + + .. attribute:: time + + (in [0, 1.04857e+06], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ParticleSystem.active_particle_target` + - :class:`ParticleSystem.targets` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PathCompare.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PathCompare.rst new file mode 100644 index 0000000..05a7c60 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PathCompare.rst @@ -0,0 +1,92 @@ +PathCompare(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PathCompare(bpy_struct) + + Match paths against this value + + .. attribute:: path + + (default "", never None) + + :type: str + + .. attribute:: use_glob + + Enable wildcard globbing (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PathCompareCollection.new` + - :class:`PathCompareCollection.remove` + - :class:`Preferences.autoexec_paths` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PathCompareCollection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PathCompareCollection.rst new file mode 100644 index 0000000..5b91ad3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PathCompareCollection.rst @@ -0,0 +1,91 @@ +PathCompareCollection(bpy_prop_collection) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: PathCompareCollection(bpy_prop_collection) + + Collection of paths + + .. classmethod:: new() + + Add a new path + + :rtype: :class:`PathCompare` + + .. classmethod:: remove(pathcmp) + + Remove path + + :param pathcmp: (never None) + :type pathcmp: :class:`PathCompare` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.autoexec_paths` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PitchModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PitchModifier.rst new file mode 100644 index 0000000..c4d325e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PitchModifier.rst @@ -0,0 +1,130 @@ +PitchModifier(StripModifier) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripModifier` + +.. class:: PitchModifier(StripModifier) + + Shift Audio Pitch + + .. attribute:: cents + + A cent is one one-hundredth of a semi-tone. (in [-100, 100], default 0) + + :type: int + + .. attribute:: mode + + Mode of the pitch shift (default ``'SEMITONES'``) + + - ``SEMITONES`` + Semitones -- Shift pitch using semitones and cents. + - ``RATIO`` + Ratio -- Shift pitch using a direct ratio. + + :type: Literal['SEMITONES', 'RATIO'] + + .. attribute:: preserve_formant + + Whether to preserve the vocal formants when shifting the pitch. (default False) + + :type: bool + + .. attribute:: quality + + Quality of the pitch shifting (default ``'HIGH'``) + + - ``HIGH`` + High -- Prioritize high-quality pitch processing. + - ``FAST`` + Fast -- Prioritize speed over audio quality. + - ``CONSISTENT`` + Consistent -- Prioritize consistency for dynamic pitch changes. + + :type: Literal['HIGH', 'FAST', 'CONSISTENT'] + + .. attribute:: ratio + + Factor by which the audio pitch is scaled. (in [0.5, 2], default 0.0) + + :type: float + + .. attribute:: semitones + + Number of semitones to shift the pitch. (in [-12, 12], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripModifier.name` + - :class:`StripModifier.type` + - :class:`StripModifier.mute` + - :class:`StripModifier.enable` + - :class:`StripModifier.show_expanded` + - :class:`StripModifier.input_mask_type` + - :class:`StripModifier.mask_time` + - :class:`StripModifier.input_mask_strip` + - :class:`StripModifier.input_mask_id` + - :class:`StripModifier.is_active` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripModifier.bl_rna_get_subclass` + - :class:`StripModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PivotConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PivotConstraint.rst new file mode 100644 index 0000000..feb36a2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PivotConstraint.rst @@ -0,0 +1,144 @@ +PivotConstraint(Constraint) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: PivotConstraint(Constraint) + + Rotate around a different point + + .. attribute:: head_tail + + Target along length of bone: Head is 0, Tail is 1 (in [0, 1], default 0.0) + + :type: float + + .. attribute:: offset + + Offset of pivot from target (when set), or from owner's location (when Fixed Position is off), or the absolute pivot point (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: rotation_range + + Rotation range on which pivoting should occur (default ``'NX'``) + + - ``ALWAYS_ACTIVE`` + Always -- Use the pivot point in every rotation. + - ``NX`` + -X Rotation -- Use the pivot point in the negative rotation range around the X-axis. + - ``NY`` + -Y Rotation -- Use the pivot point in the negative rotation range around the Y-axis. + - ``NZ`` + -Z Rotation -- Use the pivot point in the negative rotation range around the Z-axis. + - ``X`` + X Rotation -- Use the pivot point in the positive rotation range around the X-axis. + - ``Y`` + Y Rotation -- Use the pivot point in the positive rotation range around the Y-axis. + - ``Z`` + Z Rotation -- Use the pivot point in the positive rotation range around the Z-axis. + + :type: Literal['ALWAYS_ACTIVE', 'NX', 'NY', 'NZ', 'X', 'Y', 'Z'] + + .. attribute:: subtarget + + (default "", never None) + + :type: str + + .. attribute:: target + + Target Object, defining the position of the pivot when defined + + :type: :class:`Object` | None + + .. attribute:: use_bbone_shape + + Follow shape of B-Bone segments when calculating Head/Tail position (default False) + + :type: bool + + .. attribute:: use_relative_location + + Offset will be an absolute point in space instead of relative to the target (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Point.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Point.rst new file mode 100644 index 0000000..081332b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Point.rst @@ -0,0 +1,96 @@ +Point(bpy_struct) +================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Point(bpy_struct) + + Point in a point cloud + + .. attribute:: co + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: index + + Index of this point (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: radius + + (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PointCloud.points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCache.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCache.rst new file mode 100644 index 0000000..43748c9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCache.rst @@ -0,0 +1,172 @@ +PointCache(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PointCache(bpy_struct) + + Active point cache for physics simulations + + .. attribute:: filepath + + Cache file path (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: frame_end + + Frame on which the simulation stops (in [1, 1048574], default 0) + + :type: int + + .. attribute:: frame_start + + Frame on which the simulation starts (in [-1048574, 1048574], default 0) + + :type: int + + .. attribute:: frame_step + + Number of frames between cached frames (in [1, 20], default 0) + + :type: int + + .. attribute:: index + + Index number of cache files (in [-1, 100], default 0) + + :type: int + + .. data:: info + + Info on current cache status (default "", readonly, never None) + + :type: str + + .. data:: is_baked + + The cache is baked (default False, readonly) + + :type: bool + + .. data:: is_baking + + The cache is being baked (default False, readonly) + + :type: bool + + .. data:: is_frame_skip + + Some frames were skipped while baking/saving that cache (default False, readonly) + + :type: bool + + .. data:: is_outdated + + (default False, readonly) + + :type: bool + + .. attribute:: name + + Cache name (default "", never None) + + :type: str + + .. data:: point_caches + + (default None, readonly) + + :type: :class:`PointCaches`\ [:class:`PointCacheItem`] + + .. attribute:: use_disk_cache + + Save cache files to disk (.blend file must be saved first) (default False) + + :type: bool + + .. attribute:: use_external + + Read cache from an external location (default False) + + :type: bool + + .. attribute:: use_library_path + + Use this file's path for the disk cache when library linked into another file (for local bakes per scene file, disable this option) (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ClothModifier.point_cache` + - :class:`DynamicPaintSurface.point_cache` + - :class:`ParticleSystem.point_cache` + - :class:`RigidBodyWorld.point_cache` + - :class:`SoftBodyModifier.point_cache` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCacheItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCacheItem.rst new file mode 100644 index 0000000..45dd390 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCacheItem.rst @@ -0,0 +1,162 @@ +PointCacheItem(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PointCacheItem(bpy_struct) + + Point cache for physics simulations + + .. attribute:: filepath + + Cache file path (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: frame_end + + Frame on which the simulation stops (in [1, 1048574], default 0) + + :type: int + + .. attribute:: frame_start + + Frame on which the simulation starts (in [-1048574, 1048574], default 0) + + :type: int + + .. attribute:: frame_step + + Number of frames between cached frames (in [1, 20], default 0) + + :type: int + + .. attribute:: index + + Index number of cache files (in [-1, 100], default 0) + + :type: int + + .. data:: info + + Info on current cache status (default "", readonly, never None) + + :type: str + + .. data:: is_baked + + The cache is baked (default False, readonly) + + :type: bool + + .. data:: is_baking + + The cache is being baked (default False, readonly) + + :type: bool + + .. data:: is_frame_skip + + Some frames were skipped while baking/saving that cache (default False, readonly) + + :type: bool + + .. data:: is_outdated + + (default False, readonly) + + :type: bool + + .. attribute:: name + + Cache name (default "", never None) + + :type: str + + .. attribute:: use_disk_cache + + Save cache files to disk (.blend file must be saved first) (default False) + + :type: bool + + .. attribute:: use_external + + Read cache from an external location (default False) + + :type: bool + + .. attribute:: use_library_path + + Use this file's path for the disk cache when library linked into another file (for local bakes per scene file, disable this option) (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PointCache.point_caches` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCaches.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCaches.rst new file mode 100644 index 0000000..3ce12f9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCaches.rst @@ -0,0 +1,84 @@ +PointCaches(bpy_prop_collection) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: PointCaches(bpy_prop_collection) + + Collection of point caches + + .. attribute:: active_index + + (in [0, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PointCache.point_caches` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCloud.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCloud.rst new file mode 100644 index 0000000..3441222 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointCloud.rst @@ -0,0 +1,158 @@ +PointCloud(ID) +============== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: PointCloud(ID) + + Point cloud data-block + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. data:: attributes + + Geometry attributes (default None, readonly) + + :type: :class:`AttributeGroupPointCloud`\ [:class:`Attribute`] + + .. data:: color_attributes + + Geometry color attributes (default None, readonly) + + :type: :class:`AttributeGroupPointCloud`\ [:class:`Attribute`] + + .. data:: materials + + (default None, readonly) + + :type: :class:`IDMaterials`\ [:class:`Material`] + + .. data:: points + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Point`] + + .. method:: resize(size) + + resize + + :param size: Size, New number of points (in [0, inf]) + :type size: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.pointcloud` + - :class:`BlendData.pointclouds` + - :class:`BlendDataPointClouds.new` + - :class:`BlendDataPointClouds.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointLight.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointLight.rst new file mode 100644 index 0000000..2102a55 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointLight.rst @@ -0,0 +1,193 @@ +PointLight(Light) +================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Light` + +.. class:: PointLight(Light) + + Omnidirectional point Light + + .. attribute:: energy + + Light energy emitted over the entire area of the light in all directions, in units of radiant power (W) (in [-inf, inf], default 10.0) + + :type: float + + .. attribute:: shadow_buffer_clip_start + + Shadow map clip start, below which objects will not generate shadows (in [1e-06, inf], default 0.05) + + :type: float + + .. attribute:: shadow_filter_radius + + Blur shadow aliasing using Percentage Closer Filtering (in [0, inf], default 1.0) + + :type: float + + .. attribute:: shadow_jitter_overblur + + Apply shadow tracing to each jittered sample to reduce under-sampling artifacts (in [0, 100], default 10.0) + + :type: float + + .. attribute:: shadow_maximum_resolution + + Minimum size of a shadow map pixel. Higher values use less memory at the cost of shadow quality. (in [0, inf], default 0.001) + + :type: float + + .. attribute:: shadow_soft_size + + Light size for ray shadow sampling (Raytraced shadows) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: use_absolute_resolution + + Limit the resolution at 1 unit from the light origin instead of relative to the shadowed pixel (default False) + + :type: bool + + .. attribute:: use_shadow_jitter + + Enable jittered soft shadows to increase shadow precision (disabled in viewport unless enabled in the render settings). Has a high performance impact. (default False) + + :type: bool + + .. attribute:: use_soft_falloff + + Apply falloff to avoid sharp edges when the light geometry intersects with other objects (default True) + + :type: bool + + .. method:: inline_shader_nodes() + + Get the inlined shader nodes of this light. This preprocesses the node tree + to remove nested groups, repeat zones and more. + + :return: The inlined shader nodes. + :rtype: :class:`bpy.types.InlineShaderNodes` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Light.type` + - :class:`Light.use_temperature` + - :class:`Light.color` + - :class:`Light.temperature` + - :class:`Light.temperature_color` + - :class:`Light.specular_factor` + - :class:`Light.diffuse_factor` + - :class:`Light.transmission_factor` + - :class:`Light.volume_factor` + - :class:`Light.use_custom_distance` + - :class:`Light.cutoff_distance` + - :class:`Light.use_shadow` + - :class:`Light.exposure` + - :class:`Light.normalize` + - :class:`Light.node_tree` + - :class:`Light.use_nodes` + - :class:`Light.animation_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Light.area` + - :class:`Light.inline_shader_nodes` + - :class:`Light.bl_rna_get_subclass` + - :class:`Light.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointerProperty.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointerProperty.rst new file mode 100644 index 0000000..911d798 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PointerProperty.rst @@ -0,0 +1,110 @@ +PointerProperty(Property) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Property` + +.. class:: PointerProperty(Property) + + RNA pointer property to point to another RNA struct + + .. data:: fixed_type + + Fixed pointer type, empty if variable type (readonly) + + :type: :class:`Struct` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Property.name` + - :class:`Property.identifier` + - :class:`Property.description` + - :class:`Property.translation_context` + - :class:`Property.type` + - :class:`Property.subtype` + - :class:`Property.srna` + - :class:`Property.unit` + - :class:`Property.icon` + - :class:`Property.is_readonly` + - :class:`Property.is_animatable` + - :class:`Property.is_overridable` + - :class:`Property.is_required` + - :class:`Property.is_argument_optional` + - :class:`Property.is_never_none` + - :class:`Property.is_hidden` + - :class:`Property.is_skip_save` + - :class:`Property.is_skip_preset` + - :class:`Property.is_output` + - :class:`Property.is_registered` + - :class:`Property.is_registered_optional` + - :class:`Property.is_runtime` + - :class:`Property.is_enum_flag` + - :class:`Property.is_library_editable` + - :class:`Property.is_path_output` + - :class:`Property.is_path_supports_blend_relative` + - :class:`Property.is_path_supports_templates` + - :class:`Property.is_deprecated` + - :class:`Property.deprecated_note` + - :class:`Property.deprecated_version` + - :class:`Property.deprecated_removal_version` + - :class:`Property.tags` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Property.bl_rna_get_subclass` + - :class:`Property.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Pose.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Pose.rst new file mode 100644 index 0000000..ac9cc01 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Pose.rst @@ -0,0 +1,164 @@ +Pose(bpy_struct) +================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Pose(bpy_struct) + + A collection of pose channels, including settings for animating bones + + .. data:: animation_visualization + + Animation data for this data-block (readonly, never None) + + :type: :class:`AnimViz` + + .. data:: bones + + Individual pose bones for the armature (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`PoseBone`] + + .. data:: ik_param + + Parameters for IK solver (readonly) + + :type: :class:`IKParam` | None + + .. attribute:: ik_solver + + Selection of IK solver for IK chain (default ``'LEGACY'``) + + - ``LEGACY`` + Standard -- Original IK solver. + - ``ITASC`` + iTaSC -- Multi constraint, stateful IK solver. + + :type: Literal['LEGACY', 'ITASC'] + + .. attribute:: use_auto_ik + + Add temporary IK constraints while grabbing bones in Pose Mode (default False) + + :type: bool + + .. attribute:: use_mirror_relative + + Apply relative transformations in X-mirror mode (not supported with Auto IK) (default False) + + :type: bool + + .. attribute:: use_mirror_x + + Apply changes to matching bone on opposite side of X-Axis (default False) + + :type: bool + + .. classmethod:: apply_pose_from_action(action, *, evaluation_time=0.0) + + Apply the given action to this pose by evaluating it at a specific time. Only updates the pose of selected bones, or all bones if none are selected. + + :param action: Action, The Action containing the pose + :type action: :class:`Action` | None + :param evaluation_time: Evaluation Time, Time at which the given action is evaluated to obtain the pose (in [-inf, inf], optional) + :type evaluation_time: float + + .. classmethod:: blend_pose_from_action(action, *, blend_factor=1.0, evaluation_time=0.0) + + Blend the given action into this pose by evaluating it at a specific time. Only updates the pose of selected bones, or all bones if none are selected. + + :param action: Action, The Action containing the pose + :type action: :class:`Action` | None + :param blend_factor: Blend Factor, How much the given Action affects the final pose (in [0, 1], optional) + :type blend_factor: float + :param evaluation_time: Evaluation Time, Time at which the given action is evaluated to obtain the pose (in [-inf, inf], optional) + :type evaluation_time: float + + .. classmethod:: backup_create(action) + + Create a backup of the current pose. Only those bones that are animated in the Action are backed up. The object owns the backup, and each object can have only one backup at a time. When you no longer need it, it must be freed use ``backup_clear()``. + + :param action: Action, An Action with animation data for the bones. Only the animated bones will be included in the backup. + :type action: :class:`Action` | None + + .. classmethod:: backup_restore() + + Restore the previously made pose backup. This can be called multiple times. See ``Pose.backup_create()`` for more info. + + :return: ``True`` when the backup was restored, ``False`` if there was no backup to restore + :rtype: bool + + .. classmethod:: backup_clear() + + Free a previously made pose backup. See ``Pose.backup_create()`` for more info. + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.pose` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PoseBone.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PoseBone.rst new file mode 100644 index 0000000..af066d0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PoseBone.rst @@ -0,0 +1,644 @@ +PoseBone(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PoseBone(bpy_struct) + + Channel defining pose data for a bone in a Pose + + .. attribute:: bbone_curveinx + + X-axis handle offset for start of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_curveinz + + Z-axis handle offset for start of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_curveoutx + + X-axis handle offset for end of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_curveoutz + + Z-axis handle offset for end of the B-Bone's curve, adjusts curvature (in [-inf, inf], default 0.0) + + :type: float + + .. data:: bbone_custom_handle_end + + Bone that serves as the end handle for the B-Bone curve (readonly) + + :type: :class:`PoseBone` | None + + .. data:: bbone_custom_handle_start + + Bone that serves as the start handle for the B-Bone curve (readonly) + + :type: :class:`PoseBone` | None + + .. attribute:: bbone_easein + + Length of first Bézier Handle (for B-Bones only) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_easeout + + Length of second Bézier Handle (for B-Bones only) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_rollin + + Roll offset for the start of the B-Bone, adjusts twist (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_rollout + + Roll offset for the end of the B-Bone, adjusts twist (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: bbone_scalein + + Scale factors for the start of the B-Bone, adjusts thickness (for tapering effects) (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: bbone_scaleout + + Scale factors for the end of the B-Bone, adjusts thickness (for tapering effects) (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. data:: bone + + Bone associated with this PoseBone (readonly, never None) + + :type: :class:`Bone` + + .. data:: child + + Child of this pose bone (readonly) + + :type: :class:`PoseBone` | None + + .. data:: color + + (readonly) + + :type: :class:`BoneColor` | None + + .. data:: constraints + + Constraints that act on this pose channel (default None, readonly) + + :type: :class:`PoseBoneConstraints`\ [:class:`Constraint`] + + .. attribute:: custom_shape + + Object that defines custom display shape for this bone + + :type: :class:`Object` | None + + .. attribute:: custom_shape_rotation_euler + + Adjust the rotation of the custom shape (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: custom_shape_scale_xyz + + Adjust the size of the custom shape (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: custom_shape_transform + + Bone that defines the display transform of this custom shape + + :type: :class:`PoseBone` | None + + .. attribute:: custom_shape_translation + + Adjust the location of the custom shape (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: custom_shape_wire_width + + Adjust the line thickness of custom shapes (in [1, 16], default 0.0) + + :type: float + + .. data:: head + + Location of head of the channel's bone (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: hide + + Bone is not visible except for Edit Mode (default False) + + :type: bool + + .. attribute:: ik_linear_weight + + Weight of scale constraint for IK (in [0, 1], default 0.0) + + :type: float + + .. attribute:: ik_max_x + + Maximum angles for IK Limit (in [0, 3.14159], default 0.0) + + :type: float + + .. attribute:: ik_max_y + + Maximum angles for IK Limit (in [0, 3.14159], default 0.0) + + :type: float + + .. attribute:: ik_max_z + + Maximum angles for IK Limit (in [0, 3.14159], default 0.0) + + :type: float + + .. attribute:: ik_min_x + + Minimum angles for IK Limit (in [-3.14159, 0], default 0.0) + + :type: float + + .. attribute:: ik_min_y + + Minimum angles for IK Limit (in [-3.14159, 0], default 0.0) + + :type: float + + .. attribute:: ik_min_z + + Minimum angles for IK Limit (in [-3.14159, 0], default 0.0) + + :type: float + + .. attribute:: ik_rotation_weight + + Weight of rotation constraint for IK (in [0, 1], default 0.0) + + :type: float + + .. attribute:: ik_stiffness_x + + IK stiffness around the X axis (in [0, 0.99], default 0.0) + + :type: float + + .. attribute:: ik_stiffness_y + + IK stiffness around the Y axis (in [0, 0.99], default 0.0) + + :type: float + + .. attribute:: ik_stiffness_z + + IK stiffness around the Z axis (in [0, 0.99], default 0.0) + + :type: float + + .. attribute:: ik_stretch + + Allow scaling of the bone for IK (in [0, 1], default 0.0) + + :type: float + + .. data:: is_in_ik_chain + + Is part of an IK chain (default False, readonly) + + :type: bool + + .. data:: length + + Length of the bone (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. attribute:: location + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: lock_ik_x + + Disallow movement around the X axis (default False) + + :type: bool + + .. attribute:: lock_ik_y + + Disallow movement around the Y axis (default False) + + :type: bool + + .. attribute:: lock_ik_z + + Disallow movement around the Z axis (default False) + + :type: bool + + .. attribute:: lock_location + + Lock editing of location when transforming (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: lock_rotation + + Lock editing of rotation when transforming (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: lock_rotation_w + + Lock editing of 'angle' component of four-component rotations when transforming (default False) + + :type: bool + + .. attribute:: lock_rotations_4d + + Lock editing of four component rotations by components (instead of as Eulers) (default False) + + :type: bool + + .. attribute:: lock_scale + + Lock editing of scale when transforming (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: matrix + + Final 4×4 matrix after constraints and drivers are applied, in the armature object space (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: matrix_basis + + Alternative access to location/scale/rotation relative to the parent and own rest bone (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. data:: matrix_channel + + 4×4 matrix of the bone's location/rotation/scale channels (including animation and drivers) and the effect of bone constraints (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), readonly) + + :type: :class:`mathutils.Matrix` + + .. data:: motion_path + + Motion Path for this element (readonly) + + :type: :class:`MotionPath` | None + + .. attribute:: name + + (default "", never None) + + :type: str + + .. data:: parent + + Parent of this pose bone (readonly) + + :type: :class:`PoseBone` | None + + .. attribute:: rotation_axis_angle + + Angle of Rotation for Axis-Angle rotation representation (array of 4 items, in [-inf, inf], default (0.0, 0.0, 1.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: rotation_euler + + Rotation in Eulers (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: rotation_mode + + The kind of rotation to apply, values from other rotation modes are not used (default ``'QUATERNION'``) + + :type: Literal[:ref:`rna_enum_object_rotation_mode_items`] + + .. attribute:: rotation_quaternion + + Rotation in Quaternions (array of 4 items, in [-inf, inf], default (1.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. attribute:: scale + + (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: select + + Bone is selected in Pose Mode (default False) + + :type: bool + + .. data:: tail + + Location of tail of the channel's bone (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. attribute:: use_custom_shape_bone_size + + Scale the custom object by the bone length (default True) + + :type: bool + + .. attribute:: use_ik_limit_x + + Limit movement around the X axis (default False) + + :type: bool + + .. attribute:: use_ik_limit_y + + Limit movement around the Y axis (default False) + + :type: bool + + .. attribute:: use_ik_limit_z + + Limit movement around the Z axis (default False) + + :type: bool + + .. attribute:: use_ik_linear_control + + Apply channel size as IK constraint if stretching is enabled (default False) + + :type: bool + + .. attribute:: use_ik_rotation_control + + Apply channel rotation as IK constraint (default False) + + :type: bool + + .. attribute:: use_transform_around_custom_shape + + Transform the bone as if it was a child of the Custom Shape Transform bone. This can be useful when combining shape-key and armature deformations. (default False) + + :type: bool + + .. attribute:: use_transform_at_custom_shape + + The location and orientation of the Custom Shape Transform bone will be used for transform gizmos and for other transform operators in the 3D Viewport. When disabled, the 3D Viewport will still use the actual bone transform for these, even when the custom bone shape transform is overridden. (default False) + + :type: bool + + .. data:: basename + + The name of this bone before any ``.`` character. + + (readonly) + + .. data:: center + + The midpoint between the head and the tail. + + (readonly) + + .. data:: children + + + (readonly) + + .. data:: children_recursive + + A list of all children from this bone. + + .. note:: Takes ``O(len(bones)**2)`` time. + + (readonly) + + .. data:: children_recursive_basename + + Returns a chain of children with the same base name as this bone. + Only direct chains are supported, forks caused by multiple children + with matching base names will terminate the function + and not be returned. + + .. note:: Takes ``O(len(bones)**2)`` time. + + (readonly) + + .. data:: parent_recursive + + A list of parents, starting with the immediate parent. + + (readonly) + + .. data:: vector + + The direction this bone is pointing. + Utility function for (tail - head) + + (readonly) + + .. data:: x_axis + + Vector pointing down the x-axis of the bone. + + (readonly) + + .. data:: y_axis + + Vector pointing down the y-axis of the bone. + + (readonly) + + .. data:: z_axis + + Vector pointing down the z-axis of the bone. + + (readonly) + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. method:: evaluate_envelope(point) + + Calculate bone envelope at given point + + :param point: Point, Position in 3d space to evaluate (array of 3 items, in [-inf, inf]) + :type point: :class:`mathutils.Vector` | Sequence[float] + :return: Factor, Envelope factor (in [-inf, inf]) + :rtype: float + + .. method:: bbone_segment_index(point) + + Retrieve the index and blend factor of the B-Bone segments based on vertex position + + :param point: Point, Vertex position in armature pose space (array of 3 items, in [-inf, inf]) + :type point: :class:`mathutils.Vector` | Sequence[float] + :return: + ``index``, The index of the first segment joint affecting the point, int + + ``blend_next``, The blend factor between the given and the following joint, float + + :rtype: tuple[int, float] + + .. method:: bbone_segment_matrix(index, *, rest=False) + + Retrieve the matrix of the joint between B-Bone segments if available + + :param index: Index of the segment endpoint (in [0, inf]) + :type index: int + :param rest: Return the rest pose matrix (optional) + :type rest: bool + :return: The resulting matrix in bone local space (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :rtype: :class:`mathutils.Matrix` + + This example shows how to use B-Bone segment matrices to emulate deformation + produced by the Armature modifier or constraint when assigned to the given bone + (without Preserve Volume). The coordinates are processed in armature Pose space: + + .. literalinclude:: ./examples/bpy.types.PoseBone.bbone_segment_matrix.0.py + :lines: 6- + + + .. method:: compute_bbone_handles(*, rest=False, ease=False, offsets=False) + + Retrieve the vectors and rolls coming from B-Bone custom handles + + :param rest: Return the rest pose state (optional) + :type rest: bool + :param ease: Apply scale from ease values (optional) + :type ease: bool + :param offsets: Apply roll and curve offsets from bone properties (optional) + :type offsets: bool + :return: + ``handle1``, The direction vector of the start handle in bone local space, :class:`mathutils.Vector` + + ``roll1``, Roll of the start handle, float + + ``handle2``, The direction vector of the end handle in bone local space, :class:`mathutils.Vector` + + ``roll2``, Roll of the end handle, float + + :rtype: tuple[:class:`mathutils.Vector`, float, :class:`mathutils.Vector`, float] + + .. method:: parent_index(parent_test) + + The same as 'bone in other_bone.parent_recursive' + but saved generating a list. + + .. method:: translate(vec) + + Utility function to add *vec* to the head and tail of this bone. + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_pose_bone` + - :mod:`bpy.context.pose_bone` + - :mod:`bpy.context.selected_pose_bones` + - :mod:`bpy.context.selected_pose_bones_from_active_object` + - :mod:`bpy.context.visible_pose_bones` + - :class:`Object.convert_space` + - :class:`Pose.bones` + - :class:`PoseBone.bbone_custom_handle_end` + - :class:`PoseBone.bbone_custom_handle_start` + - :class:`PoseBone.child` + - :class:`PoseBone.custom_shape_transform` + - :class:`PoseBone.parent` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PoseBoneConstraints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PoseBoneConstraints.rst new file mode 100644 index 0000000..b0ed4ef --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PoseBoneConstraints.rst @@ -0,0 +1,118 @@ +PoseBoneConstraints(bpy_prop_collection) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: PoseBoneConstraints(bpy_prop_collection) + + Collection of pose bone constraints + + .. attribute:: active + + Active PoseChannel constraint + + :type: :class:`Constraint` | None + + .. method:: new(type) + + Add a constraint to this object + + :param type: Constraint type to add + :type type: Literal[:ref:`rna_enum_constraint_type_items`] + :return: New constraint + :rtype: :class:`Constraint` + + .. method:: remove(constraint) + + Remove a constraint from this object + + :param constraint: Removed constraint (never None) + :type constraint: :class:`Constraint` | None + + .. method:: move(from_index, to_index) + + Move a constraint to a different position + + :param from_index: From Index, Index to move (in [-inf, inf]) + :type from_index: int + :param to_index: To Index, Target index (in [-inf, inf]) + :type to_index: int + + .. method:: copy(constraint) + + Add a new constraint that is a copy of the given one + + :param constraint: Constraint to copy - may belong to a different object (never None) + :type constraint: :class:`Constraint` | None + :return: New constraint + :rtype: :class:`Constraint` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PoseBone.constraints` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Preferences.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Preferences.rst new file mode 100644 index 0000000..e829acf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Preferences.rst @@ -0,0 +1,204 @@ +Preferences(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Preferences(bpy_struct) + + Global preferences + + .. attribute:: active_section + + Preferences (default ``'INTERFACE'``) + + :type: Literal[:ref:`rna_enum_preference_section_items`] + + .. data:: addons + + (default None, readonly) + + :type: :class:`Addons`\ [:class:`Addon`] + + .. attribute:: app_template + + (default "", never None) + + :type: str + + .. data:: apps + + Preferences that work only for apps (readonly, never None) + + :type: :class:`PreferencesApps` + + .. data:: autoexec_paths + + (default None, readonly) + + :type: :class:`PathCompareCollection`\ [:class:`PathCompare`] + + .. data:: edit + + Settings for interacting with Blender data (readonly, never None) + + :type: :class:`PreferencesEdit` + + .. data:: experimental + + Settings for features that are still early in their development stage (readonly, never None) + + :type: :class:`PreferencesExperimental` + + .. data:: extensions + + Settings for extensions (readonly, never None) + + :type: :class:`PreferencesExtensions` + + .. data:: filepaths + + Default paths for external files (readonly, never None) + + :type: :class:`PreferencesFilePaths` + + .. data:: inputs + + Settings for input devices (readonly, never None) + + :type: :class:`PreferencesInput` + + .. attribute:: is_dirty + + Preferences have changed (default False) + + :type: bool + + .. data:: keymap + + Shortcut setup for keyboards and other input devices (readonly, never None) + + :type: :class:`PreferencesKeymap` + + .. attribute:: show_hidden_ids + + Show data-blocks with dot-prefixed names in search menus (default False) + + :type: bool + + .. data:: studio_lights + + (default None, readonly) + + :type: :class:`StudioLights`\ [:class:`StudioLight`] + + .. data:: system + + Graphics driver and operating system settings (readonly, never None) + + :type: :class:`PreferencesSystem` + + .. data:: themes + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Theme`] + + .. data:: ui_styles + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ThemeStyle`] + + .. attribute:: use_preferences_save + + Save preferences on exit when modified (unless factory settings have been loaded) (default True) + + :type: bool + + .. attribute:: use_recent_searches + + Sort the recently searched items at the top (default True) + + :type: bool + + .. data:: version + + Version of Blender the userpref.blend was saved with (array of 3 items, in [0, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: view + + Preferences related to viewing data (readonly, never None) + + :type: :class:`PreferencesView` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Context.preferences` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesApps.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesApps.rst new file mode 100644 index 0000000..f7f8db8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesApps.rst @@ -0,0 +1,96 @@ +PreferencesApps(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PreferencesApps(bpy_struct) + + Preferences that work only for apps + + .. attribute:: show_corner_split + + Split and join editors by dragging from corners (default True) + + :type: bool + + .. attribute:: show_edge_resize + + Resize editors by dragging from the edges (default True) + + :type: bool + + .. attribute:: show_regions_visibility_toggle + + Header and side bars visibility toggles (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.apps` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesEdit.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesEdit.rst new file mode 100644 index 0000000..68522d6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesEdit.rst @@ -0,0 +1,420 @@ +PreferencesEdit(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PreferencesEdit(bpy_struct) + + Settings for interacting with Blender data + + .. attribute:: auto_keying_mode + + Mode of automatic keyframe insertion for Objects and Bones (default setting used for new Scenes) (default ``'ADD_REPLACE_KEYS'``) + + :type: Literal['ADD_REPLACE_KEYS', 'REPLACE_KEYS'] + + .. attribute:: collection_instance_empty_size + + Display size of the empty when new collection instances are created (in [0.001, inf], default 1.0) + + :type: float + + .. attribute:: connect_strips_by_default + + Connect newly added movie strips by default if they have multiple channels (default True) + + :type: bool + + .. attribute:: fcurve_new_auto_smoothing + + Auto Handle Smoothing mode used for newly added F-Curves (default ``'CONT_ACCEL'``) + + :type: Literal[:ref:`rna_enum_fcurve_auto_smoothing_items`] + + .. attribute:: fcurve_unselected_alpha + + The opacity of unselected F-Curves against the background of the Graph Editor (in [0.001, 1], default 0.25) + + :type: float + + .. attribute:: grease_pencil_default_color + + Color of new annotation layers (array of 4 items, in [0, inf], default (0.38, 0.61, 0.78, 0.9)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: grease_pencil_eraser_radius + + Radius of eraser 'brush' (in [1, 500], default 25) + + :type: int + + .. attribute:: grease_pencil_euclidean_distance + + Distance moved by mouse when drawing stroke to include (in [0, 100], default 2) + + :type: int + + .. attribute:: grease_pencil_manhattan_distance + + Pixels moved by mouse per axis when drawing stroke (in [0, 100], default 1) + + :type: int + + .. attribute:: key_insert_channels + + Which channels to insert keys at when no keying set is active (default {``'CUSTOM_PROPS'``, ``'LOCATION'``, ``'ROTATION'``, ``'SCALE'``}) + + :type: set[Literal['LOCATION', 'ROTATION', 'SCALE', 'ROTATE_MODE', 'CUSTOM_PROPS']] + + .. attribute:: keyframe_new_handle_type + + Handle type for handles of new keyframes (default ``'AUTO_CLAMPED'``) + + :type: Literal[:ref:`rna_enum_keyframe_handle_type_items`] + + .. attribute:: keyframe_new_interpolation_type + + Interpolation mode used for first keyframe on newly added F-Curves (subsequent keyframes take interpolation from preceding keyframe) (default ``'BEZIER'``) + + :type: Literal[:ref:`rna_enum_beztriple_interpolation_mode_items`] + + .. attribute:: material_link + + Toggle whether the material is linked to object data or the object block (default ``'OBDATA'``) + + - ``OBDATA`` + Object Data -- Toggle whether the material is linked to object data or the object block. + - ``OBJECT`` + Object -- Toggle whether the material is linked to object data or the object block. + + :type: Literal['OBDATA', 'OBJECT'] + + .. attribute:: node_margin + + Minimum distance between nodes for Auto-offsetting nodes (in [0, 255], default 40) + + :type: int + + .. attribute:: node_preview_resolution + + Resolution used for Shader node previews (should be changed for performance convenience) (in [50, 250], default 120) + + :type: int + + .. attribute:: node_use_insert_offset + + Automatically offset the following or previous nodes in a chain when inserting a new node (default True) + + :type: bool + + .. attribute:: object_align + + The default alignment for objects added from a 3D viewport menu (default ``'WORLD'``) + + - ``WORLD`` + World -- Align newly added objects to the world coordinate system. + - ``VIEW`` + View -- Align newly added objects to the active 3D view orientation. + - ``CURSOR`` + 3D Cursor -- Align newly added objects to the 3D Cursor's rotation. + + :type: Literal['WORLD', 'VIEW', 'CURSOR'] + + .. attribute:: sculpt_paint_overlay_color + + Color of texture overlay (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: show_only_selected_curve_keyframes + + Only keyframes of selected F-Curves are visible and editable (default False) + + :type: bool + + .. attribute:: undo_memory_limit + + Maximum memory usage in megabytes (0 means unlimited) (in [0, inf], default 0) + + :type: int + + .. attribute:: undo_steps + + Number of undo steps available (smaller values conserve memory) (in [0, 256], default 32) + + :type: int + + .. attribute:: use_anim_channel_group_colors + + Use animation channel group colors; generally this is used to show bone group colors (default False) + + :type: bool + + .. attribute:: use_auto_keyframe_insert_needed + + Auto-Keying will skip inserting keys that don't affect the animation (default True) + + :type: bool + + .. attribute:: use_auto_keying + + Automatic keyframe insertion for Objects and Bones (default setting used for new Scenes) (default False) + + :type: bool + + .. attribute:: use_auto_keying_warning + + Show warning indicators when transforming objects and bones if auto keying is enabled (default True) + + :type: bool + + .. attribute:: use_cursor_lock_adjust + + Place the cursor without 'jumping' to the new location (when lock-to-cursor is used) (default True) + + :type: bool + + .. attribute:: use_duplicate_action + + Causes actions to be duplicated with the data-blocks (default True) + + :type: bool + + .. attribute:: use_duplicate_armature + + Causes armature data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_camera + + Causes camera data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_curve + + Causes curve data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_curves + + Causes curves data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_grease_pencil + + Causes Grease Pencil data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_lattice + + Causes lattice data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_light + + Causes light data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_lightprobe + + Causes light probe data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_material + + Causes material data to be duplicated with the object (default False) + + :type: bool + + .. attribute:: use_duplicate_mesh + + Causes mesh data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_metaball + + Causes metaball data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_node_tree + + Make copies of node groups when duplicating nodes in the node editor (default False) + + :type: bool + + .. attribute:: use_duplicate_particle + + Causes particle systems to be duplicated with the object (default False) + + :type: bool + + .. attribute:: use_duplicate_pointcloud + + Causes point cloud data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_speaker + + Causes speaker data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_surface + + Causes surface data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_text + + Causes text data to be duplicated with the object (default True) + + :type: bool + + .. attribute:: use_duplicate_volume + + Causes volume data to be duplicated with the object (default False) + + :type: bool + + .. attribute:: use_enter_edit_mode + + Enter edit mode automatically after adding a new object (default False) + + :type: bool + + .. attribute:: use_fcurve_high_quality_drawing + + Draw F-Curves using Anti-Aliasing (disable for better performance) (default True) + + :type: bool + + .. attribute:: use_global_undo + + Global undo works by keeping a full copy of the file itself in memory, so takes extra memory (default True) + + :type: bool + + .. attribute:: use_insertkey_xyz_to_rgb + + Color for newly added transformation F-Curves (Location, Rotation, Scale) and also Color is based on the transform axis (default True) + + :type: bool + + .. attribute:: use_keyframe_insert_available + + Insert Keyframes only for properties that are already animated (default False) + + :type: bool + + .. attribute:: use_keyframe_insert_needed + + When keying manually, skip inserting keys that don't affect the animation (default False) + + :type: bool + + .. attribute:: use_mouse_depth_cursor + + Use the surface depth for cursor placement (default True) + + :type: bool + + .. attribute:: use_negative_frames + + Current frame number can be manually set to a negative value (default False) + + :type: bool + + .. attribute:: use_text_edit_auto_close + + Automatically close relevant character pairs when typing in the text editor (default False) + + :type: bool + + .. attribute:: use_visual_keying + + Use Visual keying automatically for constrained objects (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.edit` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesExperimental.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesExperimental.rst new file mode 100644 index 0000000..7751abe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesExperimental.rst @@ -0,0 +1,192 @@ +PreferencesExperimental(bpy_struct) +=================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PreferencesExperimental(bpy_struct) + + Experimental features + + .. attribute:: no_data_block_packing + + Fall-back to appending instead of packing data-blocks (default False) + + :type: bool + + .. attribute:: override_auto_resync + + Disable library overrides automatic resync detection and process on file load (can be useful to help fixing broken files). Also see the "--disable-liboverride-auto-resync" command line option (default False) + + :type: bool + + .. attribute:: show_asset_debug_info + + Enable some extra fields in the Asset Browser to aid in debugging (default False) + + :type: bool + + .. attribute:: use_all_linked_data_direct + + Forces all linked data to be considered as directly linked. Workaround for current issues/limitations in BAT (Blender studio pipeline tool) (default False) + + :type: bool + + .. attribute:: use_asset_indexing + + Disable the asset indexer, to force every asset library refresh to completely reread assets from disk (default False) + + :type: bool + + .. attribute:: use_cycles_debug + + Enable Cycles debugging options for developers (default False) + + :type: bool + + .. attribute:: use_eevee_debug + + Enable EEVEE debugging options for developers (default False) + + :type: bool + + .. attribute:: use_extended_asset_browser + + Enable Asset Browser editor and operators to manage regular data-blocks as assets, not just poses (default False) + + :type: bool + + .. attribute:: use_extensions_debug + + Extra debugging information & developer support utilities for extensions (default False) + + :type: bool + + .. attribute:: use_geometry_bundle + + Support storing custom bundles in a geometry in Geometry Nodes (default False) + + :type: bool + + .. attribute:: use_geometry_nodes_lists + + Enable new list types and nodes (default False) + + :type: bool + + .. attribute:: use_new_curves_tools + + Enable additional features for the new curves data block (default False) + + :type: bool + + .. attribute:: use_paint_debug + + Enable paint & sculpt debugging options for developers (default False) + + :type: bool + + .. attribute:: use_recompute_usercount_on_save_debug + + Recompute all ID user-counts before saving to a blend-file. Allows to work around invalid user-count handling in code that may lead to loss of data due to wrongly detected unused data-blocks (default False) + + :type: bool + + .. attribute:: use_sculpt_texture_paint + + Use texture painting in Sculpt Mode (default False) + + :type: bool + + .. attribute:: use_shader_node_previews + + Enables previews in the shader node editor (default False) + + :type: bool + + .. attribute:: use_undo_legacy + + Use legacy undo (slower than the new default one, but may be more stable in some cases) (default False) + + :type: bool + + .. attribute:: use_viewport_debug + + Enable viewport debugging options for developers in the overlays pop-over (default False) + + :type: bool + + .. attribute:: write_legacy_blend_file_format + + Use file format used before Blender 5.0. This format is more limited but it may have better compatibility with tools that don't support the new format yet (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.experimental` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesExtensions.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesExtensions.rst new file mode 100644 index 0000000..2ee866a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesExtensions.rst @@ -0,0 +1,96 @@ +PreferencesExtensions(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PreferencesExtensions(bpy_struct) + + Settings for extensions + + .. attribute:: active_repo + + Index of the extensions repository being edited in the Preferences UI (in [-32768, 32767], default 0) + + :type: int + + .. data:: repos + + (default None, readonly) + + :type: :class:`UserExtensionRepoCollection`\ [:class:`UserExtensionRepo`] + + .. attribute:: use_online_access_handled + + The user has been shown the "Online Access" prompt and made a choice (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.extensions` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesFilePaths.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesFilePaths.rst new file mode 100644 index 0000000..1e17943 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesFilePaths.rst @@ -0,0 +1,294 @@ +PreferencesFilePaths(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PreferencesFilePaths(bpy_struct) + + Default paths for external files + + .. attribute:: active_asset_library + + Index of the asset library being edited in the Preferences UI (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: animation_player + + Path to a custom animation/frame sequence player (default "", never None) + + :type: str + + .. attribute:: animation_player_preset + + Preset configs for external animation players (default ``'INTERNAL'``) + + - ``INTERNAL`` + Internal -- Built-in animation player. + - ``DJV`` + DJV -- Open source frame player. + - ``FRAMECYCLER`` + FrameCycler -- Frame player from IRIDAS. + - ``RV`` + RV -- Frame player from Tweak Software. + - ``MPLAYER`` + MPlayer -- Media player for video and PNG/JPEG/SGI image sequences. + - ``CUSTOM`` + Custom -- Custom animation player executable path. + + :type: Literal['INTERNAL', 'DJV', 'FRAMECYCLER', 'RV', 'MPLAYER', 'CUSTOM'] + + .. data:: asset_libraries + + (default None, readonly) + + :type: :class:`AssetLibraryCollection`\ [:class:`UserAssetLibrary`] + + .. attribute:: auto_save_time + + The time (in minutes) to wait between automatic temporary saves (in [1, 60], default 2) + + :type: int + + .. attribute:: file_preview_type + + What type of blend preview to create (default ``'AUTO'``) + + - ``NONE`` + None -- Do not create blend previews. + - ``AUTO`` + Auto -- Automatically select best preview type. + - ``SCREENSHOT`` + Screenshot -- Capture the entire window. + - ``CAMERA`` + Camera View -- Workbench render of scene. + + :type: Literal['NONE', 'AUTO', 'SCREENSHOT', 'CAMERA'] + + .. attribute:: font_directory + + The default directory to search for loading fonts (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: i18n_branches_directory + + The path to the '/branches' directory of your local svn-translation copy, to allow translating from the UI (default "", never None) + + :type: str + + .. attribute:: image_editor + + Path to an image editor (default "", never None) + + :type: str + + .. attribute:: recent_files + + Maximum number of recently opened files to remember (in [0, 1000], default 200) + + :type: int + + .. attribute:: render_cache_directory + + Where to cache raw render results (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: render_output_directory + + The default directory for rendering output, for new scenes (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: save_version + + The number of old versions to maintain in the current directory, when manually saving (in [0, 32], default 1) + + :type: int + + .. data:: script_directories + + (default None, readonly) + + :type: :class:`ScriptDirectoryCollection`\ [:class:`ScriptDirectory`] + + .. attribute:: show_hidden_files_datablocks + + Show files and data-blocks that are normally hidden (default True) + + :type: bool + + .. attribute:: show_recent_locations + + Show Recent locations list in the File Browser (default True) + + :type: bool + + .. attribute:: show_system_bookmarks + + Show System locations list in the File Browser (default True) + + :type: bool + + .. attribute:: sound_directory + + The default directory to search for sounds (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: temporary_directory + + The directory for storing temporary save files. The path must reference an existing directory or it will be ignored (default "", never None) + + :type: str + + .. attribute:: text_editor + + Command to launch the text editor, either a full path or a command in $PATH. + Use the internal editor when left blank + + (default "", never None) + + :type: str + + .. attribute:: text_editor_args + + Defines the specific format of the arguments with which the text editor opens files. The supported expansions are as follows: + + $filepath The absolute path of the file. + $line The line to open at (Optional). + $column The column to open from the beginning of the line (Optional). + $line0 & column0 start at zero. + Example: -f $filepath -l $line -c $column + + (default "", never None) + + :type: str + + .. attribute:: texture_directory + + The default directory to search for textures (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: use_auto_save_temporary_files + + Automatic saving of temporary files in temp directory, uses process ID. + Warning: Sculpt and edit mode data won't be saved + + (default True) + + :type: bool + + .. attribute:: use_extension_online_access_handled + + The user has been shown the "Online Access" prompt and made a choice (default False) + + :type: bool + + .. attribute:: use_file_compression + + Enable file compression when saving .blend files (default True) + + :type: bool + + .. attribute:: use_filter_files + + Enable filtering of files in the File Browser (default True) + + :type: bool + + .. attribute:: use_load_ui + + Load user interface setup when loading .blend files (default True) + + :type: bool + + .. attribute:: use_relative_paths + + Default relative path option for the file selector, when no path is defined yet (default True) + + :type: bool + + .. attribute:: use_scripts_auto_execute + + Allow any .blend file to run scripts automatically (unsafe with blend files from an untrusted source) (default False) + + :type: bool + + .. attribute:: use_tabs_as_spaces + + Automatically convert all new tabs into spaces for new and loaded text files (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.filepaths` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesInput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesInput.rst new file mode 100644 index 0000000..8d0dd63 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesInput.rst @@ -0,0 +1,293 @@ +PreferencesInput(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PreferencesInput(bpy_struct) + + Settings for input devices + + .. attribute:: drag_threshold + + Number of pixels to drag before a drag event is triggered for keyboard and other non mouse/tablet input (otherwise click events are detected) (in [1, 255], default 30) + + :type: int + + .. attribute:: drag_threshold_mouse + + Number of pixels to drag before a drag event is triggered for mouse/trackpad input (otherwise click events are detected) (in [1, 255], default 3) + + :type: int + + .. attribute:: drag_threshold_tablet + + Number of pixels to drag before a drag event is triggered for tablet input (otherwise click events are detected) (in [1, 255], default 10) + + :type: int + + .. attribute:: invert_mouse_zoom + + Invert the axis of mouse movement for zooming (default False) + + :type: bool + + .. attribute:: invert_zoom_wheel + + Swap the Mouse Wheel zoom direction (default False) + + :type: bool + + .. attribute:: mouse_double_click_time + + Time/delay (in ms) for a double click (in [1, 1000], default 350) + + :type: int + + .. attribute:: mouse_emulate_3_button_modifier + + Hold this modifier to emulate the middle mouse button (default ``'ALT'``) + + :type: Literal['ALT', 'OSKEY'] + + .. attribute:: move_threshold + + Number of pixels to before the cursor is considered to have moved (used for cycling selected items on successive clicks) (in [0, 255], default 2) + + :type: int + + .. attribute:: navigation_mode + + Which method to use for viewport navigation (default ``'WALK'``) + + :type: Literal[:ref:`rna_enum_navigation_mode_items`] + + .. attribute:: pressure_softness + + Adjusts softness of the low pressure response onset using a gamma curve (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: pressure_threshold_max + + Raw input pressure value that is interpreted as 100% by Blender (in [0, 1], default 1.0) + + :type: float + + .. attribute:: show_tablet_debug_values + + Show pressure values when using a paint operator (default False) + + :type: bool + + .. attribute:: tablet_api + + Select the tablet API to use for pressure sensitivity (may require restarting Blender for changes to take effect) (default ``'AUTOMATIC'``) + + - ``AUTOMATIC`` + Automatic -- Automatically choose Wintab or Windows Ink depending on the device. + - ``WINDOWS_INK`` + Windows Ink -- Use native Windows Ink API, for modern tablet and pen devices. Requires Windows 8 or newer.. + - ``WINTAB`` + Wintab -- Use Wintab driver for older tablets and Windows versions. + + :type: Literal['AUTOMATIC', 'WINDOWS_INK', 'WINTAB'] + + .. attribute:: touchpad_scroll_direction + + Scroll direction (Wayland only) (default ``'TRADITIONAL'``) + + - ``TRADITIONAL`` + Traditional -- Traditional scroll direction. + - ``NATURAL`` + Natural -- Natural scroll direction. + + :type: Literal['TRADITIONAL', 'NATURAL'] + + .. attribute:: use_auto_perspective + + Automatically switch between orthographic and perspective when changing from top/front/side views (default True) + + :type: bool + + .. attribute:: use_drag_immediately + + Moving things with a mouse drag confirms when releasing the button (default True) + + :type: bool + + .. attribute:: use_emulate_numpad + + Main 1 to 0 keys act as the numpad ones (useful for laptops) (default False) + + :type: bool + + .. attribute:: use_mouse_continuous + + Let the mouse wrap around the view boundaries so mouse movements are not limited by the screen size (used by transform, dragging of UI controls, etc.) (default True) + + :type: bool + + .. attribute:: use_mouse_depth_navigate + + Use the depth under the mouse to improve view pan/rotate/zoom functionality (default False) + + :type: bool + + .. attribute:: use_mouse_emulate_3_button + + Emulate Middle Mouse with Alt+Left Mouse (default False) + + :type: bool + + .. attribute:: use_multitouch_gestures + + Use multi-touch gestures for navigation with touchpad, instead of scroll wheel emulation (default True) + + :type: bool + + .. attribute:: use_numeric_input_advanced + + When entering numbers while transforming, default to advanced mode for full math expression evaluation (default False) + + :type: bool + + .. attribute:: use_rotate_around_active + + Use the selection (or the last stroke center in Paint modes) as the pivot point for orbiting (default False) + + :type: bool + + .. attribute:: use_zoom_to_mouse + + Zoom in towards the mouse pointer's position in the 3D view, rather than the 2D window center (default False) + + :type: bool + + .. attribute:: view_rotate_method + + Orbit method in the viewport (default ``'TURNTABLE'``) + + - ``TURNTABLE`` + Turntable -- Turntable keeps the Z-axis upright while orbiting. + - ``TRACKBALL`` + Trackball -- Trackball allows you to tumble your view at any angle. + + :type: Literal['TURNTABLE', 'TRACKBALL'] + + .. attribute:: view_rotate_sensitivity_trackball + + Scale trackball orbit sensitivity (in [0.1, 10], default 1.0) + + :type: float + + .. attribute:: view_rotate_sensitivity_turntable + + Rotation amount per pixel to control how fast the viewport orbits (in [1.74533e-05, 0.261799], default 0.00698132) + + :type: float + + .. attribute:: view_zoom_axis + + Axis of mouse movement to zoom in or out on (default ``'VERTICAL'``) + + - ``VERTICAL`` + Vertical -- Zoom in and out based on vertical mouse movement. + - ``HORIZONTAL`` + Horizontal -- Zoom in and out based on horizontal mouse movement. + + :type: Literal['VERTICAL', 'HORIZONTAL'] + + .. attribute:: view_zoom_method + + Which style to use for viewport scaling (default ``'DOLLY'``) + + - ``CONTINUE`` + Continue -- Continuous zooming. The zoom direction and speed depends on how far along the set Zoom Axis the mouse has moved.. + - ``DOLLY`` + Dolly -- Zoom in and out based on mouse movement along the set Zoom Axis. + - ``SCALE`` + Scale -- Zoom in and out as if you are scaling the view, mouse movements relative to center. + + :type: Literal['CONTINUE', 'DOLLY', 'SCALE'] + + .. data:: walk_navigation + + Settings for walk navigation mode (readonly, never None) + + :type: :class:`WalkNavigation` + + .. data:: xr_navigation + + Settings for navigation in XR (readonly, never None) + + :type: :class:`XrNavigation` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.inputs` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesKeymap.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesKeymap.rst new file mode 100644 index 0000000..03432f6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesKeymap.rst @@ -0,0 +1,90 @@ +PreferencesKeymap(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PreferencesKeymap(bpy_struct) + + Shortcut setup for keyboards and other input devices + + .. attribute:: active_keyconfig + + The name of the active key configuration (default "", never None) + + :type: str + + .. attribute:: show_ui_keyconfig + + (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.keymap` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesSystem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesSystem.rst new file mode 100644 index 0000000..6945ad2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesSystem.rst @@ -0,0 +1,395 @@ +PreferencesSystem(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PreferencesSystem(bpy_struct) + + Graphics driver and operating system settings + + .. attribute:: anisotropic_filter + + Quality of anisotropic filtering (default ``'FILTER_2'``) + + :type: Literal['FILTER_0', 'FILTER_2', 'FILTER_4', 'FILTER_8', 'FILTER_16'] + + .. attribute:: audio_channels + + Audio channel count (default ``'STEREO'``) + + - ``MONO`` + Mono -- Set audio channels to mono. + - ``STEREO`` + Stereo -- Set audio channels to stereo. + - ``SURROUND4`` + 4 Channels -- Set audio channels to 4 channels. + - ``SURROUND51`` + 5.1 Surround -- Set audio channels to 5.1 surround sound. + - ``SURROUND71`` + 7.1 Surround -- Set audio channels to 7.1 surround sound. + + :type: Literal['MONO', 'STEREO', 'SURROUND4', 'SURROUND51', 'SURROUND71'] + + .. attribute:: audio_device + + Audio output device (default ``'None'``) + + - ``None`` + None -- No device - there will be no audio output. + + :type: Literal['None'] + + .. attribute:: audio_mixing_buffer + + Number of samples used by the audio mixing buffer (default ``'SAMPLES_2048'``) + + - ``SAMPLES_256`` + 256 Samples -- Set audio mixing buffer size to 256 samples. + - ``SAMPLES_512`` + 512 Samples -- Set audio mixing buffer size to 512 samples. + - ``SAMPLES_1024`` + 1024 Samples -- Set audio mixing buffer size to 1024 samples. + - ``SAMPLES_2048`` + 2048 Samples -- Set audio mixing buffer size to 2048 samples. + - ``SAMPLES_4096`` + 4096 Samples -- Set audio mixing buffer size to 4096 samples. + - ``SAMPLES_8192`` + 8192 Samples -- Set audio mixing buffer size to 8192 samples. + - ``SAMPLES_16384`` + 16384 Samples -- Set audio mixing buffer size to 16384 samples. + - ``SAMPLES_32768`` + 32768 Samples -- Set audio mixing buffer size to 32768 samples. + + :type: Literal['SAMPLES_256', 'SAMPLES_512', 'SAMPLES_1024', 'SAMPLES_2048', 'SAMPLES_4096', 'SAMPLES_8192', 'SAMPLES_16384', 'SAMPLES_32768'] + + .. attribute:: audio_sample_format + + Audio sample format (default ``'FLOAT'``) + + - ``U8`` + 8-bit Unsigned -- Set audio sample format to 8-bit unsigned integer. + - ``S16`` + 16-bit Signed -- Set audio sample format to 16-bit signed integer. + - ``S24`` + 24-bit Signed -- Set audio sample format to 24-bit signed integer. + - ``S32`` + 32-bit Signed -- Set audio sample format to 32-bit signed integer. + - ``FLOAT`` + 32-bit Float -- Set audio sample format to 32-bit float. + - ``DOUBLE`` + 64-bit Float -- Set audio sample format to 64-bit float. + + :type: Literal['U8', 'S16', 'S24', 'S32', 'FLOAT', 'DOUBLE'] + + .. attribute:: audio_sample_rate + + Audio sample rate (default ``'RATE_48000'``) + + - ``RATE_44100`` + 44.1 kHz -- Set audio sampling rate to 44100 samples per second. + - ``RATE_48000`` + 48 kHz -- Set audio sampling rate to 48000 samples per second. + - ``RATE_96000`` + 96 kHz -- Set audio sampling rate to 96000 samples per second. + - ``RATE_192000`` + 192 kHz -- Set audio sampling rate to 192000 samples per second. + + :type: Literal['RATE_44100', 'RATE_48000', 'RATE_96000', 'RATE_192000'] + + .. data:: dpi + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: gl_clip_alpha + + Clip alpha below this threshold in the 3D textured view (in [0, 1], default 0.004) + + :type: float + + .. attribute:: gl_texture_limit + + Limit the texture size to save graphics memory (default ``'CLAMP_OFF'``) + + :type: Literal['CLAMP_OFF', 'CLAMP_8192', 'CLAMP_4096', 'CLAMP_2048', 'CLAMP_1024', 'CLAMP_512', 'CLAMP_256', 'CLAMP_128'] + + .. attribute:: gpu_backend + + GPU backend to use (requires restarting Blender for changes to take effect) (default ``'OPENGL'``) + + - ``OPENGL`` + OpenGL -- Use OpenGL backend. + - ``METAL`` + Metal -- Use Metal backend. + - ``VULKAN`` + Vulkan -- Use Vulkan backend. + + :type: Literal['OPENGL', 'METAL', 'VULKAN'] + + .. attribute:: gpu_preferred_device + + Preferred device to select during detection (requires restarting Blender for changes to take effect) (default ``'AUTO'``) + + - ``AUTO`` + Auto -- Auto detect best GPU for running Blender. + + :type: Literal['AUTO'] + + .. attribute:: gpu_shader_workers + + Number of shader compilation threads or subprocesses, clamped at the max threads supported by the CPU (requires restarting Blender for changes to take effect). A higher number increases the RAM usage while reducing compilation time. A value of 0 will use automatic configuration. (OpenGL only) (in [0, 32], default 0) + + :type: int + + .. attribute:: image_draw_method + + Method used for displaying images on the screen (default ``'AUTO'``) + + - ``AUTO`` + Automatic -- Automatically choose method based on GPU and image. + - ``2DTEXTURE`` + 2D Texture -- Use CPU for display transform and display image with 2D texture. + - ``GLSL`` + GLSL -- Use GLSL shaders for display transform and display image with 2D texture. + + :type: Literal['AUTO', '2DTEXTURE', 'GLSL'] + + .. data:: is_microsoft_store_install + + Whether this blender installation is a sandboxed Microsoft Store version (default False, readonly) + + :type: bool + + .. attribute:: light_ambient + + Color of the ambient light that uniformly lit the scene (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: memory_cache_limit + + Memory cache limit (in megabytes) (in [0, inf], default 4096) + + :type: int + + .. attribute:: network_connection_limit + + Limit the number of simultaneous internet connections online operations may make at once. Zero disables the limit. (in [0, 255], default 0) + + :type: int + + .. attribute:: network_timeout + + The time in seconds to wait for online operations before a connection may fail with a time-out error. Zero uses the systems default. (in [0, 255], default 0) + + :type: int + + .. data:: pixel_size + + (in [-inf, inf], default 1.0, readonly) + + :type: float + + .. attribute:: register_all_users + + Make this Blender version open blend files for all users. Requires elevated privileges. (default False) + + :type: bool + + .. attribute:: scrollback + + Maximum number of lines to store for the console buffer (in [32, 32768], default 256) + + :type: int + + .. attribute:: sequencer_proxy_setup + + When and how proxies are created (default ``'AUTOMATIC'``) + + - ``MANUAL`` + Manual -- Set up proxies manually. + - ``AUTOMATIC`` + Automatic -- Build proxies for added movie and image strips in each preview size. + + :type: Literal['MANUAL', 'AUTOMATIC'] + + .. attribute:: shader_compilation_method + + Compilation method used for compiling shaders in parallel. Subprocess requires a lot more RAM for each worker but might compile shaders faster on some systems. Requires restarting Blender for changes to take effect. (OpenGL only) (default ``'THREAD'``) + + - ``THREAD`` + Thread -- Use threads for compiling shaders. + - ``SUBPROCESS`` + Subprocess -- Use subprocesses for compiling shaders. + + :type: Literal['THREAD', 'SUBPROCESS'] + + .. data:: solid_lights + + Lights used to display objects in solid shading mode (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`UserSolidLight`] + + .. attribute:: texture_collection_rate + + Number of seconds between each run of the GL texture garbage collector (in [1, 3600], default 60) + + :type: int + + .. attribute:: texture_time_out + + Time since last access of a GL texture in seconds after which it is freed (set to 0 to keep textures allocated) (in [0, 3600], default 120) + + :type: int + + .. data:: ui_line_width + + Suggested line thickness and point size in pixels, for add-ons displaying custom user interface elements, based on operating system settings and Blender UI scale (in [-inf, inf], default 1.0, readonly) + + :type: float + + .. data:: ui_scale + + Size multiplier to use when displaying custom user interface elements, so that they are scaled correctly on screens with different DPI. This value is based on operating system DPI settings and Blender display scale. (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. attribute:: use_edit_mode_smooth_wire + + Enable edit mode edge smoothing, reducing aliasing (requires restart) (default True) + + :type: bool + + .. attribute:: use_gpu_subdivision + + Enable GPU acceleration for evaluating the last subdivision surface modifiers in the stack (default True) + + :type: bool + + .. attribute:: use_online_access + + Allow Blender to access the internet. Add-ons that follow this setting will only connect to the internet if enabled. However, Blender cannot prevent third-party add-ons from violating this rule. (default False) + + :type: bool + + .. attribute:: use_overlay_smooth_wire + + Enable overlay smooth wires, reducing aliasing (default True) + + :type: bool + + .. attribute:: use_region_overlap + + Display tool/property regions over the main region (default True) + + :type: bool + + .. attribute:: use_studio_light_edit + + View the result of the studio light editor in the viewport (default False) + + :type: bool + + .. attribute:: vbo_collection_rate + + Number of seconds between each run of the GL vertex buffer object garbage collector (in [1, 3600], default 60) + + :type: int + + .. attribute:: vbo_time_out + + Time since last access of a GL vertex buffer object in seconds after which it is freed (set to 0 to keep VBO allocated) (in [0, 3600], default 120) + + :type: int + + .. attribute:: viewport_aa + + Method of anti-aliasing in 3d viewport (default ``'8'``) + + - ``OFF`` + No Anti-Aliasing -- Scene will be rendering without any anti-aliasing. + - ``FXAA`` + Single Pass Anti-Aliasing -- Scene will be rendered using a single pass anti-aliasing method (FXAA). + - ``5`` + 5 Samples -- Scene will be rendered using 5 anti-aliasing samples. + - ``8`` + 8 Samples -- Scene will be rendered using 8 anti-aliasing samples. + - ``11`` + 11 Samples -- Scene will be rendered using 11 anti-aliasing samples. + - ``16`` + 16 Samples -- Scene will be rendered using 16 anti-aliasing samples. + - ``32`` + 32 Samples -- Scene will be rendered using 32 anti-aliasing samples. + + :type: Literal['OFF', 'FXAA', '5', '8', '11', '16', '32'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.system` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesView.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesView.rst new file mode 100644 index 0000000..6472964 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PreferencesView.rst @@ -0,0 +1,552 @@ +PreferencesView(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PreferencesView(bpy_struct) + + Preferences related to viewing data + + .. attribute:: border_width + + Size of the padding around each editor. (in [1, 10], default 2) + + :type: int + + .. attribute:: color_picker_type + + Different styles of displaying the color picker widget (default ``'CIRCLE_HSV'``) + + - ``CIRCLE_HSV`` + Circle (HSV) -- A circular Hue/Saturation color wheel, with Value slider. + - ``CIRCLE_HSL`` + Circle (HSL) -- A circular Hue/Saturation color wheel, with Lightness slider. + - ``SQUARE_SV`` + Square (SV + H) -- A square showing Saturation/Value, with Hue slider. + - ``SQUARE_HS`` + Square (HS + V) -- A square showing Hue/Saturation, with Value slider. + - ``SQUARE_HV`` + Square (HV + S) -- A square showing Hue/Value, with Saturation slider. + + :type: Literal['CIRCLE_HSV', 'CIRCLE_HSL', 'SQUARE_SV', 'SQUARE_HS', 'SQUARE_HV'] + + .. attribute:: factor_display_type + + How factor values are displayed (default ``'FACTOR'``) + + - ``FACTOR`` + Factor -- Display factors as values between 0 and 1. + - ``PERCENTAGE`` + Percentage -- Display factors as percentages. + + :type: Literal['FACTOR', 'PERCENTAGE'] + + .. attribute:: filebrowser_display_type + + Default location where the File Editor will be displayed in (default ``'WINDOW'``) + + - ``SCREEN`` + Maximized Area -- Open the temporary editor in a maximized screen. + - ``WINDOW`` + New Window -- Open the temporary editor in a new window. + + :type: Literal['SCREEN', 'WINDOW'] + + .. attribute:: font_path_ui + + Path to interface font (default "", never None) + + :type: str + + .. attribute:: font_path_ui_mono + + Path to interface monospaced Font (default "", never None) + + :type: str + + .. attribute:: gizmo_size + + Diameter of the gizmo (in [10, 200], default 75) + + :type: int + + .. attribute:: gizmo_size_navigate_v3d + + The Navigate Gizmo size (in [30, 200], default 80) + + :type: int + + .. attribute:: header_align + + Default header position for new space-types (default ``'BOTTOM'``) + + - ``NONE`` + Keep Existing -- Keep existing header alignment. + - ``TOP`` + Top -- Top aligned on load. + - ``BOTTOM`` + Bottom -- Bottom align on load (except for property editors). + + :type: Literal['NONE', 'TOP', 'BOTTOM'] + + .. attribute:: language + + Language used for translation (default ``'DEFAULT'``) + + - ``DEFAULT`` + Automatic (Automatic) -- Automatically choose the system-defined language if available, or fall-back to English (US). + + :type: Literal['DEFAULT'] + + .. attribute:: lookdev_sphere_size + + Diameter of the HDRI reference spheres (in [50, 400], default 150) + + :type: int + + .. attribute:: menu_close_leave + + Close menus when the mouse is moved out of the region. (default False) + + :type: bool + + .. attribute:: mini_axis_brightness + + Brightness of the icon (in [0, 10], default 8) + + :type: int + + .. attribute:: mini_axis_size + + The axes icon's size (in [10, 64], default 25) + + :type: int + + .. attribute:: mini_axis_type + + Show small rotating 3D axes in the top right corner of the 3D viewport (default ``'GIZMO'``) + + :type: Literal['NONE', 'MINIMAL', 'GIZMO'] + + .. attribute:: open_sublevel_delay + + Time delay in 1/10 seconds before automatically opening sub level menus (in [1, 40], default 2) + + :type: int + + .. attribute:: open_toplevel_delay + + Time delay in 1/10 seconds before automatically opening top level menus (in [1, 40], default 5) + + :type: int + + .. attribute:: pie_animation_timeout + + Time needed to fully animate the pie to unfolded state (in 1/100ths of sec) (in [0, 1000], default 6) + + :type: int + + .. attribute:: pie_initial_timeout + + Pie menus will use the initial mouse position as center for this amount of time (in 1/100ths of sec) (in [0, 1000], default 0) + + :type: int + + .. attribute:: pie_menu_confirm + + Distance threshold after which selection is made (zero to disable) (in [0, 1000], default 0) + + :type: int + + .. attribute:: pie_menu_radius + + Pie menu size in pixels (in [0, 1000], default 100) + + :type: int + + .. attribute:: pie_menu_threshold + + Distance from center needed before a selection can be made (in [0, 1000], default 12) + + :type: int + + .. attribute:: pie_tap_timeout + + Pie menu button held longer than this will dismiss menu on release (in 1/100ths of sec) (in [0, 1000], default 20) + + :type: int + + .. attribute:: playback_fps_samples + + The number of frames to use for calculating FPS average. Zero to calculate this automatically, where the number of samples matches the target FPS. (in [0, 5000], default 8) + + :type: int + + .. attribute:: preferences_display_type + + Default location where the Preferences will be displayed in (default ``'WINDOW'``) + + - ``SCREEN`` + Maximized Area -- Open the temporary editor in a maximized screen. + - ``WINDOW`` + New Window -- Open the temporary editor in a new window. + + :type: Literal['SCREEN', 'WINDOW'] + + .. attribute:: render_display_type + + Default location where rendered images will be displayed in (default ``'WINDOW'``) + + - ``NONE`` + Keep User Interface -- Images are rendered without changing the user interface. + - ``SCREEN`` + Maximized Area -- Images are rendered in a maximized Image Editor. + - ``AREA`` + Image Editor -- Images are rendered in an Image Editor. + - ``WINDOW`` + New Window -- Images are rendered in a new window. + + :type: Literal['NONE', 'SCREEN', 'AREA', 'WINDOW'] + + .. attribute:: rotation_angle + + Rotation step for numerical pad keys (2 4 6 8) (in [0, 90], default 15.0) + + :type: float + + .. attribute:: show_addons_enabled_only + + Only show enabled add-ons. Un-check to see all installed add-ons. (default False) + + :type: bool + + .. attribute:: show_area_handle + + Show visible area maintenance corner handles (default False) + + :type: bool + + .. attribute:: show_column_layout + + Use a column layout for toolbox (default True) + + :type: bool + + .. attribute:: show_developer_ui + + Display advanced settings and tools for developers (default False) + + :type: bool + + .. attribute:: show_extensions_updates + + Show Extensions Update Count (default True) + + :type: bool + + .. attribute:: show_gizmo + + Use transform gizmos by default (default True) + + :type: bool + + .. attribute:: show_navigate_ui + + Show navigation controls in 2D and 3D views which do not have scroll bars (default True) + + :type: bool + + .. attribute:: show_number_arrows + + Display arrows in numeric input fields for increasing or decreasing values (default False) + + :type: bool + + .. attribute:: show_object_info + + Include the name of the active object and the current frame number in the text info overlay (default True) + + :type: bool + + .. attribute:: show_playback_fps + + Include the number of frames displayed per second in the text info overlay while animation is played back (default True) + + :type: bool + + .. attribute:: show_splash + + Display splash screen on startup (default True) + + :type: bool + + .. attribute:: show_statusbar_memory + + Show Blender memory usage (default False) + + :type: bool + + .. attribute:: show_statusbar_scene_duration + + Show scene duration (default False) + + :type: bool + + .. attribute:: show_statusbar_stats + + Show scene statistics (default False) + + :type: bool + + .. attribute:: show_statusbar_version + + Show Blender version string (default True) + + :type: bool + + .. attribute:: show_statusbar_vram + + Show GPU video memory usage (default False) + + :type: bool + + .. attribute:: show_tooltips + + Display tooltips (when disabled, hold Alt then hover to force display) (default True) + + :type: bool + + .. attribute:: show_tooltips_python + + Show Python references in tooltips (default False) + + :type: bool + + .. attribute:: show_view_name + + Include the name of the view orientation in the text info overlay (default True) + + :type: bool + + .. attribute:: smooth_view + + Time to animate the view in milliseconds, zero to disable (in [0, 1000], default 200) + + :type: int + + .. attribute:: text_hinting + + Method for making user interface text render sharp (default ``'AUTO'``) + + :type: Literal['AUTO', 'NONE', 'SLIGHT', 'FULL'] + + .. attribute:: timecode_style + + Format of timecode displayed when not displaying timing in terms of frames (default ``'MINIMAL'``) + + - ``MINIMAL`` + Minimal Info -- Most compact representation, uses '+' as separator for sub-second frame numbers, with left and right truncation of the timecode as necessary. + - ``SMPTE`` + SMPTE (Full) -- Full SMPTE timecode (format is HH:MM:SS:FF). + - ``SMPTE_COMPACT`` + SMPTE (Compact) -- SMPTE timecode showing minutes, seconds, and frames only - hours are also shown if necessary, but not by default. + - ``MILLISECONDS`` + Compact with Decimals -- Similar to SMPTE (Compact), except that the decimal part of the second is shown instead of frames. + - ``SECONDS_ONLY`` + Only Seconds -- Direct conversion of frame numbers to seconds. + + :type: Literal['MINIMAL', 'SMPTE', 'SMPTE_COMPACT', 'MILLISECONDS', 'SECONDS_ONLY'] + + .. attribute:: ui_line_width + + Changes the thickness of widget outlines, lines and dots in the interface (default ``'AUTO'``) + + - ``THIN`` + Thin -- Thinner lines than the default. + - ``AUTO`` + Default -- Automatic line width based on UI scale. + - ``THICK`` + Thick -- Thicker lines than the default. + + :type: Literal['THIN', 'AUTO', 'THICK'] + + .. attribute:: ui_scale + + Changes the size of the fonts and widgets in the interface (in [0.5, 6], default 1.0) + + :type: float + + .. attribute:: use_filter_brushes_by_tool + + Only show brushes applicable for the currently active tool in the asset shelf. Stored in the Preferences, which may have to be saved manually if Auto-Save Preferences is disabled (default False) + + :type: bool + + .. attribute:: use_fresnel_edit + + Enable a fresnel effect on edit mesh overlays. + It improves shape readability of very dense meshes, but increases eye fatigue when modeling lower poly + + (default False) + + :type: bool + + .. attribute:: use_mouse_over_open + + Open menu buttons and pull-downs automatically when the mouse is hovering (default False) + + :type: bool + + .. attribute:: use_reduce_motion + + Avoid animations and other motion effects in the interface (default False) + + :type: bool + + .. attribute:: use_save_prompt + + Ask for confirmation when quitting with unsaved changes (default True) + + :type: bool + + .. attribute:: use_text_antialiasing + + Smooth jagged edges of user interface text (default True) + + :type: bool + + .. attribute:: use_text_render_subpixelaa + + Render text for optimal horizontal placement (default False) + + :type: bool + + .. attribute:: use_translate_interface + + Translate all labels in menus, buttons and panels (note that this might make it hard to follow tutorials or the manual) (default True) + + :type: bool + + .. attribute:: use_translate_new_dataname + + Translate the names of new data-blocks (objects, materials...) (default True) + + :type: bool + + .. attribute:: use_translate_reports + + Translate additional information, such as error messages (default True) + + :type: bool + + .. attribute:: use_translate_tooltips + + Translate the descriptions when hovering UI elements (recommended) (default True) + + :type: bool + + .. attribute:: use_weight_color_range + + Enable color range used for weight visualization in weight painting mode (default False) + + :type: bool + + .. attribute:: view2d_grid_spacing_min + + Minimum number of pixels between each gridline in 2D Viewports (in [1, 500], default 45) + + :type: int + + .. attribute:: view_frame_keyframes + + Keyframes around cursor that we zoom around (in [1, 500], default 0) + + :type: int + + .. attribute:: view_frame_seconds + + Seconds around cursor that we zoom around (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: view_frame_type + + How zooming to frame focuses around current frame (default ``'KEEP_RANGE'``) + + :type: Literal['KEEP_RANGE', 'SECONDS', 'KEYFRAMES'] + + .. data:: weight_color_range + + Color range used for weight visualization in weight painting mode (readonly, never None) + + :type: :class:`ColorRamp` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.view` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveBoolean.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveBoolean.rst new file mode 100644 index 0000000..7f59d17 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveBoolean.rst @@ -0,0 +1,76 @@ +PrimitiveBoolean(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PrimitiveBoolean(bpy_struct) + + RNA wrapped boolean + + .. data:: value + + (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveFloat.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveFloat.rst new file mode 100644 index 0000000..3ed93ab --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveFloat.rst @@ -0,0 +1,76 @@ +PrimitiveFloat(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PrimitiveFloat(bpy_struct) + + RNA wrapped float + + .. data:: value + + (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveInt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveInt.rst new file mode 100644 index 0000000..1111169 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveInt.rst @@ -0,0 +1,76 @@ +PrimitiveInt(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PrimitiveInt(bpy_struct) + + RNA wrapped int + + .. data:: value + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveString.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveString.rst new file mode 100644 index 0000000..2f109ee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PrimitiveString.rst @@ -0,0 +1,76 @@ +PrimitiveString(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PrimitiveString(bpy_struct) + + RNA wrapped string + + .. data:: value + + (default b"", readonly, never None) + + :type: bytes + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Property.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Property.rst new file mode 100644 index 0000000..091b802 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Property.rst @@ -0,0 +1,275 @@ +Property(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`BoolProperty`, :class:`CollectionProperty`, :class:`EnumProperty`, :class:`FloatProperty`, :class:`IntProperty`, :class:`PointerProperty`, :class:`StringProperty` + +.. class:: Property(bpy_struct) + + RNA property definition + + .. data:: deprecated_note + + A note regarding deprecation (default "", readonly, never None) + + :type: str + + .. data:: deprecated_removal_version + + The Blender version this is expected to be removed (array of 3 items, in [-inf, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: deprecated_version + + The Blender version this was deprecated (array of 3 items, in [-inf, inf], default (0, 0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. data:: description + + Description of the property for tooltips (default "", readonly, never None) + + :type: str + + .. data:: icon + + Icon of the item (default ``'NONE'``, readonly) + + :type: Literal[:ref:`rna_enum_icon_items`] + + .. data:: identifier + + Unique name used in the code and scripting (default "", readonly, never None) + + :type: str + + .. data:: is_animatable + + Property is animatable through RNA (default False, readonly) + + :type: bool + + .. data:: is_argument_optional + + True when the property is optional in a Python function implementing an RNA function (default False, readonly) + + :type: bool + + .. data:: is_deprecated + + The property is deprecated (default False, readonly) + + :type: bool + + .. data:: is_enum_flag + + True when multiple enums (default False, readonly) + + :type: bool + + .. data:: is_hidden + + True when the property is hidden (default False, readonly) + + :type: bool + + .. data:: is_library_editable + + Property is editable from linked instances (changes not saved) (default False, readonly) + + :type: bool + + .. data:: is_never_none + + True when this value cannot be set to None (default False, readonly) + + :type: bool + + .. data:: is_output + + True when this property is an output value from an RNA function (default False, readonly) + + :type: bool + + .. data:: is_overridable + + Property is overridable through RNA (default False, readonly) + + :type: bool + + .. data:: is_path_output + + Property is a filename, filepath or directory output (default False, readonly) + + :type: bool + + .. data:: is_path_supports_blend_relative + + Property is a path which supports the "//" prefix, signifying the location as relative to the ".blend" file's directory (default False, readonly) + + :type: bool + + .. data:: is_path_supports_templates + + Property is a path which supports the "{variable_name}" variable expression syntax, which substitutes the value of the referenced variable in place of the expression (default False, readonly) + + :type: bool + + .. data:: is_readonly + + Property is editable through RNA (default False, readonly) + + :type: bool + + .. data:: is_registered + + Property is registered as part of type registration (default False, readonly) + + :type: bool + + .. data:: is_registered_optional + + Property is optionally registered as part of type registration (default False, readonly) + + :type: bool + + .. data:: is_required + + False when this property is an optional argument in an RNA function (default False, readonly) + + :type: bool + + .. data:: is_runtime + + Property has been dynamically created at runtime (default False, readonly) + + :type: bool + + .. data:: is_skip_preset + + True when the property is not saved in presets (default False, readonly) + + :type: bool + + .. data:: is_skip_save + + True when the property uses ghost values (default False, readonly) + + :type: bool + + .. data:: name + + Human readable name (default "", readonly, never None) + + :type: str + + .. data:: srna + + Struct definition used for properties assigned to this item (readonly) + + :type: :class:`Struct` | None + + .. data:: subtype + + Semantic interpretation of the property (default ``'NONE'``, readonly) + + :type: Literal[:ref:`rna_enum_property_subtype_items`] + + .. data:: tags + + Subset of tags (defined in parent struct) that are set for this property (default set(), readonly) + + :type: set[str] + + .. data:: translation_context + + Translation context of the property's name (default "", readonly, never None) + + :type: str + + .. data:: type + + Data type of the property (default ``'BOOLEAN'``, readonly) + + :type: Literal[:ref:`rna_enum_property_type_items`] + + .. data:: unit + + Type of units for this property (default ``'NONE'``, readonly) + + :type: Literal[:ref:`rna_enum_property_unit_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.texture_user_property` + - :class:`Function.parameters` + - :class:`Struct.properties` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PropertyGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PropertyGroup.rst new file mode 100644 index 0000000..597a70d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PropertyGroup.rst @@ -0,0 +1,149 @@ +PropertyGroup(bpy_struct) +========================= + +.. currentmodule:: bpy.types + + +Custom Properties ++++++++++++++++++ + +PropertyGroups are the base class for dynamically defined sets of properties. + +They can be used to extend existing Blender data with your own types which can +be animated, accessed from the user interface and from Python. + +.. note:: + + The values assigned to Blender data are saved to disk but the class + definitions are not, this means whenever you load Blender the class needs + to be registered too. + + This is best done by creating an add-on which loads on startup and registers + your properties. + +.. note:: + + PropertyGroups must be registered before assigning them to Blender data. + +.. seealso:: + + Property types used in class declarations are all in :mod:`bpy.props` + +.. literalinclude:: ./examples/bpy.types.PropertyGroup.0.py + :lines: 27- + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`OperatorFileListElement`, :class:`OperatorMousePath`, :class:`OperatorStrokeElement`, :class:`SelectedUvElement` + +.. class:: PropertyGroup(bpy_struct) + + Group of ID properties + + .. attribute:: name + + Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed (default "", never None) + + :type: str + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AddonPreferences.bl_system_properties_get` + - :class:`Bone.bl_system_properties_get` + - :class:`BoneCollection.bl_system_properties_get` + - :class:`CollectionExport.export_properties` + - :class:`EditBone.bl_system_properties_get` + - :class:`GizmoGroupProperties.bl_system_properties_get` + - :class:`GizmoProperties.bl_system_properties_get` + - :class:`ID.bl_system_properties_get` + - :class:`IDPropertyWrapPtr.bl_system_properties_get` + - :class:`KeyConfigPreferences.bl_system_properties_get` + - :class:`Node.bl_system_properties_get` + - :class:`NodeSocket.bl_system_properties_get` + - :class:`NodeTreeInterfaceSocket.bl_system_properties_get` + - :class:`NodesModifier.bl_system_properties_get` + - :class:`OperatorProperties.bl_system_properties_get` + - :class:`PoseBone.bl_system_properties_get` + - :class:`PropertyGroup.bl_system_properties_get` + - :class:`PropertyGroupItem.collection` + - :class:`PropertyGroupItem.group` + - :class:`PropertyGroupItem.idp_array` + - :class:`Strip.bl_system_properties_get` + - :class:`TimelineMarker.bl_system_properties_get` + - :class:`UIList.bl_system_properties_get` + - :class:`View3DShading.bl_system_properties_get` + - :class:`ViewLayer.bl_system_properties_get` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PropertyGroupItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PropertyGroupItem.rst new file mode 100644 index 0000000..bd210a7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.PropertyGroupItem.rst @@ -0,0 +1,152 @@ +PropertyGroupItem(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: PropertyGroupItem(bpy_struct) + + Property that stores arbitrary, user defined properties + + .. attribute:: bool + + (default False) + + :type: bool + + .. attribute:: bool_array + + (array of 1 items, default (False,)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. data:: collection + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`PropertyGroup`] + + .. attribute:: double + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: double_array + + (array of 1 items, in [-inf, inf], default (0.0,)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: enum + + (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. attribute:: float + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: float_array + + (array of 1 items, in [-inf, inf], default (0.0,)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: group + + (readonly) + + :type: :class:`PropertyGroup` | None + + .. attribute:: id + + :type: :class:`ID` | None + + .. data:: idp_array + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`PropertyGroup`] + + .. attribute:: int + + (in [-inf, inf], default 0) + + :type: int + + .. attribute:: int_array + + (array of 1 items, in [-inf, inf], default (0,)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: string + + (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.QuaternionAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.QuaternionAttribute.rst new file mode 100644 index 0000000..5d9c171 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.QuaternionAttribute.rst @@ -0,0 +1,84 @@ +QuaternionAttribute(Attribute) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: QuaternionAttribute(Attribute) + + Geometry attribute that stores rotation + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`QuaternionAttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.QuaternionAttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.QuaternionAttributeValue.rst new file mode 100644 index 0000000..252f00b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.QuaternionAttributeValue.rst @@ -0,0 +1,84 @@ +QuaternionAttributeValue(bpy_struct) +==================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: QuaternionAttributeValue(bpy_struct) + + Rotation value in geometry attribute + + .. attribute:: value + + Quaternion (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`QuaternionAttribute.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RENDER_UL_renderviews.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RENDER_UL_renderviews.rst new file mode 100644 index 0000000..3efb331 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RENDER_UL_renderviews.rst @@ -0,0 +1,92 @@ +RENDER_UL_renderviews(UIList) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: RENDER_UL_renderviews(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RaytraceEEVEE.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RaytraceEEVEE.rst new file mode 100644 index 0000000..901978d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RaytraceEEVEE.rst @@ -0,0 +1,137 @@ +RaytraceEEVEE(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RaytraceEEVEE(bpy_struct) + + Quality options for the raytracing pipeline + + .. attribute:: denoise_bilateral + + Blur the resolved radiance using a bilateral filter (default True) + + :type: bool + + .. attribute:: denoise_spatial + + Reuse neighbor pixels' rays (default True) + + :type: bool + + .. attribute:: denoise_temporal + + Accumulate samples by reprojecting last tracing results (default True) + + :type: bool + + .. attribute:: resolution_scale + + Determines the number of rays per pixel. Higher resolution uses more memory. (default ``'2'``) + + - ``1`` + 1:1 -- Full resolution. + - ``2`` + 1:2 -- Render this effect at 50% render resolution. + - ``4`` + 1:4 -- Render this effect at 25% render resolution. + - ``8`` + 1:8 -- Render this effect at 12.5% render resolution. + - ``16`` + 1:16 -- Render this effect at 6.25% render resolution. + + :type: Literal['1', '2', '4', '8', '16'] + + .. attribute:: screen_trace_quality + + Precision of the screen space ray-tracing (in [0, 1], default 0.25) + + :type: float + + .. attribute:: screen_trace_thickness + + Surface thickness used to detect intersection when using screen-tracing (in [1e-06, inf], default 0.2) + + :type: float + + .. attribute:: trace_max_roughness + + Maximum roughness to use the tracing pipeline for. Higher roughness surfaces will use fast GI approximation. A value of 1 will disable fast GI approximation. (in [0, 1], default 0.5) + + :type: float + + .. attribute:: use_denoise + + Enable noise reduction techniques for raytraced effects (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SceneEEVEE.ray_tracing_options` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ReadOnlyInteger.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ReadOnlyInteger.rst new file mode 100644 index 0000000..dbb1abe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ReadOnlyInteger.rst @@ -0,0 +1,83 @@ +ReadOnlyInteger(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ReadOnlyInteger(bpy_struct) + + + .. data:: value + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.loop_triangle_polygons` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Region.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Region.rst new file mode 100644 index 0000000..ea91085 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Region.rst @@ -0,0 +1,163 @@ +Region(bpy_struct) +================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Region(bpy_struct) + + Region in a subdivided screen area + + .. attribute:: active_panel_category + + The current active panel category, may be Null if the region does not support this feature (NOTE: these categories are generated at runtime, so list may be empty at initialization, before any drawing took place) (default ``'UNSUPPORTED'``) + + :type: Literal[:ref:`rna_enum_region_panel_category_items`] + + .. data:: alignment + + Alignment of the region within the area (default ``'NONE'``, readonly) + + - ``NONE`` + None -- Don't use any fixed alignment, fill available space. + - ``TOP`` + Top. + - ``BOTTOM`` + Bottom. + - ``LEFT`` + Left. + - ``RIGHT`` + Right. + - ``HORIZONTAL_SPLIT`` + Horizontal Split. + - ``VERTICAL_SPLIT`` + Vertical Split. + - ``FLOAT`` + Float -- Region floats on screen, does not use any fixed alignment. + - ``QUAD_SPLIT`` + Quad Split -- Region is split horizontally and vertically. + + :type: Literal['NONE', 'TOP', 'BOTTOM', 'LEFT', 'RIGHT', 'HORIZONTAL_SPLIT', 'VERTICAL_SPLIT', 'FLOAT', 'QUAD_SPLIT'] + + .. data:: data + + Region specific data (the type depends on the region type) (readonly) + + :type: :class:`AnyType` | None + + .. data:: height + + Region height (in [0, 32767], default 0, readonly) + + :type: int + + .. data:: type + + Type of this region (default ``'WINDOW'``, readonly) + + :type: Literal[:ref:`rna_enum_region_type_items`] + + .. data:: view2d + + 2D view of the region (readonly, never None) + + :type: :class:`View2D` + + .. data:: width + + Region width (in [0, 32767], default 0, readonly) + + :type: int + + .. data:: x + + The window relative vertical location of the region (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: y + + The window relative horizontal location of the region (in [-inf, inf], default 0, readonly) + + :type: int + + .. method:: tag_redraw() + + tag_redraw + + + .. method:: tag_refresh_ui() + + tag_refresh_ui + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Area.regions` + - :class:`Context.region` + - :class:`Context.region_popup` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RegionView3D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RegionView3D.rst new file mode 100644 index 0000000..781981e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RegionView3D.rst @@ -0,0 +1,181 @@ +RegionView3D(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RegionView3D(bpy_struct) + + 3D View region data + + .. attribute:: clip_planes + + (multi-dimensional array of 6 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: is_orthographic_side_view + + Whether the current view is aligned to an axis (does not check whether the view is orthographic, use "is_perspective" for that). Setting this will rotate the view to the closest axis (default False) + + :type: bool + + .. attribute:: is_perspective + + (default False) + + :type: bool + + .. attribute:: lock_rotation + + Lock view rotation of side views to Top/Front/Right (default False) + + :type: bool + + .. data:: perspective_matrix + + Current perspective matrix (``window_matrix * view_matrix``) (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), readonly) + + :type: :class:`mathutils.Matrix` + + .. attribute:: show_sync_view + + Sync view position between side views (default False) + + :type: bool + + .. attribute:: use_box_clip + + Clip view contents based on what is visible in other side views (default False) + + :type: bool + + .. attribute:: use_clip_planes + + (default False) + + :type: bool + + .. attribute:: view_camera_offset + + View shift in camera view (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: view_camera_zoom + + Zoom factor in camera view (in [-30, 600], default 0.0) + + :type: float + + .. attribute:: view_distance + + Distance to the view location (in [0, inf], default 0.0) + + :type: float + + .. attribute:: view_location + + View pivot location (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: view_matrix + + Current view matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: view_perspective + + View Perspective (default ``'ORTHO'``) + + :type: Literal['PERSP', 'ORTHO', 'CAMERA'] + + .. attribute:: view_rotation + + Rotation in quaternions (keep normalized) (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. data:: window_matrix + + Current window matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), readonly) + + :type: :class:`mathutils.Matrix` + + .. method:: update() + + Recalculate the view matrices + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Context.region_data` + - :class:`SpaceView3D.region_3d` + - :class:`SpaceView3D.region_quadviews` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RemeshModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RemeshModifier.rst new file mode 100644 index 0000000..12b9fcd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RemeshModifier.rst @@ -0,0 +1,148 @@ +RemeshModifier(Modifier) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: RemeshModifier(Modifier) + + Generate a new surface with regular topology that follows the shape of the input mesh + + .. attribute:: adaptivity + + Reduces the final face count by simplifying geometry where detail is not needed, generating triangles. A value greater than 0 disables Fix Poles. (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: mode + + (default ``'VOXEL'``) + + - ``BLOCKS`` + Blocks -- Output a blocky surface with no smoothing. + - ``SMOOTH`` + Smooth -- Output a smooth surface with no sharp-features detection. + - ``SHARP`` + Sharp -- Output a surface that reproduces sharp edges and corners from the input mesh. + - ``VOXEL`` + Voxel -- Output a mesh corresponding to the volume of the original mesh. + + :type: Literal['BLOCKS', 'SMOOTH', 'SHARP', 'VOXEL'] + + .. attribute:: octree_depth + + Resolution of the octree; higher values give finer details (in [1, 24], default 4) + + :type: int + + .. attribute:: scale + + The ratio of the largest dimension of the model over the size of the grid (in [0, 0.99], default 0.9) + + :type: float + + .. attribute:: sharpness + + Tolerance for outliers; lower values filter noise while higher values will reproduce edges closer to the input (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: threshold + + If removing disconnected pieces, minimum size of components to preserve as a ratio of the number of polygons in the largest component (in [0, 1], default 1.0) + + :type: float + + .. attribute:: use_remove_disconnected + + (default True) + + :type: bool + + .. attribute:: use_smooth_shade + + Output faces with smooth shading rather than flat shaded (default False) + + :type: bool + + .. attribute:: voxel_size + + Size of the voxel in object space used for volume evaluation. Lower values preserve finer details. (in [0, inf], default 0.1) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderEngine.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderEngine.rst new file mode 100644 index 0000000..71b5bb3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderEngine.rst @@ -0,0 +1,539 @@ +RenderEngine(bpy_struct) +======================== + +.. currentmodule:: bpy.types + + +Simple Render Engine +++++++++++++++++++++ + +.. literalinclude:: ./examples/bpy.types.RenderEngine.1.py + :lines: 6- + + +GPU Render Engine ++++++++++++++++++ + +.. literalinclude:: ./examples/bpy.types.RenderEngine.2.py + :lines: 6- + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`HydraRenderEngine` + +.. class:: RenderEngine(bpy_struct) + + Render engine + + .. attribute:: bl_idname + + (default "", never None) + + :type: str + + .. attribute:: bl_label + + (default "", never None) + + :type: str + + .. attribute:: bl_use_custom_freestyle + + Handles freestyle rendering on its own, instead of delegating it to EEVEE (default False) + + :type: bool + + .. attribute:: bl_use_eevee_viewport + + Uses EEVEE for viewport shading in Material Preview shading mode (default False) + + :type: bool + + .. attribute:: bl_use_gpu_context + + Enable OpenGL context for the render method, for engines that render using OpenGL (default False) + + :type: bool + + .. attribute:: bl_use_image_save + + Save images/movie to disk while rendering an animation. Disabling image saving is only supported when bl_use_postprocess is also disabled. (default True) + + :type: bool + + .. attribute:: bl_use_materialx + + Use MaterialX for exporting materials to Hydra (default False) + + :type: bool + + .. attribute:: bl_use_postprocess + + Apply compositing on render results (default False) + + :type: bool + + .. attribute:: bl_use_preview + + Render engine supports being used for rendering previews of materials, lights and worlds (default False) + + :type: bool + + .. attribute:: bl_use_shading_nodes_custom + + Don't expose Cycles and EEVEE shading nodes in the node editor user interface, so separate nodes can be used instead (default True) + + :type: bool + + .. attribute:: bl_use_spherical_stereo + + Support spherical stereo camera models (default False) + + :type: bool + + .. attribute:: bl_use_stereo_viewport + + Support rendering stereo 3D viewport (default False) + + :type: bool + + .. data:: camera_override + + (readonly) + + :type: :class:`Object` | None + + .. attribute:: is_animation + + (default False) + + :type: bool + + .. attribute:: is_preview + + (default False) + + :type: bool + + .. attribute:: layer_override + + (array of 20 items, default (False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. data:: render + :noindex: + + (readonly) + + :type: :class:`RenderSettings` | None + + .. data:: resolution_x + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: resolution_y + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: temporary_directory + + (default "", readonly, never None) + + :type: str + + .. attribute:: use_highlight_tiles + + (default False) + + :type: bool + + .. method:: update(*, data=None, depsgraph=None) + + Export scene data for render + + :param data: (optional) + :type data: :class:`BlendData` | None + :param depsgraph: (optional) + :type depsgraph: :class:`Depsgraph` | None + + .. method:: render(depsgraph) + + Render scene into an image + + :type depsgraph: :class:`Depsgraph` | None + + .. method:: render_frame_finish() + + Perform finishing operations after all view layers in a frame were rendered + + + .. method:: draw(context, depsgraph) + + Draw render image + + :type context: :class:`Context` | None + :type depsgraph: :class:`Depsgraph` | None + + .. method:: bake(depsgraph, object, pass_type, pass_filter, width, height) + + Bake passes + + :type depsgraph: :class:`Depsgraph` | None + :type object: :class:`Object` | None + :param pass_type: Pass, Pass to bake + :type pass_type: Literal[:ref:`rna_enum_bake_pass_type_items`] + :param pass_filter: Pass Filter, Filter to combined, diffuse, glossy and transmission passes (in [0, inf]) + :type pass_filter: int + :param width: Width, Image width (in [0, inf]) + :type width: int + :param height: Height, Image height (in [0, inf]) + :type height: int + + .. method:: view_update(context, depsgraph) + + Update on data changes for viewport render + + :type context: :class:`Context` | None + :type depsgraph: :class:`Depsgraph` | None + + .. method:: view_draw(context, depsgraph) + + Draw viewport render + + :type context: :class:`Context` | None + :type depsgraph: :class:`Depsgraph` | None + + .. method:: update_script_node(*, node=None) + + Compile shader script node + + :param node: (optional) + :type node: :class:`Node` | None + + .. method:: update_render_passes(*, scene=None, renderlayer=None) + + Update the render passes that will be generated + + :param scene: (optional) + :type scene: :class:`Scene` | None + :param renderlayer: (optional) + :type renderlayer: :class:`ViewLayer` | None + + .. method:: update_custom_camera(*, cam=None) + + Compile custom camera + + :param cam: (optional) + :type cam: :class:`Camera` | None + + .. method:: tag_redraw() + + Request redraw for viewport rendering + + + .. method:: tag_update() + + Request update call for viewport rendering + + + .. method:: begin_result(x, y, w, h, *, layer="", view="") + + Create render result to write linear floating-point render layers and passes + + :param x: X, (in [0, inf]) + :type x: int + :param y: Y, (in [0, inf]) + :type y: int + :param w: Width, (in [0, inf]) + :type w: int + :param h: Height, (in [0, inf]) + :type h: int + :param layer: Layer, Single layer to get render result for (optional, never None) + :type layer: str + :param view: View, Single view to get render result for (optional, never None) + :type view: str + :return: Result + :rtype: :class:`RenderResult` + + .. method:: update_result(result) + + Signal that pixels have been updated and can be redrawn in the user interface + + :param result: Result + :type result: :class:`RenderResult` | None + + .. method:: end_result(result, *, cancel=False, highlight=False, do_merge_results=False) + + All pixels in the render result have been set and are final + + :param result: Result + :type result: :class:`RenderResult` | None + :param cancel: Cancel, Don't mark tile as done, don't merge results unless forced (optional) + :type cancel: bool + :param highlight: Highlight, Don't mark tile as done yet (optional) + :type highlight: bool + :param do_merge_results: Merge Results, Merge results even if cancel=true (optional) + :type do_merge_results: bool + + .. method:: add_pass(name, channels, chan_id, *, layer="") + + Add a pass to the render layer + + :param name: Name, Name of the Pass, without view or channel tag (never None) + :type name: str + :param channels: Channels, (in [0, inf]) + :type channels: int + :param chan_id: Channel IDs, Channel names, one character per channel (never None) + :type chan_id: str + :param layer: Layer, Single layer to add render pass to (optional, never None) + :type layer: str + + .. method:: get_result() + + Get final result for non-pixel operations + + :return: Result + :rtype: :class:`RenderResult` + + .. method:: test_break() + + Test if the render operation should been canceled, this is a fast call that should be used regularly for responsiveness + + :return: Break + :rtype: bool + + .. method:: pass_by_index_get(layer, index) + + pass_by_index_get + + :param layer: Layer, Name of render layer to get pass for (never None) + :type layer: str + :param index: Index, Index of pass to get (in [0, inf]) + :type index: int + :return: Index, Index of pass to get + :rtype: :class:`RenderPass` + + .. method:: active_view_get() + + active_view_get + + :return: View, Single view active (never None) + :rtype: str + + .. method:: active_view_set(view) + + active_view_set + + :param view: View, Single view to set as active (never None) + :type view: str + + .. method:: camera_shift_x(camera, *, use_spherical_stereo=False) + + camera_shift_x + + :type camera: :class:`Object` | None + :param use_spherical_stereo: Spherical Stereo, (optional) + :type use_spherical_stereo: bool + :return: Shift X, (in [0, inf]) + :rtype: float + + .. method:: camera_model_matrix(camera, *, use_spherical_stereo=False) + + camera_model_matrix + + :type camera: :class:`Object` | None + :param use_spherical_stereo: Spherical Stereo, (optional) + :type use_spherical_stereo: bool + :return: Model Matrix, Normalized camera model matrix (multi-dimensional array of 4 * 4 items, in [-inf, inf]) + :rtype: :class:`mathutils.Matrix` + + .. method:: use_spherical_stereo(camera) + + use_spherical_stereo + + :type camera: :class:`Object` | None + :return: Spherical Stereo + :rtype: bool + + .. method:: update_stats(stats, info) + + Update and signal to redraw render status text + + :param stats: Stats, (never None) + :type stats: str + :param info: Info, (never None) + :type info: str + + .. method:: frame_set(frame, subframe) + + Evaluate scene at a different frame (for motion blur) + + :param frame: Frame, (in [-inf, inf]) + :type frame: int + :param subframe: Subframe, (in [0, 1]) + :type subframe: float + + .. method:: update_progress(progress) + + Update progress percentage of render + + :param progress: Percentage of render that's done (in [0, 1]) + :type progress: float + + .. method:: update_memory_stats(*, memory_used=0.0, memory_peak=0.0) + + Update memory usage statistics + + :param memory_used: Current memory usage in megabytes (in [0, inf], optional) + :type memory_used: float + :param memory_peak: Peak memory usage in megabytes (in [0, inf], optional) + :type memory_peak: float + + .. method:: report(type, message) + + Report info, warning or error messages + + :param type: Type + :type type: set[Literal[:ref:`rna_enum_wm_report_items`]] + :param message: Report Message, (never None) + :type message: str + + .. method:: error_set(message) + + Set error message displaying after the render is finished + + :param message: Report Message, (never None) + :type message: str + + .. method:: bind_display_space_shader(scene) + + Bind GLSL fragment shader that converts linear colors to display space colors using scene color management settings + + :type scene: :class:`Scene` | None + + .. method:: unbind_display_space_shader() + + Unbind GLSL display space shader, must always be called after binding the shader + + + .. method:: support_display_space_shader(scene) + + Test if GLSL display space shader is supported for the combination of graphics card and scene settings + + :type scene: :class:`Scene` | None + :return: Supported + :rtype: bool + + .. method:: get_preview_pixel_size(scene) + + Get the pixel size that should be used for preview rendering + + :type scene: :class:`Scene` | None + :return: Pixel Size, (in [1, 8]) + :rtype: int + + .. method:: free_blender_memory() + + Free Blender side memory of render engine + + + .. method:: tile_highlight_set(x, y, width, height, highlight) + + Set highlighted state of the given tile + + :param x: X, (in [0, inf]) + :type x: int + :param y: Y, (in [0, inf]) + :type y: int + :param width: Width, (in [0, inf]) + :type width: int + :param height: Height, (in [0, inf]) + :type height: int + :param highlight: Highlight + :type highlight: bool + + .. method:: tile_highlight_clear_all() + + The temp directory used by Blender + + + .. method:: register_pass(scene, view_layer, name, channels, chanid, type) + + Register a render pass that will be part of the render with the current settings + + :type scene: :class:`Scene` | None + :type view_layer: :class:`ViewLayer` | None + :param name: Name, (never None) + :type name: str + :param channels: Channels, (in [1, 8]) + :type channels: int + :param chanid: Channel IDs, (never None) + :type chanid: str + :param type: Type + :type type: Literal['VALUE', 'VECTOR', 'COLOR'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderLayer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderLayer.rst new file mode 100644 index 0000000..f371300 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderLayer.rst @@ -0,0 +1,292 @@ +RenderLayer(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RenderLayer(bpy_struct) + + + .. data:: name + + View layer name (default "", readonly, never None) + + :type: str + + .. data:: passes + + (default None, readonly) + + :type: :class:`RenderPasses`\ [:class:`RenderPass`] + + .. data:: use_ao + + Render Ambient Occlusion in this Layer (default False, readonly) + + :type: bool + + .. data:: use_grease_pencil + + Render Grease Pencil on this layer (default False, readonly) + + :type: bool + + .. data:: use_motion_blur + + Render motion blur in this Layer, if enabled in the scene (default False, readonly) + + :type: bool + + .. data:: use_pass_ambient_occlusion + + Deliver Ambient Occlusion pass (default False, readonly) + + :type: bool + + .. data:: use_pass_combined + + Deliver full combined RGBA buffer (default False, readonly) + + :type: bool + + .. data:: use_pass_diffuse_color + + Deliver diffuse color pass (default False, readonly) + + :type: bool + + .. data:: use_pass_diffuse_direct + + Deliver diffuse direct pass (default False, readonly) + + :type: bool + + .. data:: use_pass_diffuse_indirect + + Deliver diffuse indirect pass (default False, readonly) + + :type: bool + + .. data:: use_pass_emit + + Deliver emission pass (default False, readonly) + + :type: bool + + .. data:: use_pass_environment + + Deliver environment lighting pass (default False, readonly) + + :type: bool + + .. data:: use_pass_glossy_color + + Deliver glossy color pass (default False, readonly) + + :type: bool + + .. data:: use_pass_glossy_direct + + Deliver glossy direct pass (default False, readonly) + + :type: bool + + .. data:: use_pass_glossy_indirect + + Deliver glossy indirect pass (default False, readonly) + + :type: bool + + .. data:: use_pass_material_index + + Deliver material index pass (default False, readonly) + + :type: bool + + .. data:: use_pass_mist + + Deliver mist factor pass (0.0 to 1.0) (default False, readonly) + + :type: bool + + .. data:: use_pass_normal + + Deliver normal pass (default False, readonly) + + :type: bool + + .. data:: use_pass_object_index + + Deliver object index pass (default False, readonly) + + :type: bool + + .. data:: use_pass_position + + Deliver position pass (default False, readonly) + + :type: bool + + .. data:: use_pass_shadow + + Deliver shadow pass (default False, readonly) + + :type: bool + + .. data:: use_pass_subsurface_color + + Deliver subsurface color pass (default False, readonly) + + :type: bool + + .. data:: use_pass_subsurface_direct + + Deliver subsurface direct pass (default False, readonly) + + :type: bool + + .. data:: use_pass_subsurface_indirect + + Deliver subsurface indirect pass (default False, readonly) + + :type: bool + + .. data:: use_pass_transmission_color + + Deliver transmission color pass (default False, readonly) + + :type: bool + + .. data:: use_pass_transmission_direct + + Deliver transmission direct pass (default False, readonly) + + :type: bool + + .. data:: use_pass_transmission_indirect + + Deliver transmission indirect pass (default False, readonly) + + :type: bool + + .. data:: use_pass_uv + + Deliver texture UV pass (default False, readonly) + + :type: bool + + .. data:: use_pass_vector + + Deliver speed vector pass (default False, readonly) + + :type: bool + + .. data:: use_pass_z + + Deliver depth values pass (default False, readonly) + + :type: bool + + .. data:: use_sky + + Render Sky in this Layer (default False, readonly) + + :type: bool + + .. data:: use_solid + + Render Solid faces in this Layer (default False, readonly) + + :type: bool + + .. data:: use_strand + + Render Strands in this Layer (default False, readonly) + + :type: bool + + .. data:: use_volumes + + Render volumes in this Layer (default False, readonly) + + :type: bool + + .. method:: load_from_file(filepath, *, x=0, y=0) + + Copies the pixels of this renderlayer from an image file + + :param filepath: File Path, File path to load into this render tile, must be no smaller than the renderlayer (never None) + :type filepath: str + :param x: Offset X, Offset the position to copy from if the image is larger than the render layer (in [0, inf], optional) + :type x: int + :param y: Offset Y, Offset the position to copy from if the image is larger than the render layer (in [0, inf], optional) + :type y: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`RenderResult.layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderPass.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderPass.rst new file mode 100644 index 0000000..a1d7b22 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderPass.rst @@ -0,0 +1,115 @@ +RenderPass(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RenderPass(bpy_struct) + + + .. data:: channel_id + + (default "", readonly, never None) + + :type: str + + .. data:: channels + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: fullname + + (default "", readonly, never None) + + :type: str + + .. data:: name + + (default "", readonly, never None) + + :type: str + + .. attribute:: rect + + (in [-inf, inf], default 0.0) + + :type: float + + .. data:: view_id + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`RenderEngine.pass_by_index_get` + - :class:`RenderLayer.passes` + - :class:`RenderPasses.find_by_name` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderPasses.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderPasses.rst new file mode 100644 index 0000000..707f5e8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderPasses.rst @@ -0,0 +1,89 @@ +RenderPasses(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: RenderPasses(bpy_prop_collection) + + Collection of render passes + + .. method:: find_by_name(name, view) + + Get the render pass for a given name and view + + :param name: Pass, (never None) + :type name: str + :param view: View, Render view to get pass from (never None) + :type view: str + :return: The matching render pass + :rtype: :class:`RenderPass` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`RenderLayer.passes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderResult.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderResult.rst new file mode 100644 index 0000000..a6c45d1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderResult.rst @@ -0,0 +1,121 @@ +RenderResult(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RenderResult(bpy_struct) + + Result of rendering, including all layers and passes + + .. data:: layers + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`RenderLayer`] + + .. data:: resolution_x + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: resolution_y + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: views + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`RenderView`] + + .. method:: load_from_file(filepath) + + Copies the pixels of this render result from an image file + + :param filepath: File Name, Filename to load into this render tile, must be no smaller than the render result (never None) + :type filepath: str + + .. method:: stamp_data_add_field(field, value) + + Add engine-specific stamp data to the result + + :param field: Field, Name of the stamp field to add (never None) + :type field: str + :param value: Value, Value of the stamp data (never None) + :type value: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`RenderEngine.begin_result` + - :class:`RenderEngine.end_result` + - :class:`RenderEngine.get_result` + - :class:`RenderEngine.update_result` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderSettings.rst new file mode 100644 index 0000000..98568d4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderSettings.rst @@ -0,0 +1,738 @@ +RenderSettings(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RenderSettings(bpy_struct) + + Rendering settings for a Scene data-block + + .. data:: bake + + (readonly, never None) + + :type: :class:`BakeSettings` + + .. attribute:: border_max_x + + Maximum X value for the render region (in [0, 1], default 1.0) + + :type: float + + .. attribute:: border_max_y + + Maximum Y value for the render region (in [0, 1], default 1.0) + + :type: float + + .. attribute:: border_min_x + + Minimum X value for the render region (in [0, 1], default 0.0) + + :type: float + + .. attribute:: border_min_y + + Minimum Y value for the render region (in [0, 1], default 0.0) + + :type: float + + .. attribute:: compositor_denoise_device + + The device to use to process the denoise nodes in the compositor (default ``'AUTO'``) + + - ``AUTO`` + Auto -- Use the same device used by the compositor to process the denoise node. + - ``CPU`` + CPU -- Use the CPU to process the denoise node. + - ``GPU`` + GPU -- Use the GPU to process the denoise node if available, otherwise fallback to CPU. + + :type: Literal['AUTO', 'CPU', 'GPU'] + + .. attribute:: compositor_denoise_final_quality + + The quality used by denoise nodes during the compositing of final renders if the nodes' quality option is set to Follow Scene (default ``'HIGH'``) + + - ``HIGH`` + High -- High quality. + - ``BALANCED`` + Balanced -- Balanced between performance and quality. + - ``FAST`` + Fast -- High performance. + + :type: Literal['HIGH', 'BALANCED', 'FAST'] + + .. attribute:: compositor_denoise_preview_quality + + The quality used by denoise nodes during viewport and interactive compositing if the nodes' quality option is set to Follow Scene (default ``'BALANCED'``) + + - ``HIGH`` + High -- High quality. + - ``BALANCED`` + Balanced -- Balanced between performance and quality. + - ``FAST`` + Fast -- High performance. + + :type: Literal['HIGH', 'BALANCED', 'FAST'] + + .. attribute:: compositor_device + + Set how compositing is executed (default ``'CPU'``) + + :type: Literal['CPU', 'GPU'] + + .. attribute:: compositor_precision + + The precision of compositor intermediate result (default ``'AUTO'``) + + - ``AUTO`` + Auto -- Full precision for final renders, half precision otherwise. + - ``FULL`` + Full -- Full precision. + + :type: Literal['AUTO', 'FULL'] + + .. attribute:: dither_intensity + + Amount of dithering noise added to the rendered image to break up banding (in [0, inf], default 1.0) + + :type: float + + .. attribute:: engine + + Engine to use for rendering (default ``'BLENDER_EEVEE'``) + + :type: Literal['BLENDER_EEVEE'] + + .. data:: ffmpeg + + FFmpeg related settings for the scene (readonly) + + :type: :class:`FFmpegSettings` | None + + .. data:: file_extension + + The file extension used for saving renders (default "", readonly, never None) + + :type: str + + .. attribute:: filepath + + Directory/name to save animations, # characters define the position and padding of frame numbers (default "", never None, blend relative ``//`` prefix supported, Supports `template expressions `_) + + :type: str + + .. attribute:: film_transparent + + World background is transparent, for compositing the render over another background (default False) + + :type: bool + + .. attribute:: filter_size + + Width over which the reconstruction filter combines samples (in [0, 500], default 1.5) + + :type: float + + .. attribute:: fps + + Framerate, expressed in frames per second (in [1, 32767], default 24) + + :type: int + + .. attribute:: fps_base + + Framerate base (in [1e-05, 1e+06], default 1.0) + + :type: float + + .. attribute:: frame_map_new + + How many frames the Map Old will last (in [1, 900], default 100) + + :type: int + + .. attribute:: frame_map_old + + Old mapping value in frames (in [1, 900], default 100) + + :type: int + + .. attribute:: hair_subdiv + + Additional subdivision along the curves (in [0, 3], default 0) + + :type: int + + .. attribute:: hair_type + + Curves shape type (default ``'STRAND'``) + + :type: Literal['STRAND', 'STRIP', 'CYLINDER'] + + .. data:: has_multiple_engines + + More than one rendering engine is available (default False, readonly) + + :type: bool + + .. data:: image_settings + + (readonly, never None) + + :type: :class:`ImageFormatSettings` + + .. data:: is_movie_format + + When true the format is a movie (default False, readonly) + + :type: bool + + .. attribute:: line_thickness + + Line thickness in pixels (in [0, 10000], default 1.0) + + :type: float + + .. attribute:: line_thickness_mode + + Line thickness mode for Freestyle line drawing (default ``'ABSOLUTE'``) + + - ``ABSOLUTE`` + Absolute -- Specify unit line thickness in pixels. + - ``RELATIVE`` + Relative -- Unit line thickness is scaled by the proportion of the present vertical image resolution to 480 pixels. + + :type: Literal['ABSOLUTE', 'RELATIVE'] + + .. attribute:: metadata_input + + Where to take the metadata from (default ``'SCENE'``) + + - ``SCENE`` + Scene -- Use metadata from the current scene. + - ``STRIPS`` + Sequencer Strips -- Use metadata from the strips in the sequencer. + + :type: Literal['SCENE', 'STRIPS'] + + .. attribute:: motion_blur_position + + Offset for the shutter's time interval, allows to change the motion blur trails (default ``'CENTER'``) + + - ``START`` + Start on Frame -- The shutter opens at the current frame. + - ``CENTER`` + Center on Frame -- The shutter is open during the current frame. + - ``END`` + End on Frame -- The shutter closes at the current frame. + + :type: Literal['START', 'CENTER', 'END'] + + .. attribute:: motion_blur_shutter + + Time taken in frames between shutter open and close (in [0, inf], default 0.5) + + :type: float + + .. data:: motion_blur_shutter_curve + + Curve defining the shutter's openness over time (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: pixel_aspect_x + + Horizontal aspect ratio - for anamorphic or non-square pixel output (in [1, 200], default 1.0) + + :type: float + + .. attribute:: pixel_aspect_y + + Vertical aspect ratio - for anamorphic or non-square pixel output (in [1, 200], default 1.0) + + :type: float + + .. attribute:: ppm_base + + The base unit for pixels per meter. (in [1e-05, 1e+06], default 0.0254) + + :type: float + + .. attribute:: ppm_factor + + The pixel density meta-data written to supported image formats. This value is multiplied by the PPM-base which defines the unit (typically inches or meters) (in [1e-05, 1e+06], default 72.0) + + :type: float + + .. attribute:: preview_pixel_size + + Pixel size for viewport rendering (default ``'AUTO'``) + + - ``AUTO`` + Automatic -- Automatic pixel size, depends on the user interface scale. + - ``1`` + 1× -- Render at full resolution. + - ``2`` + 2× -- Render at 50% resolution. + - ``4`` + 4× -- Render at 25% resolution. + - ``8`` + 8× -- Render at 12.5% resolution. + + :type: Literal['AUTO', '1', '2', '4', '8'] + + .. attribute:: resolution_percentage + + Percentage scale for render resolution (in [1, 32767], default 100) + + :type: int + + .. attribute:: resolution_x + + Number of horizontal pixels in the rendered image (in [4, 65536], default 1920) + + :type: int + + .. attribute:: resolution_y + + Number of vertical pixels in the rendered image (in [4, 65536], default 1080) + + :type: int + + .. attribute:: sequencer_gl_preview + + Display method used in the sequencer view (default ``'SOLID'``) + + :type: Literal[:ref:`rna_enum_shading_type_items`] + + .. attribute:: simplify_child_particles + + Global child particles percentage (in [0, 1], default 1.0) + + :type: float + + .. attribute:: simplify_child_particles_render + + Global child particles percentage during rendering (in [0, 1], default 0.0) + + :type: float + + .. attribute:: simplify_gpencil + + Simplify Grease Pencil drawing (default False) + + :type: bool + + .. attribute:: simplify_gpencil_antialiasing + + Use Antialiasing to smooth stroke edges (default True) + + :type: bool + + .. attribute:: simplify_gpencil_modifier + + Display modifiers (default True) + + :type: bool + + .. attribute:: simplify_gpencil_onplay + + Simplify Grease Pencil only during animation playback (default False) + + :type: bool + + .. attribute:: simplify_gpencil_shader_fx + + Display Shader Effects (default True) + + :type: bool + + .. attribute:: simplify_gpencil_tint + + Display layer tint (default True) + + :type: bool + + .. attribute:: simplify_gpencil_view_fill + + Display fill strokes in the viewport (default True) + + :type: bool + + .. attribute:: simplify_subdivision + + Global maximum subdivision level (in [0, 32767], default 6) + + :type: int + + .. attribute:: simplify_subdivision_render + + Global maximum subdivision level during rendering (in [0, 32767], default 0) + + :type: int + + .. attribute:: simplify_volumes + + Resolution percentage of volume objects in viewport (in [0, 1], default 1.0) + + :type: float + + .. attribute:: stamp_background + + Color to use behind stamp text (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.25)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: stamp_font_size + + Size of the font used when rendering stamp text (in [8, 64], default 12) + + :type: int + + .. attribute:: stamp_foreground + + Color to use for stamp text (array of 4 items, in [0, 1], default (0.8, 0.8, 0.8, 1.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: stamp_note_text + + Custom text to appear in the stamp note (default "", never None) + + :type: str + + .. data:: stereo_views + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`SceneRenderView`] + + .. attribute:: threads + + Maximum number of CPU cores to use simultaneously while rendering (for multi-core/CPU systems) (in [1, 1024], default 1) + + :type: int + + .. attribute:: threads_mode + + Determine the amount of render threads used (default ``'AUTO'``) + + - ``AUTO`` + Auto-Detect -- Automatically determine the number of threads, based on CPUs. + - ``FIXED`` + Fixed -- Manually determine the number of threads. + + :type: Literal['AUTO', 'FIXED'] + + .. attribute:: use_border + + Render a user-defined render region, within the frame size (default False) + + :type: bool + + .. attribute:: use_compositing + + Process the render result through the compositing pipeline, if a compositing node group is assigned to the scene (default True) + + :type: bool + + .. attribute:: use_crop_to_border + + Crop the rendered frame to the defined render region size (default False) + + :type: bool + + .. attribute:: use_file_extension + + Add the file format extensions to the rendered file name (eg: filename + .jpg) (default True) + + :type: bool + + .. attribute:: use_freestyle + + Draw stylized strokes using Freestyle (default False) + + :type: bool + + .. attribute:: use_high_quality_normals + + Use high quality tangent space at the cost of lower performance (default False) + + :type: bool + + .. attribute:: use_lock_interface + + Lock interface during rendering in favor of giving more memory to the renderer (default False) + + :type: bool + + .. attribute:: use_motion_blur + + Use multi-sampled 3D scene motion blur (default False) + + :type: bool + + .. attribute:: use_multiview + + Use multiple views in the scene (default False) + + :type: bool + + .. attribute:: use_overwrite + + Overwrite existing files while rendering (default True) + + :type: bool + + .. attribute:: use_persistent_data + + Keep render data around for faster re-renders and animation renders, at the cost of increased memory usage (default False) + + :type: bool + + .. attribute:: use_placeholder + + Create empty placeholder files while rendering frames (similar to Unix 'touch') (default False) + + :type: bool + + .. attribute:: use_render_cache + + Save render cache to EXR files (useful for heavy compositing, Note: affects indirectly rendered scenes) (default False) + + :type: bool + + .. attribute:: use_sequencer + + Process the render (and composited) result through the video sequence editor pipeline, if sequencer strips exist (default True) + + :type: bool + + .. attribute:: use_sequencer_override_scene_strip + + Use workbench render settings from the sequencer scene, instead of each individual scene used in the strip (default False) + + :type: bool + + .. attribute:: use_simplify + + Enable simplification of scene for quicker preview renders (default False) + + :type: bool + + .. attribute:: use_simplify_normals + + Skip computing custom normals and face corner normals for displaying meshes in the viewport (default False) + + :type: bool + + .. attribute:: use_single_layer + + Only render the active layer. Only affects rendering from the interface, ignored for rendering from command line. (default False) + + :type: bool + + .. data:: use_spherical_stereo + + Active render engine supports spherical stereo rendering (default False, readonly) + + :type: bool + + .. attribute:: use_stamp + + Render the stamp info text in the rendered image (default False) + + :type: bool + + .. attribute:: use_stamp_camera + + Include the name of the active camera in image metadata (default True) + + :type: bool + + .. attribute:: use_stamp_date + + Include the current date in image/video metadata (default True) + + :type: bool + + .. attribute:: use_stamp_filename + + Include the .blend filename in image/video metadata (default True) + + :type: bool + + .. attribute:: use_stamp_frame + + Include the frame number in image metadata (default True) + + :type: bool + + .. attribute:: use_stamp_frame_range + + Include the rendered frame range in image/video metadata (default False) + + :type: bool + + .. attribute:: use_stamp_hostname + + Include the hostname of the machine that rendered the frame (default False) + + :type: bool + + .. attribute:: use_stamp_labels + + Display stamp labels ("Camera" in front of camera name, etc.) (default True) + + :type: bool + + .. attribute:: use_stamp_lens + + Include the active camera's lens in image metadata (default False) + + :type: bool + + .. attribute:: use_stamp_marker + + Include the name of the last marker in image metadata (default False) + + :type: bool + + .. attribute:: use_stamp_memory + + Include the peak memory usage in image metadata (default True) + + :type: bool + + .. attribute:: use_stamp_note + + Include a custom note in image/video metadata (default False) + + :type: bool + + .. attribute:: use_stamp_render_time + + Include the render time in image metadata (default True) + + :type: bool + + .. attribute:: use_stamp_scene + + Include the name of the active scene in image/video metadata (default True) + + :type: bool + + .. attribute:: use_stamp_sequencer_strip + + Include the name of the foreground sequence strip in image metadata (default False) + + :type: bool + + .. attribute:: use_stamp_time + + Include the rendered frame timecode as HH:MM:SS.FF in image metadata (default True) + + :type: bool + + .. data:: views + + (default None, readonly) + + :type: :class:`RenderViews`\ [:class:`SceneRenderView`] + + .. attribute:: views_format + + (default ``'STEREO_3D'``) + + - ``STEREO_3D`` + Stereo 3D -- Single stereo camera system, adjust the stereo settings in the camera panel. + - ``MULTIVIEW`` + Multi-View -- Multi camera system, adjust the cameras individually. + + :type: Literal['STEREO_3D', 'MULTIVIEW'] + + .. method:: frame_path(*, frame=-2147483648, preview=False, view="") + + Return the absolute path to the filename to be written for a given frame + + :param frame: Frame number to use, if unset the current frame will be used (in [-inf, inf], optional) + :type frame: int + :param preview: Preview, Use preview range (optional) + :type preview: bool + :param view: View, The name of the view to use to replace the "%" chars (optional, never None) + :type view: str + :return: File Path, The resulting filepath from the scenes render settings (never None) + :rtype: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`RenderEngine.render` + - :class:`Scene.render` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderSlot.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderSlot.rst new file mode 100644 index 0000000..a5cfd1d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderSlot.rst @@ -0,0 +1,93 @@ +RenderSlot(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RenderSlot(bpy_struct) + + Parameters defining the render slot + + .. attribute:: name + + Render slot name (default "", never None) + + :type: str + + .. method:: clear(iuser) + + Clear the render slot + + :param iuser: ImageUser + :type iuser: :class:`ImageUser` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Image.render_slots` + - :class:`RenderSlots.active` + - :class:`RenderSlots.new` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderSlots.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderSlots.rst new file mode 100644 index 0000000..860f0ff --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderSlots.rst @@ -0,0 +1,99 @@ +RenderSlots(bpy_prop_collection) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: RenderSlots(bpy_prop_collection) + + Collection of render layers + + .. attribute:: active + + Active render slot of the image + + :type: :class:`RenderSlot` | None + + .. attribute:: active_index + + Active render slot of the image (in [0, 32767], default 0) + + :type: int + + .. method:: new(*, name="") + + Add a render slot to the image + + :param name: Name, New name for the render slot (optional, never None) + :type name: str + :return: Newly created render layer + :rtype: :class:`RenderSlot` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Image.render_slots` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderView.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderView.rst new file mode 100644 index 0000000..d136567 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderView.rst @@ -0,0 +1,83 @@ +RenderView(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RenderView(bpy_struct) + + + .. data:: name + + (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`RenderResult.views` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderViews.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderViews.rst new file mode 100644 index 0000000..abec99e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RenderViews.rst @@ -0,0 +1,106 @@ +RenderViews(bpy_prop_collection) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: RenderViews(bpy_prop_collection) + + Collection of render views + + .. attribute:: active + + Active Render View (never None) + + :type: :class:`SceneRenderView` + + .. attribute:: active_index + + Active index in render view array (in [0, 32767], default 0) + + :type: int + + .. method:: new(name) + + Add a render view to scene + + :param name: New name for the marker (not unique) (never None) + :type name: str + :return: Newly created render view + :rtype: :class:`SceneRenderView` + + .. method:: remove(view) + + Remove a render view + + :param view: Render view to remove (never None) + :type view: :class:`SceneRenderView` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`RenderSettings.views` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RepeatItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RepeatItem.rst new file mode 100644 index 0000000..635a3ed --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RepeatItem.rst @@ -0,0 +1,101 @@ +RepeatItem(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RepeatItem(bpy_struct) + + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeBake.active_item` + - :class:`GeometryNodeCaptureAttribute.active_item` + - :class:`GeometryNodeFieldToGrid.active_item` + - :class:`GeometryNodeRepeatOutput.active_item` + - :class:`GeometryNodeRepeatOutput.repeat_items` + - :class:`NodeGeometryRepeatOutputItems.new` + - :class:`NodeGeometryRepeatOutputItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RepeatZoneViewerPathElem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RepeatZoneViewerPathElem.rst new file mode 100644 index 0000000..bb00295 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RepeatZoneViewerPathElem.rst @@ -0,0 +1,79 @@ +RepeatZoneViewerPathElem(ViewerPathElem) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ViewerPathElem` + +.. class:: RepeatZoneViewerPathElem(ViewerPathElem) + + + .. attribute:: repeat_output_node_id + + (in [-inf, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ViewerPathElem.type` + - :class:`ViewerPathElem.ui_name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ViewerPathElem.bl_rna_get_subclass` + - :class:`ViewerPathElem.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RetimingKey.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RetimingKey.rst new file mode 100644 index 0000000..e566bd6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RetimingKey.rst @@ -0,0 +1,93 @@ +RetimingKey(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RetimingKey(bpy_struct) + + Key mapped to particular frame that can be moved to change playback speed + + .. attribute:: timeline_frame + + Position of retiming key in timeline (in [-inf, inf], default 0) + + :type: int + + .. method:: remove() + + Remove retiming key + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ImageStrip.retiming_keys` + - :class:`MovieStrip.retiming_keys` + - :class:`RetimingKeys.add` + - :class:`SceneStrip.retiming_keys` + - :class:`SoundStrip.retiming_keys` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RetimingKeys.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RetimingKeys.rst new file mode 100644 index 0000000..78e7e5a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RetimingKeys.rst @@ -0,0 +1,95 @@ +RetimingKeys(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: RetimingKeys(bpy_prop_collection) + + Collection of RetimingKey + + .. method:: add(*, timeline_frame=0) + + Add retiming key + + :param timeline_frame: Timeline Frame, (in [-1048574, 1048574], optional) + :type timeline_frame: int + :return: New RetimingKey + :rtype: :class:`RetimingKey` + + .. method:: reset() + + Remove all retiming keys + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ImageStrip.retiming_keys` + - :class:`MovieStrip.retiming_keys` + - :class:`SceneStrip.retiming_keys` + - :class:`SoundStrip.retiming_keys` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RigidBodyConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RigidBodyConstraint.rst new file mode 100644 index 0000000..06dfe3d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RigidBodyConstraint.rst @@ -0,0 +1,395 @@ +RigidBodyConstraint(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RigidBodyConstraint(bpy_struct) + + Constraint influencing Objects inside Rigid Body Simulation + + .. attribute:: breaking_threshold + + Impulse threshold that must be reached for the constraint to break (in [0, inf], default 10.0) + + :type: float + + .. attribute:: disable_collisions + + Disable collisions between constrained rigid bodies (default False) + + :type: bool + + .. attribute:: enabled + + Enable this constraint (default False) + + :type: bool + + .. attribute:: limit_ang_x_lower + + Lower limit of X axis rotation (in [-6.28319, 6.28319], default -0.785398) + + :type: float + + .. attribute:: limit_ang_x_upper + + Upper limit of X axis rotation (in [-6.28319, 6.28319], default 0.785398) + + :type: float + + .. attribute:: limit_ang_y_lower + + Lower limit of Y axis rotation (in [-6.28319, 6.28319], default -0.785398) + + :type: float + + .. attribute:: limit_ang_y_upper + + Upper limit of Y axis rotation (in [-6.28319, 6.28319], default 0.785398) + + :type: float + + .. attribute:: limit_ang_z_lower + + Lower limit of Z axis rotation (in [-6.28319, 6.28319], default -0.785398) + + :type: float + + .. attribute:: limit_ang_z_upper + + Upper limit of Z axis rotation (in [-6.28319, 6.28319], default 0.785398) + + :type: float + + .. attribute:: limit_lin_x_lower + + Lower limit of X axis translation (in [-inf, inf], default -1.0) + + :type: float + + .. attribute:: limit_lin_x_upper + + Upper limit of X axis translation (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: limit_lin_y_lower + + Lower limit of Y axis translation (in [-inf, inf], default -1.0) + + :type: float + + .. attribute:: limit_lin_y_upper + + Upper limit of Y axis translation (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: limit_lin_z_lower + + Lower limit of Z axis translation (in [-inf, inf], default -1.0) + + :type: float + + .. attribute:: limit_lin_z_upper + + Upper limit of Z axis translation (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: motor_ang_max_impulse + + Maximum angular motor impulse (in [0, inf], default 1.0) + + :type: float + + .. attribute:: motor_ang_target_velocity + + Target angular motor velocity (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: motor_lin_max_impulse + + Maximum linear motor impulse (in [0, inf], default 1.0) + + :type: float + + .. attribute:: motor_lin_target_velocity + + Target linear motor velocity (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: object1 + + First Rigid Body Object to be constrained + + :type: :class:`Object` | None + + .. attribute:: object2 + + Second Rigid Body Object to be constrained + + :type: :class:`Object` | None + + .. attribute:: solver_iterations + + Number of constraint solver iterations made per simulation step (higher values are more accurate but slower) (in [1, 1000], default 10) + + :type: int + + .. attribute:: spring_damping_ang_x + + Damping on the X rotational axis (in [0, inf], default 0.5) + + :type: float + + .. attribute:: spring_damping_ang_y + + Damping on the Y rotational axis (in [0, inf], default 0.5) + + :type: float + + .. attribute:: spring_damping_ang_z + + Damping on the Z rotational axis (in [0, inf], default 0.5) + + :type: float + + .. attribute:: spring_damping_x + + Damping on the X axis (in [0, inf], default 0.5) + + :type: float + + .. attribute:: spring_damping_y + + Damping on the Y axis (in [0, inf], default 0.5) + + :type: float + + .. attribute:: spring_damping_z + + Damping on the Z axis (in [0, inf], default 0.5) + + :type: float + + .. attribute:: spring_stiffness_ang_x + + Stiffness on the X rotational axis (in [0, inf], default 10.0) + + :type: float + + .. attribute:: spring_stiffness_ang_y + + Stiffness on the Y rotational axis (in [0, inf], default 10.0) + + :type: float + + .. attribute:: spring_stiffness_ang_z + + Stiffness on the Z rotational axis (in [0, inf], default 10.0) + + :type: float + + .. attribute:: spring_stiffness_x + + Stiffness on the X axis (in [0, inf], default 10.0) + + :type: float + + .. attribute:: spring_stiffness_y + + Stiffness on the Y axis (in [0, inf], default 10.0) + + :type: float + + .. attribute:: spring_stiffness_z + + Stiffness on the Z axis (in [0, inf], default 10.0) + + :type: float + + .. attribute:: spring_type + + Which implementation of spring to use (default ``'SPRING1'``) + + - ``SPRING1`` + Blender 2.7 -- Spring implementation used in Blender 2.7. Damping is capped at 1.0. + - ``SPRING2`` + Blender 2.8 -- New implementation available since 2.8. + + :type: Literal['SPRING1', 'SPRING2'] + + .. attribute:: type + + Type of Rigid Body Constraint (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_rigidbody_constraint_type_items`] + + .. attribute:: use_breaking + + Constraint can be broken if it receives an impulse above the threshold (default False) + + :type: bool + + .. attribute:: use_limit_ang_x + + Limit rotation around X axis (default False) + + :type: bool + + .. attribute:: use_limit_ang_y + + Limit rotation around Y axis (default False) + + :type: bool + + .. attribute:: use_limit_ang_z + + Limit rotation around Z axis (default False) + + :type: bool + + .. attribute:: use_limit_lin_x + + Limit translation on X axis (default False) + + :type: bool + + .. attribute:: use_limit_lin_y + + Limit translation on Y axis (default False) + + :type: bool + + .. attribute:: use_limit_lin_z + + Limit translation on Z axis (default False) + + :type: bool + + .. attribute:: use_motor_ang + + Enable angular motor (default False) + + :type: bool + + .. attribute:: use_motor_lin + + Enable linear motor (default False) + + :type: bool + + .. attribute:: use_override_solver_iterations + + Override the number of solver iterations for this constraint (default False) + + :type: bool + + .. attribute:: use_spring_ang_x + + Enable spring on X rotational axis (default False) + + :type: bool + + .. attribute:: use_spring_ang_y + + Enable spring on Y rotational axis (default False) + + :type: bool + + .. attribute:: use_spring_ang_z + + Enable spring on Z rotational axis (default False) + + :type: bool + + .. attribute:: use_spring_x + + Enable spring on X axis (default False) + + :type: bool + + .. attribute:: use_spring_y + + Enable spring on Y axis (default False) + + :type: bool + + .. attribute:: use_spring_z + + Enable spring on Z axis (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.rigid_body_constraint` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RigidBodyObject.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RigidBodyObject.rst new file mode 100644 index 0000000..70f373e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RigidBodyObject.rst @@ -0,0 +1,193 @@ +RigidBodyObject(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RigidBodyObject(bpy_struct) + + Settings for object participating in Rigid Body Simulation + + .. attribute:: angular_damping + + Amount of angular velocity that is lost over time (in [0, 1], default 0.1) + + :type: float + + .. attribute:: collision_collections + + Collision collections rigid body belongs to (array of 20 items, default (False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: collision_margin + + Threshold of distance near surface where collisions are still considered (best results when non-zero) (in [0, 1], default 0.04) + + :type: float + + .. attribute:: collision_shape + + Collision Shape of object in Rigid Body Simulations (default ``'BOX'``) + + :type: Literal[:ref:`rna_enum_rigidbody_object_shape_items`] + + .. attribute:: deactivate_angular_velocity + + Angular Velocity below which simulation stops simulating object (in [0, inf], default 0.5) + + :type: float + + .. attribute:: deactivate_linear_velocity + + Linear Velocity below which simulation stops simulating object (in [0, inf], default 0.4) + + :type: float + + .. attribute:: enabled + + Rigid Body actively participates to the simulation (default True) + + :type: bool + + .. attribute:: friction + + Resistance of object to movement (in [0, inf], default 0.5) + + :type: float + + .. attribute:: kinematic + + Allow rigid body to be controlled by the animation system (default False) + + :type: bool + + .. attribute:: linear_damping + + Amount of linear velocity that is lost over time (in [0, 1], default 0.04) + + :type: float + + .. attribute:: mass + + How much the object 'weighs' irrespective of gravity (in [0.001, inf], default 1.0) + + :type: float + + .. attribute:: mesh_source + + Source of the mesh used to create collision shape (default ``'BASE'``) + + - ``BASE`` + Base -- Base mesh. + - ``DEFORM`` + Deform -- Deformations (shape keys, deform modifiers). + - ``FINAL`` + Final -- All modifiers. + + :type: Literal['BASE', 'DEFORM', 'FINAL'] + + .. attribute:: restitution + + Tendency of object to bounce after colliding with another (0 = stays still, 1 = perfectly elastic) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: type + + Role of object in Rigid Body Simulations (default ``'ACTIVE'``) + + :type: Literal[:ref:`rna_enum_rigidbody_object_type_items`] + + .. attribute:: use_deactivation + + Enable deactivation of resting rigid bodies (increases performance and stability but can cause glitches) (default True) + + :type: bool + + .. attribute:: use_deform + + Rigid body deforms during simulation (default False) + + :type: bool + + .. attribute:: use_margin + + Use custom collision margin (some shapes will have a visible gap around them) (default False) + + :type: bool + + .. attribute:: use_start_deactivated + + Deactivate rigid body at the start of the simulation (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.rigid_body` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RigidBodyWorld.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RigidBodyWorld.rst new file mode 100644 index 0000000..28d8165 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.RigidBodyWorld.rst @@ -0,0 +1,153 @@ +RigidBodyWorld(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: RigidBodyWorld(bpy_struct) + + Self-contained rigid body simulation environment and settings + + .. attribute:: collection + + Collection containing objects participating in this simulation + + :type: :class:`Collection` | None + + .. attribute:: constraints + + Collection containing rigid body constraint objects + + :type: :class:`Collection` | None + + .. data:: effector_weights + + (readonly) + + :type: :class:`EffectorWeights` | None + + .. attribute:: enabled + + Simulation will be evaluated (default True) + + :type: bool + + .. data:: point_cache + + (readonly, never None) + + :type: :class:`PointCache` + + .. attribute:: solver_iterations + + Number of constraint solver iterations made per simulation step (higher values are more accurate but slower) (in [1, 1000], default 10) + + :type: int + + .. attribute:: substeps_per_frame + + Number of simulation steps taken per frame (higher values are more accurate but slower) (in [1, 32767], default 10) + + :type: int + + .. attribute:: time_scale + + Change the speed of the simulation (in [0, 100], default 1.0) + + :type: float + + .. attribute:: use_split_impulse + + Reduce extra velocity that can build up when objects collide (lowers simulation stability a little so use only when necessary) (default False) + + :type: bool + + .. method:: convex_sweep_test(object, start, end) + + Sweep test convex rigidbody against the current rigidbody world + + :param object: Rigidbody object with a convex collision shape (never None) + :type object: :class:`Object` | None + :param start: (array of 3 items, in [-inf, inf]) + :type start: :class:`mathutils.Vector` | Sequence[float] + :param end: (array of 3 items, in [-inf, inf]) + :type end: :class:`mathutils.Vector` | Sequence[float] + :return: + ``object_location``, The hit location of this sweep test, :class:`mathutils.Vector` + + ``hitpoint``, The hit location of this sweep test, :class:`mathutils.Vector` + + ``normal``, The face normal at the sweep test hit location, :class:`mathutils.Vector` + + ``has_hit``, If the function has found collision point, value is 1, otherwise 0, int + + :rtype: tuple[:class:`mathutils.Vector`, :class:`mathutils.Vector`, :class:`mathutils.Vector`, int] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.rigidbody_world` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SCENE_UL_gltf2_filter_action.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SCENE_UL_gltf2_filter_action.rst new file mode 100644 index 0000000..a5078a7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SCENE_UL_gltf2_filter_action.rst @@ -0,0 +1,92 @@ +SCENE_UL_gltf2_filter_action(UIList) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: SCENE_UL_gltf2_filter_action(UIList) + + + .. method:: draw_item(context, layout, data, item, icon, active_data, active_propname, index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SCENE_UL_keying_set_paths.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SCENE_UL_keying_set_paths.rst new file mode 100644 index 0000000..085d00b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SCENE_UL_keying_set_paths.rst @@ -0,0 +1,92 @@ +SCENE_UL_keying_set_paths(UIList) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: SCENE_UL_keying_set_paths(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SEQUENCER_FH_image_strip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SEQUENCER_FH_image_strip.rst new file mode 100644 index 0000000..758a044 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SEQUENCER_FH_image_strip.rst @@ -0,0 +1,77 @@ +SEQUENCER_FH_image_strip(FileHandler) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FileHandler` + +.. class:: SEQUENCER_FH_image_strip(FileHandler) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FileHandler.bl_idname` + - :class:`FileHandler.bl_import_operator` + - :class:`FileHandler.bl_export_operator` + - :class:`FileHandler.bl_label` + - :class:`FileHandler.bl_file_extensions` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FileHandler.poll_drop` + - :class:`FileHandler.bl_rna_get_subclass` + - :class:`FileHandler.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SEQUENCER_FH_movie_strip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SEQUENCER_FH_movie_strip.rst new file mode 100644 index 0000000..38bdd31 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SEQUENCER_FH_movie_strip.rst @@ -0,0 +1,77 @@ +SEQUENCER_FH_movie_strip(FileHandler) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FileHandler` + +.. class:: SEQUENCER_FH_movie_strip(FileHandler) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FileHandler.bl_idname` + - :class:`FileHandler.bl_import_operator` + - :class:`FileHandler.bl_export_operator` + - :class:`FileHandler.bl_label` + - :class:`FileHandler.bl_file_extensions` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FileHandler.poll_drop` + - :class:`FileHandler.bl_rna_get_subclass` + - :class:`FileHandler.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SEQUENCER_FH_sound_strip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SEQUENCER_FH_sound_strip.rst new file mode 100644 index 0000000..ec3efac --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SEQUENCER_FH_sound_strip.rst @@ -0,0 +1,77 @@ +SEQUENCER_FH_sound_strip(FileHandler) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FileHandler` + +.. class:: SEQUENCER_FH_sound_strip(FileHandler) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FileHandler.bl_idname` + - :class:`FileHandler.bl_import_operator` + - :class:`FileHandler.bl_export_operator` + - :class:`FileHandler.bl_label` + - :class:`FileHandler.bl_file_extensions` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FileHandler.poll_drop` + - :class:`FileHandler.bl_rna_get_subclass` + - :class:`FileHandler.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SPHFluidSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SPHFluidSettings.rst new file mode 100644 index 0000000..17c8b8f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SPHFluidSettings.rst @@ -0,0 +1,203 @@ +SPHFluidSettings(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SPHFluidSettings(bpy_struct) + + Settings for particle fluids physics + + .. attribute:: buoyancy + + Artificial buoyancy force in negative gravity direction based on pressure differences inside the fluid (in [0, 10], default 0.0) + + :type: float + + .. attribute:: fluid_radius + + Fluid interaction radius (in [0, 20], default 0.0) + + :type: float + + .. attribute:: linear_viscosity + + Linear viscosity (in [0, 100], default 0.0) + + :type: float + + .. attribute:: plasticity + + How much the spring rest length can change after the elastic limit is crossed (in [0, 100], default 0.0) + + :type: float + + .. attribute:: repulsion + + How strongly the fluid tries to keep from clustering (factor of stiffness) (in [0, 100], default 0.0) + + :type: float + + .. attribute:: rest_density + + Fluid rest density (in [0, 10000], default 0.0) + + :type: float + + .. attribute:: rest_length + + Spring rest length (factor of particle radius) (in [0, 2], default 0.0) + + :type: float + + .. attribute:: solver + + The code used to calculate internal forces on particles (default ``'DDR'``) + + - ``DDR`` + Double-Density -- An artistic solver with strong surface tension effects (original). + - ``CLASSICAL`` + Classical -- A more physically-accurate solver. + + :type: Literal['DDR', 'CLASSICAL'] + + .. attribute:: spring_force + + Spring force (in [0, 100], default 0.0) + + :type: float + + .. attribute:: spring_frames + + Create springs for this number of frames since particles birth (0 is always) (in [0, 100], default 0) + + :type: int + + .. attribute:: stiff_viscosity + + Creates viscosity for expanding fluid (in [0, 100], default 0.0) + + :type: float + + .. attribute:: stiffness + + How incompressible the fluid is (speed of sound) (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: use_factor_density + + Density is calculated as a factor of default density (depends on particle size) (default False) + + :type: bool + + .. attribute:: use_factor_radius + + Interaction radius is a factor of 4 * particle size (default False) + + :type: bool + + .. attribute:: use_factor_repulsion + + Repulsion is a factor of stiffness (default False) + + :type: bool + + .. attribute:: use_factor_rest_length + + Spring rest length is a factor of 2 * particle size (default False) + + :type: bool + + .. attribute:: use_factor_stiff_viscosity + + Stiff viscosity is a factor of normal viscosity (default False) + + :type: bool + + .. attribute:: use_initial_rest_length + + Use the initial length as spring rest length instead of 2 * particle size (default False) + + :type: bool + + .. attribute:: use_viscoelastic_springs + + Use viscoelastic springs instead of Hooke's springs (default False) + + :type: bool + + .. attribute:: yield_ratio + + How much the spring has to be stretched/compressed in order to change its rest length (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ParticleSettings.fluid` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Scene.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Scene.rst new file mode 100644 index 0000000..4609fb4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Scene.rst @@ -0,0 +1,599 @@ +Scene(ID) +========= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Scene(ID) + + Scene data-block, consisting in objects and defining time and render related settings + + .. attribute:: active_clip + + Active Movie Clip that can be used by motion tracking constraints or as a camera's background image + + :type: :class:`MovieClip` | None + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: annotation + + Data-block used for annotations in the 3D view + + :type: :class:`Annotation` | None + + .. attribute:: audio_distance_model + + Distance model for distance attenuation calculation (default ``'INVERSE_CLAMPED'``) + + - ``NONE`` + None -- No distance attenuation. + - ``INVERSE`` + Inverse -- Inverse distance model. + - ``INVERSE_CLAMPED`` + Inverse Clamped -- Inverse distance model with clamping. + - ``LINEAR`` + Linear -- Linear distance model. + - ``LINEAR_CLAMPED`` + Linear Clamped -- Linear distance model with clamping. + - ``EXPONENT`` + Exponential -- Exponential distance model. + - ``EXPONENT_CLAMPED`` + Exponential Clamped -- Exponential distance model with clamping. + + :type: Literal['NONE', 'INVERSE', 'INVERSE_CLAMPED', 'LINEAR', 'LINEAR_CLAMPED', 'EXPONENT', 'EXPONENT_CLAMPED'] + + .. attribute:: audio_doppler_factor + + Pitch factor for Doppler effect calculation (in [0, inf], default 1.0) + + :type: float + + .. attribute:: audio_doppler_speed + + Speed of sound for Doppler effect calculation (in [0.01, inf], default 343.3) + + :type: float + + .. attribute:: audio_volume + + Audio volume (in [0, 100], default 1.0) + + :type: float + + .. attribute:: background_set + + Background set scene + + :type: :class:`Scene` | None + + .. attribute:: camera + + Active camera, used for rendering the scene + + :type: :class:`Object` | None + + .. data:: collection + + Scene root collection that owns all the objects and other collections instantiated in the scene (readonly, never None) + + :type: :class:`Collection` + + .. attribute:: compositing_node_group + + Compositor Nodes + + :type: :class:`NodeTree` | None + + .. data:: cursor + + (readonly, never None) + + :type: :class:`View3DCursor` + + .. data:: display + + Scene display settings for 3D viewport (readonly) + + :type: :class:`SceneDisplay` | None + + .. data:: display_settings + + Settings of device saved image would be displayed on (readonly) + + :type: :class:`ColorManagedDisplaySettings` | None + + .. data:: eevee + + EEVEE settings for the scene (readonly) + + :type: :class:`SceneEEVEE` | None + + .. attribute:: frame_current + + Current frame, to update animation data from Python frame_set() instead (in [-1048574, 1048574], default 1) + + :type: int + + .. data:: frame_current_final + + Current frame with subframe and time remapping applied (in [-1.04857e+06, 1.04857e+06], default 0.0, readonly) + + :type: float + + .. attribute:: frame_end + + Final frame of the playback/rendering range (in [0, 1048574], default 250) + + :type: int + + .. attribute:: frame_float + + (in [-1.04857e+06, 1.04857e+06], default 0.0) + + :type: float + + .. attribute:: frame_preview_end + + Alternative end frame for UI playback (in [-inf, inf], default 0) + + :type: int + + .. attribute:: frame_preview_start + + Alternative start frame for UI playback (in [-inf, inf], default 0) + + :type: int + + .. attribute:: frame_start + + First frame of the playback/rendering range (in [0, 1048574], default 1) + + :type: int + + .. attribute:: frame_step + + Number of frames to skip forward while rendering/playing back each frame (in [0, 1048574], default 1) + + :type: int + + .. attribute:: frame_subframe + + (in [0, 1], default 0.0) + + :type: float + + .. attribute:: gravity + + Constant acceleration in a given direction (array of 3 items, in [-inf, inf], default (0.0, 0.0, -9.81)) + + :type: :class:`mathutils.Vector` + + .. data:: grease_pencil_settings + + Grease Pencil settings for the scene (readonly) + + :type: :class:`SceneGpencil` | None + + .. data:: hydra + + Hydra settings for the scene (readonly) + + :type: :class:`SceneHydra` | None + + .. data:: is_nla_tweakmode + + Whether there is any action referenced by NLA being edited (strictly read-only) (default False, readonly) + + :type: bool + + .. data:: keying_sets + + Absolute Keying Sets for this Scene (default None, readonly) + + :type: :class:`KeyingSets`\ [:class:`KeyingSet`] + + .. data:: keying_sets_all + + All Keying Sets available for use (Builtins and Absolute Keying Sets for this Scene) (default None, readonly) + + :type: :class:`KeyingSetsAll`\ [:class:`KeyingSet`] + + .. attribute:: lock_frame_selection_to_range + + Don't allow frame to be selected with mouse outside of frame range (default False) + + :type: bool + + .. data:: objects + + (default None, readonly) + + :type: :class:`SceneObjects`\ [:class:`Object`] + + .. data:: render + + (readonly, never None) + + :type: :class:`RenderSettings` + + .. data:: rigidbody_world + + (readonly) + + :type: :class:`RigidBodyWorld` | None + + .. data:: safe_areas + + (readonly, never None) + + :type: :class:`DisplaySafeAreas` + + .. data:: sequence_editor + + (readonly) + + :type: :class:`SequenceEditor` | None + + .. data:: sequencer_colorspace_settings + + Settings of color space sequencer is working in (readonly) + + :type: :class:`ColorManagedSequencerColorspaceSettings` | None + + .. attribute:: show_keys_from_selected_only + + Only include channels relating to selected objects and data (default True) + + :type: bool + + .. attribute:: show_subframe + + Display and allow setting fractional frame values for the current frame (default False) + + :type: bool + + .. attribute:: simulation_frame_end + + Frame at which simulations end (in [-inf, inf], default 250) + + :type: int + + .. attribute:: simulation_frame_start + + Frame at which simulations start (in [-inf, inf], default 1) + + :type: int + + .. attribute:: sync_mode + + How to sync playback (default ``'AUDIO_SYNC'``) + + - ``NONE`` + Play Every Frame -- Do not sync, play every frame. + - ``FRAME_DROP`` + Frame Dropping -- Drop frames if playback is too slow. + - ``AUDIO_SYNC`` + Sync to Audio -- Sync to audio playback, dropping frames. + + :type: Literal['NONE', 'FRAME_DROP', 'AUDIO_SYNC'] + + .. attribute:: time_jump_delta + + Number of frames or seconds to jump forward or backward (in [0.1, inf], default 1.0) + + :type: float + + .. attribute:: time_jump_unit + + Which unit to use for time jumps in the timeline (default ``'SECOND'``) + + - ``FRAME`` + Frame -- Jump by frames. + - ``SECOND`` + Second -- Jump by seconds. + + :type: Literal['FRAME', 'SECOND'] + + .. data:: timeline_markers + + Markers used in all timelines for the current scene (default None, readonly) + + :type: :class:`TimelineMarkers`\ [:class:`TimelineMarker`] + + .. data:: tool_settings + + (readonly, never None) + + :type: :class:`ToolSettings` + + .. data:: transform_orientation_slots + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`TransformOrientationSlot`] + + .. data:: unit_settings + + Unit editing settings (readonly, never None) + + :type: :class:`UnitSettings` + + .. attribute:: use_audio + + Play back of audio from Sequence Editor, otherwise mute audio (default False) + + :type: bool + + .. attribute:: use_audio_scrub + + Play audio from Sequence Editor while scrubbing (default False) + + :type: bool + + .. attribute:: use_custom_simulation_range + + Use a simulation range that is different from the scene range for simulation nodes that don't override the frame range themselves (default False) + + :type: bool + + .. attribute:: use_gravity + + Use global gravity for all dynamics (default True) + + :type: bool + + .. attribute:: use_nodes + + Enable the compositing node group. (default False) + + .. deprecated:: 5.0 removal planned in version 6.0 + + Unused but kept for compatibility reasons. Setting the property has no effect, and getting it always returns True. Use #scene.render.use_compositing to turn compositing to enable or disable compositing. + + :type: bool + + .. attribute:: use_preview_range + + Use an alternative start/end frame range for animation playback and view renders (default False) + + :type: bool + + .. attribute:: use_stamp_note + + User defined note for the render stamping (default "", never None) + + :type: str + + .. data:: view_layers + + (default None, readonly) + + :type: :class:`ViewLayers`\ [:class:`ViewLayer`] + + .. data:: view_settings + + Color management settings applied on image before saving (readonly) + + :type: :class:`ColorManagedViewSettings` | None + + .. attribute:: world + + World used for rendering the scene + + :type: :class:`World` | None + + .. classmethod:: update_render_engine() + + Trigger a render engine update + + + .. method:: statistics(view_layer) + + statistics + + :param view_layer: View Layer, (never None) + :type view_layer: :class:`ViewLayer` | None + :return: Statistics, (never None) + :rtype: str + + .. method:: frame_set(frame, *, subframe=0.0) + + Set scene frame updating all objects and view layers immediately + + :param frame: Frame number to set (in [-1048574, 1048574]) + :type frame: int + :param subframe: Subframe time, between 0.0 and 1.0 (in [0, 1], optional) + :type subframe: float + + .. method:: uvedit_aspect(object) + + Get uv aspect for current object + + :param object: Object (never None) + :type object: :class:`Object` | None + :return: aspect (array of 2 items, in [0, inf]) + :rtype: :class:`mathutils.Vector` + + .. method:: ray_cast(depsgraph, origin, direction, *, distance=1.70141e+38) + + Cast a ray onto evaluated geometry in world-space + + :param depsgraph: The current dependency graph (never None) + :type depsgraph: :class:`Depsgraph` | None + :param origin: (array of 3 items, in [-inf, inf]) + :type origin: :class:`mathutils.Vector` | Sequence[float] + :param direction: (array of 3 items, in [-inf, inf]) + :type direction: :class:`mathutils.Vector` | Sequence[float] + :param distance: Maximum distance (in [0, inf], optional) + :type distance: float + :return: + ``result``, bool + + ``location``, The hit location of this ray cast, :class:`mathutils.Vector` + + ``normal``, The face normal at the ray cast hit location, :class:`mathutils.Vector` + + ``index``, The face index, -1 when original data isn't available, int + + ``object``, Ray cast object, :class:`Object` + + ``matrix``, Matrix, :class:`mathutils.Matrix` + + :rtype: tuple[bool, :class:`mathutils.Vector`, :class:`mathutils.Vector`, int, :class:`Object`, :class:`mathutils.Matrix`] + + .. method:: sequence_editor_create() + + Ensure sequence editor is valid in this scene + + :return: New sequence editor data or None + :rtype: :class:`SequenceEditor` + + .. method:: sequence_editor_clear() + + Clear sequence editor in this scene + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.scene` + - :mod:`bpy.context.sequencer_scene` + - :class:`BlendData.scenes` + - :class:`BlendDataScenes.new` + - :class:`BlendDataScenes.remove` + - :class:`Camera.view_frame` + - :class:`CompositorNodeCryptomatteV2.scene` + - :class:`CompositorNodeDefocus.scene` + - :class:`CompositorNodeRLayers.scene` + - :class:`Context.scene` + - :class:`Depsgraph.scene` + - :class:`Depsgraph.scene_eval` + - :class:`ID.override_hierarchy_create` + - :class:`IDOverrideLibrary.resync` + - :class:`Image.save_render` + - :class:`NodeSocketScene.default_value` + - :class:`NodeTreeInterfaceSocketScene.default_value` + - :class:`Object.crazyspace_eval` + - :class:`Object.is_deform_modified` + - :class:`Object.is_modified` + - :class:`RenderEngine.bind_display_space_shader` + - :class:`RenderEngine.get_preview_pixel_size` + - :class:`RenderEngine.register_pass` + - :class:`RenderEngine.support_display_space_shader` + - :class:`RenderEngine.update_render_passes` + - :class:`Scene.background_set` + - :class:`SceneStrip.scene` + - :class:`StripsMeta.new_scene` + - :class:`StripsTopLevel.new_scene` + - :class:`Window.find_playing_scene` + - :class:`Window.scene` + - :class:`WorkSpace.sequencer_scene` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneDisplay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneDisplay.rst new file mode 100644 index 0000000..6605ae5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneDisplay.rst @@ -0,0 +1,162 @@ +SceneDisplay(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SceneDisplay(bpy_struct) + + Scene display settings for 3D viewport + + .. attribute:: light_direction + + Direction of the light for shadows and highlights (array of 3 items, in [-inf, inf], default (0.57735, 0.57735, 0.57735)) + + :type: :class:`mathutils.Vector` + + .. attribute:: matcap_ssao_attenuation + + Attenuation constant (in [0, 100000], default 1.0) + + :type: float + + .. attribute:: matcap_ssao_distance + + Distance of object that contribute to the cavity/edge effect (in [0, 100000], default 0.2) + + :type: float + + .. attribute:: matcap_ssao_samples + + Number of samples (in [1, 500], default 16) + + :type: int + + .. attribute:: render_aa + + Method of anti-aliasing when rendering final image (default ``'8'``) + + - ``OFF`` + No Anti-Aliasing -- Scene will be rendering without any anti-aliasing. + - ``FXAA`` + Single Pass Anti-Aliasing -- Scene will be rendered using a single pass anti-aliasing method (FXAA). + - ``5`` + 5 Samples -- Scene will be rendered using 5 anti-aliasing samples. + - ``8`` + 8 Samples -- Scene will be rendered using 8 anti-aliasing samples. + - ``11`` + 11 Samples -- Scene will be rendered using 11 anti-aliasing samples. + - ``16`` + 16 Samples -- Scene will be rendered using 16 anti-aliasing samples. + - ``32`` + 32 Samples -- Scene will be rendered using 32 anti-aliasing samples. + + :type: Literal['OFF', 'FXAA', '5', '8', '11', '16', '32'] + + .. data:: shading + + Shading settings for OpenGL render engine (readonly) + + :type: :class:`View3DShading` | None + + .. attribute:: shadow_focus + + Shadow factor hardness (in [0, 1], default 0.0) + + :type: float + + .. attribute:: shadow_shift + + Shadow termination angle (in [0, 1], default 0.1) + + :type: float + + .. attribute:: viewport_aa + + Method of anti-aliasing when rendering 3d viewport (default ``'FXAA'``) + + - ``OFF`` + No Anti-Aliasing -- Scene will be rendering without any anti-aliasing. + - ``FXAA`` + Single Pass Anti-Aliasing -- Scene will be rendered using a single pass anti-aliasing method (FXAA). + - ``5`` + 5 Samples -- Scene will be rendered using 5 anti-aliasing samples. + - ``8`` + 8 Samples -- Scene will be rendered using 8 anti-aliasing samples. + - ``11`` + 11 Samples -- Scene will be rendered using 11 anti-aliasing samples. + - ``16`` + 16 Samples -- Scene will be rendered using 16 anti-aliasing samples. + - ``32`` + 32 Samples -- Scene will be rendered using 32 anti-aliasing samples. + + :type: Literal['OFF', 'FXAA', '5', '8', '11', '16', '32'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.display` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneEEVEE.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneEEVEE.rst new file mode 100644 index 0000000..fc36f34 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneEEVEE.rst @@ -0,0 +1,434 @@ +SceneEEVEE(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SceneEEVEE(bpy_struct) + + Scene display settings for 3D viewport + + .. attribute:: bokeh_max_size + + Max size of the bokeh shape for the depth of field (lower is faster) (in [0, 2000], default 100.0) + + :type: float + + .. attribute:: bokeh_neighbor_max + + Maximum brightness to consider when rejecting bokeh sprites based on neighborhood (lower is faster) (in [0, 100000], default 10.0) + + :type: float + + .. attribute:: bokeh_overblur + + Apply blur to each jittered sample to reduce under-sampling artifacts (in [0, 100], default 5.0) + + :type: float + + .. attribute:: bokeh_threshold + + Brightness threshold for using sprite base depth of field (in [0, 100000], default 1.0) + + :type: float + + .. attribute:: clamp_surface_direct + + If non-zero, the maximum value for lights contribution on a surface. Higher values will be scaled down to avoid too much noise and slow convergence at the cost of accuracy. Used by light objects. (in [0, inf], default 0.0) + + :type: float + + .. attribute:: clamp_surface_indirect + + If non-zero, the maximum value for indirect lighting on surface. Higher values will be scaled down to avoid too much noise and slow convergence at the cost of accuracy. Used by ray-tracing and light-probes. (in [0, inf], default 10.0) + + :type: float + + .. attribute:: clamp_volume_direct + + If non-zero, the maximum value for lights contribution in volumes. Higher values will be scaled down to avoid too much noise and slow convergence at the cost of accuracy. Used by light objects. (in [0, inf], default 0.0) + + :type: float + + .. attribute:: clamp_volume_indirect + + If non-zero, the maximum value for indirect lighting in volumes. Higher values will be scaled down to avoid too much noise and slow convergence at the cost of accuracy. Used by light-probes. (in [0, inf], default 0.0) + + :type: float + + .. attribute:: direct_light_intensity + + Scale the contribution of direct lighting (in [0, inf], default 1.0) + + :type: float + + .. attribute:: fast_gi_bias + + Bias the shading normal to reduce self intersection artifacts (in [0, 1], default 0.05) + + :type: float + + .. attribute:: fast_gi_distance + + If non-zero, the maximum distance at which other surfaces will contribute to the fast GI approximation (in [0, 100000], default 0.0) + + :type: float + + .. attribute:: fast_gi_method + + Fast GI approximation method (default ``'GLOBAL_ILLUMINATION'``) + + - ``AMBIENT_OCCLUSION_ONLY`` + Ambient Occlusion -- Use ambient occlusion instead of full global illumination. + - ``GLOBAL_ILLUMINATION`` + Global Illumination -- Compute global illumination taking into account light bouncing off surrounding objects. + + :type: Literal['AMBIENT_OCCLUSION_ONLY', 'GLOBAL_ILLUMINATION'] + + .. attribute:: fast_gi_quality + + Precision of the fast GI ray marching (in [0, 1], default 0.25) + + :type: float + + .. attribute:: fast_gi_ray_count + + Amount of GI ray to trace for each pixel (in [1, 16], default 2) + + :type: int + + .. attribute:: fast_gi_resolution + + Control the quality of the fast GI lighting. Higher resolution uses more memory. (default ``'2'``) + + - ``1`` + 1:1 -- Full resolution. + - ``2`` + 1:2 -- Render this effect at 50% render resolution. + - ``4`` + 1:4 -- Render this effect at 25% render resolution. + - ``8`` + 1:8 -- Render this effect at 12.5% render resolution. + - ``16`` + 1:16 -- Render this effect at 6.25% render resolution. + + :type: Literal['1', '2', '4', '8', '16'] + + .. attribute:: fast_gi_step_count + + Amount of screen sample per GI ray (in [1, 64], default 8) + + :type: int + + .. attribute:: fast_gi_thickness_far + + Angular thickness of the surfaces when computing fast GI and ambient occlusion. Reduces energy loss and missing occlusion of far geometry. (in [0.0174533, 3.14159], default 0.785398) + + :type: float + + .. attribute:: fast_gi_thickness_near + + Geometric thickness of the surfaces when computing fast GI and ambient occlusion. Reduces light leaking and missing contact occlusion. (in [0, 100000], default 0.25) + + :type: float + + .. attribute:: gi_cubemap_resolution + + Size of every cubemaps (default ``'512'``) + + :type: Literal['128', '256', '512', '1024', '2048', '4096'] + + .. attribute:: gi_diffuse_bounces + + Number of times the light is reinjected inside light grids, 0 disable indirect diffuse light (in [0, inf], default 3) + + :type: int + + .. attribute:: gi_glossy_clamp + + Clamp pixel intensity to reduce noise inside glossy reflections from reflection cubemaps (0 to disable) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: gi_irradiance_pool_size + + Size of the irradiance pool, a bigger pool size allows for more irradiance grid in the scene but might not fit into GPU memory and decrease performance (default ``'16'``) + + :type: Literal['16', '32', '64', '128', '256', '512', '1024'] + + .. attribute:: gi_visibility_resolution + + Size of the shadow map applied to each irradiance sample (default ``'32'``) + + :type: Literal['8', '16', '32', '64'] + + .. attribute:: indirect_light_intensity + + Scale the contribution of indirect lighting (in [0, inf], default 1.0) + + :type: float + + .. attribute:: light_threshold + + Minimum light intensity for a light to contribute to the lighting (in [0, inf], default 0.01) + + :type: float + + .. attribute:: motion_blur_depth_scale + + Lower values will reduce background bleeding onto foreground elements (in [0, inf], default 100.0) + + :type: float + + .. attribute:: motion_blur_max + + Maximum blur distance a pixel can spread over (in [0, 2048], default 32) + + :type: int + + .. attribute:: motion_blur_steps + + Controls accuracy of motion blur, more steps means longer render time (in [1, inf], default 1) + + :type: int + + .. attribute:: overscan_size + + Percentage of render size to add as overscan to the internal render buffers (in [0, 50], default 3.0) + + :type: float + + .. attribute:: ray_tracing_method + + Select the tracing method used to find scene-ray intersections (default ``'SCREEN'``) + + - ``PROBE`` + Light Probe -- Use light probes to find scene intersection. + - ``SCREEN`` + Screen-Trace -- Raytrace against the depth buffer. Fallback to light probes for invalid rays.. + + :type: Literal['PROBE', 'SCREEN'] + + .. data:: ray_tracing_options + + EEVEE settings for tracing reflections (readonly) + + :type: :class:`RaytraceEEVEE` | None + + .. attribute:: shadow_pool_size + + Size of the shadow pool, a bigger pool size allows for more shadows in the scene but might not fit into GPU memory (default ``'512'``) + + :type: Literal['16', '32', '64', '128', '256', '512', '1024'] + + .. attribute:: shadow_ray_count + + Amount of shadow ray to trace for each light (in [1, 4], default 1) + + :type: int + + .. attribute:: shadow_resolution_scale + + Resolution percentage of shadow maps (in [0, 1], default 1.0) + + :type: float + + .. attribute:: shadow_step_count + + Amount of shadow map sample per shadow ray (in [1, 16], default 6) + + :type: int + + .. attribute:: taa_render_samples + + Number of samples per pixel for rendering (in [1, inf], default 64) + + :type: int + + .. attribute:: taa_samples + + Number of samples, unlimited if 0 (in [0, inf], default 16) + + :type: int + + .. attribute:: use_bokeh_jittered + + Jitter camera position to create accurate blurring using render samples (only for final render) (default False) + + :type: bool + + .. attribute:: use_fast_gi + + Use faster global illumination technique for high roughness surfaces (default False) + + :type: bool + + .. attribute:: use_overscan + + Internally render past the image border to avoid screen-space effects disappearing (default False) + + :type: bool + + .. attribute:: use_raytracing + + Enable the ray-tracing module (default False) + + :type: bool + + .. attribute:: use_shadow_jitter_viewport + + Enable jittered shadows on the viewport. (Jittered shadows are always enabled for final renders). (default False) + + :type: bool + + .. attribute:: use_shadows + + Enable shadow casting from lights (default True) + + :type: bool + + .. attribute:: use_taa_reprojection + + Denoise image using temporal reprojection (can leave some ghosting) (default True) + + :type: bool + + .. attribute:: use_volume_custom_range + + Enable custom start and end clip distances for volume computation (default False) + + :type: bool + + .. attribute:: use_volumetric_shadows + + Cast shadows from volumetric materials onto volumetric materials (Very expensive) (default False) + + :type: bool + + .. attribute:: volumetric_end + + End distance of the volumetric effect (in [1e-06, inf], default 100.0) + + :type: float + + .. attribute:: volumetric_light_clamp + + Maximum light contribution, reducing noise (in [0, inf], default 0.0) + + :type: float + + .. attribute:: volumetric_ray_depth + + Maximum surface intersection count used by the accurate volume intersection method. Will create artifact if it is exceeded. Higher count increases VRAM usage. (in [1, 16], default 16) + + :type: int + + .. attribute:: volumetric_sample_distribution + + Distribute more samples closer to the camera (in [0, 1], default 0.8) + + :type: float + + .. attribute:: volumetric_samples + + Number of steps to compute volumetric effects. Higher step count increase VRAM usage and quality. (in [1, 256], default 64) + + :type: int + + .. attribute:: volumetric_shadow_samples + + Number of samples to compute volumetric shadowing (in [1, 128], default 16) + + :type: int + + .. attribute:: volumetric_start + + Start distance of the volumetric effect (in [1e-06, inf], default 0.1) + + :type: float + + .. attribute:: volumetric_tile_size + + Control the quality of the volumetric effects. Higher resolution uses more memory. (default ``'8'``) + + - ``1`` + 1:1 -- Full resolution. + - ``2`` + 1:2 -- Render this effect at 50% render resolution. + - ``4`` + 1:4 -- Render this effect at 25% render resolution. + - ``8`` + 1:8 -- Render this effect at 12.5% render resolution. + - ``16`` + 1:16 -- Render this effect at 6.25% render resolution. + + :type: Literal['1', '2', '4', '8', '16'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.eevee` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneGpencil.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneGpencil.rst new file mode 100644 index 0000000..79ecd30 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneGpencil.rst @@ -0,0 +1,102 @@ +SceneGpencil(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SceneGpencil(bpy_struct) + + Render settings + + .. attribute:: aa_samples + + Number of supersampling anti-aliasing samples per pixel for final render (in [1, inf], default 8) + + :type: int + + .. attribute:: antialias_threshold + + Threshold for edge detection algorithm (higher values might over-blur some part of the image) (in [0, inf], default 1.0) + + :type: float + + .. attribute:: antialias_threshold_render + + Threshold for edge detection algorithm (higher values might over-blur some part of the image). Only applies to final render (in [0, inf], default 0.25) + + :type: float + + .. attribute:: motion_blur_steps + + Controls accuracy of motion blur, more steps result in longer render time. Only used when Motion Blur is enabled. Set to 0 to disable motion blur for Grease Pencil (in [0, inf], default 8) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.grease_pencil_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneHydra.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneHydra.rst new file mode 100644 index 0000000..f9b4640 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneHydra.rst @@ -0,0 +1,89 @@ +SceneHydra(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SceneHydra(bpy_struct) + + Scene Hydra render engine settings + + .. attribute:: export_method + + How to export the Blender scene to the Hydra render engine (default ``'HYDRA'``) + + - ``HYDRA`` + Hydra -- Fast interactive editing through native Hydra integration. + - ``USD`` + USD -- Export scene through USD file, for accurate comparison with USD file export. + + :type: Literal['HYDRA', 'USD'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.hydra` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneObjects.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneObjects.rst new file mode 100644 index 0000000..d80b945 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneObjects.rst @@ -0,0 +1,78 @@ +SceneObjects(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: SceneObjects(bpy_prop_collection) + + All of the scene objects + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.objects` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneRenderView.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneRenderView.rst new file mode 100644 index 0000000..1d94d64 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneRenderView.rst @@ -0,0 +1,106 @@ +SceneRenderView(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SceneRenderView(bpy_struct) + + Render viewpoint for 3D stereo and multiview rendering + + .. attribute:: camera_suffix + + Suffix to identify the cameras to use, and added to the render images for this view (default "", never None) + + :type: str + + .. attribute:: file_suffix + + Suffix added to the render images for this view (default "", never None) + + :type: str + + .. attribute:: name + + Render view name (default "", never None) + + :type: str + + .. attribute:: use + + Disable or enable the render view (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`RenderViews.active` + - :class:`RenderViews.new` + - :class:`RenderViews.remove` + - :class:`RenderSettings.stereo_views` + - :class:`RenderSettings.views` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneStrip.rst new file mode 100644 index 0000000..1a57b9a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SceneStrip.rst @@ -0,0 +1,278 @@ +SceneStrip(Strip) +================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip` + +.. class:: SceneStrip(Strip) + + Sequence strip using the rendered image of a scene + + .. attribute:: alpha_mode + + Representation of alpha information in the RGBA pixels (default ``'STRAIGHT'``) + + - ``STRAIGHT`` + Straight -- RGB channels in transparent pixels are unaffected by the alpha channel. + - ``PREMUL`` + Premultiplied -- RGB channels in transparent pixels are multiplied by the alpha channel. + + :type: Literal['STRAIGHT', 'PREMUL'] + + .. attribute:: animation_offset_end + + Animation end offset (trim end) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_end'. + + :type: int + + .. attribute:: animation_offset_start + + Animation start offset (trim start) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_start'. + + :type: int + + .. attribute:: color_multiply + + (in [0, 20], default 1.0) + + :type: float + + .. attribute:: color_saturation + + Adjust the intensity of the input's color (in [0, 20], default 1.0) + + :type: float + + .. attribute:: content_trim_end + + Number of frames to ignore from the end of the underlying source. The source content is trimmed, and future frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. attribute:: content_trim_start + + Number of frames to ignore from the start of the underlying source. The source content is trimmed, and previous frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. data:: crop + + (readonly) + + :type: :class:`StripCrop` | None + + .. data:: fps + + Frames per second (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. attribute:: multiply_alpha + + Multiply alpha along with color channels (default False) + + :type: bool + + .. data:: proxy + + (readonly) + + :type: :class:`StripProxy` | None + + .. data:: retiming_keys + + (default None, readonly) + + :type: :class:`RetimingKeys`\ [:class:`RetimingKey`] + + .. attribute:: scene + + Scene that this strip uses + + :type: :class:`Scene` | None + + .. attribute:: scene_camera + + Override the scene's active camera + + :type: :class:`Object` | None + + .. attribute:: scene_input + + Input type to use for the Scene strip (default ``'CAMERA'``) + + - ``CAMERA`` + Camera -- Use the Scene's 3D camera as input. + - ``SEQUENCER`` + Sequencer -- Use the Scene's Sequencer timeline as input. + + :type: Literal['CAMERA', 'SEQUENCER'] + + .. attribute:: strobe + + Only display every nth frame (in [1, 30], default 0.0) + + :type: float + + .. data:: transform + + (readonly) + + :type: :class:`StripTransform` | None + + .. attribute:: use_annotations + + Show Annotations in OpenGL previews (default True) + + :type: bool + + .. attribute:: use_deinterlace + + Remove fields from video movies (default False) + + :type: bool + + .. attribute:: use_flip_x + + Flip on the X axis (default False) + + :type: bool + + .. attribute:: use_flip_y + + Flip on the Y axis (default False) + + :type: bool + + .. attribute:: use_float + + Convert input to float data (default False) + + :type: bool + + .. attribute:: use_proxy + + Use a preview proxy and/or time-code index for this strip (default False) + + :type: bool + + .. attribute:: use_reverse_frames + + Reverse frame order (default False) + + :type: bool + + .. attribute:: volume + + Playback volume of the sound (in [0, 100], default 1.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Scopes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Scopes.rst new file mode 100644 index 0000000..6f7cbee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Scopes.rst @@ -0,0 +1,120 @@ +Scopes(bpy_struct) +================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Scopes(bpy_struct) + + Scopes for statistical view of an image + + .. attribute:: accuracy + + Proportion of original image source pixel lines to sample (in [0, 100], default 0.0) + + :type: float + + .. data:: histogram + + Histogram for viewing image statistics (readonly) + + :type: :class:`Histogram` | None + + .. attribute:: use_full_resolution + + Sample every pixel of the image (default False) + + :type: bool + + .. attribute:: vectorscope_alpha + + Opacity of the points (in [0, 1], default 0.0) + + :type: float + + .. attribute:: vectorscope_mode + + (default ``'RGB'``) + + :type: Literal['LUMA', 'RGB'] + + .. attribute:: waveform_alpha + + Opacity of the points (in [0, 1], default 0.0) + + :type: float + + .. attribute:: waveform_mode + + (default ``'LUMA'``) + + :type: Literal['LUMA', 'PARADE', 'YCBCR601', 'YCBCR709', 'YCBCRJPG', 'RGB'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceImageEditor.scopes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Screen.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Screen.rst new file mode 100644 index 0000000..e9f8a3d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Screen.rst @@ -0,0 +1,224 @@ +Screen(ID) +========== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Screen(ID) + + Screen data-block, defining the layout of areas in a window + + .. data:: areas + + Areas the screen is subdivided into (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Area`] + + .. data:: is_animation_playing + + Animation playback is active (default False, readonly) + + :type: bool + + .. data:: is_scrubbing + + True when the user is scrubbing through time (default False, readonly) + + :type: bool + + .. data:: is_temporary + + (default False, readonly) + + :type: bool + + .. data:: show_fullscreen + + An area is maximized, filling this screen (default False, readonly) + + :type: bool + + .. attribute:: show_statusbar + + Show status bar (default True) + + :type: bool + + .. attribute:: use_follow + + Follow current frame in editors (default False) + + :type: bool + + .. attribute:: use_play_3d_editors + + (default False) + + :type: bool + + .. attribute:: use_play_animation_editors + + (default False) + + :type: bool + + .. attribute:: use_play_clip_editors + + (default False) + + :type: bool + + .. attribute:: use_play_image_editors + + (default False) + + :type: bool + + .. attribute:: use_play_node_editors + + (default False) + + :type: bool + + .. attribute:: use_play_properties_editors + + (default False) + + :type: bool + + .. attribute:: use_play_sequence_editors + + (default False) + + :type: bool + + .. attribute:: use_play_spreadsheet_editors + + (default False) + + :type: bool + + .. attribute:: use_play_top_left_3d_editor + + (default False) + + :type: bool + + .. method:: statusbar_info() + + statusbar_info + + :return: Status Bar Info, (never None) + :rtype: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.screens` + - :class:`Context.screen` + - :class:`Window.screen` + - :class:`WorkSpace.screens` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ScrewModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ScrewModifier.rst new file mode 100644 index 0000000..b9182ad --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ScrewModifier.rst @@ -0,0 +1,175 @@ +ScrewModifier(Modifier) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: ScrewModifier(Modifier) + + Revolve edges + + .. attribute:: angle + + Angle of revolution (in [-inf, inf], default 6.28319) + + :type: float + + .. attribute:: axis + + Screw axis (default ``'Z'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: iterations + + Number of times to apply the screw operation (in [1, 10000], default 1) + + :type: int + + .. attribute:: merge_threshold + + Limit below which to merge vertices (in [0, inf], default 0.01) + + :type: float + + .. attribute:: object + + Object to define the screw axis + + :type: :class:`Object` | None + + .. attribute:: render_steps + + Number of steps in the revolution (in [1, 10000], default 16) + + :type: int + + .. attribute:: screw_offset + + Offset the revolution along its axis (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: steps + + Number of steps in the revolution (in [1, 10000], default 16) + + :type: int + + .. attribute:: use_merge_vertices + + Merge adjacent vertices (screw offset must be zero) (default False) + + :type: bool + + .. attribute:: use_normal_calculate + + Calculate the order of edges (needed for meshes, but not curves) (default False) + + :type: bool + + .. attribute:: use_normal_flip + + Flip normals of lathed faces (default False) + + :type: bool + + .. attribute:: use_object_screw_offset + + Use the distance between the objects to make a screw (default False) + + :type: bool + + .. attribute:: use_smooth_shade + + Output faces with smooth shading rather than flat shaded (default True) + + :type: bool + + .. attribute:: use_stretch_u + + Stretch the U coordinates between 0 and 1 when UVs are present (default False) + + :type: bool + + .. attribute:: use_stretch_v + + Stretch the V coordinates between 0 and 1 when UVs are present (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ScriptDirectory.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ScriptDirectory.rst new file mode 100644 index 0000000..411545b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ScriptDirectory.rst @@ -0,0 +1,91 @@ +ScriptDirectory(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ScriptDirectory(bpy_struct) + + + .. attribute:: directory + + Alternate script path, matching the default layout with sub-directories: startup, add-ons, modules, and presets (requires restart) (default "", never None) + + :type: str + + .. attribute:: name + + Identifier for the Python scripts directory (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PreferencesFilePaths.script_directories` + - :class:`ScriptDirectoryCollection.new` + - :class:`ScriptDirectoryCollection.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ScriptDirectoryCollection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ScriptDirectoryCollection.rst new file mode 100644 index 0000000..c3e145c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ScriptDirectoryCollection.rst @@ -0,0 +1,90 @@ +ScriptDirectoryCollection(bpy_prop_collection) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ScriptDirectoryCollection(bpy_prop_collection) + + + .. classmethod:: new() + + Add a new Python script directory + + :rtype: :class:`ScriptDirectory` + + .. classmethod:: remove(script_directory) + + Remove a Python script directory + + :param script_directory: (never None) + :type script_directory: :class:`ScriptDirectory` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PreferencesFilePaths.script_directories` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Sculpt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Sculpt.rst new file mode 100644 index 0000000..a56f7b4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Sculpt.rst @@ -0,0 +1,316 @@ +Sculpt(Paint) +============= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Paint` + +.. class:: Sculpt(Paint) + + + .. attribute:: automasking_boundary_edges_propagation_steps + + Distance where boundary edge automasking is going to protect vertices from the fully masked edge (in [1, 20], default 1) + + :type: int + + .. attribute:: automasking_cavity_blur_steps + + The number of times the cavity mask is blurred (in [0, 25], default 0) + + :type: int + + .. data:: automasking_cavity_curve + + Curve used for the sensitivity (readonly) + + :type: :class:`CurveMapping` | None + + .. data:: automasking_cavity_curve_op + + Curve used for the sensitivity (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: automasking_cavity_factor + + The contrast of the cavity mask (in [0, 5], default 1.0) + + :type: float + + .. attribute:: automasking_start_normal_falloff + + Extend the angular range with a falloff gradient (in [0.0001, 1], default 0.25) + + :type: float + + .. attribute:: automasking_start_normal_limit + + The range of angles that will be affected (in [0.0001, 3.14159], default 0.349066) + + :type: float + + .. attribute:: automasking_view_normal_falloff + + Extend the angular range with a falloff gradient (in [0.0001, 1], default 0.25) + + :type: float + + .. attribute:: automasking_view_normal_limit + + The range of angles that will be affected (in [0.0001, 3.14159], default 1.5708) + + :type: float + + .. attribute:: constant_detail_resolution + + Maximum edge length for dynamic topology sculpting (as divisor of Blender unit - higher value means smaller edge length) (in [0.0001, inf], default 3.0) + + :type: float + + .. attribute:: detail_percent + + Maximum edge length for dynamic topology sculpting (in brush percentage) (in [0.5, 100], default 25.0) + + :type: float + + .. attribute:: detail_refine_method + + In dynamic-topology mode, how to add or remove mesh detail (default ``'SUBDIVIDE_COLLAPSE'``) + + - ``SUBDIVIDE`` + Subdivide Edges -- Subdivide long edges to add mesh detail where needed. + - ``COLLAPSE`` + Collapse Edges -- Collapse short edges to remove mesh detail where possible. + - ``SUBDIVIDE_COLLAPSE`` + Subdivide Collapse -- Both subdivide long edges and collapse short edges to refine mesh detail. + + :type: Literal['SUBDIVIDE', 'COLLAPSE', 'SUBDIVIDE_COLLAPSE'] + + .. attribute:: detail_size + + Maximum edge length for dynamic topology sculpting (in pixels) (in [0.5, 40], default 12.0) + + :type: float + + .. attribute:: detail_type_method + + In dynamic-topology mode, how mesh detail size is calculated (default ``'RELATIVE'``) + + - ``RELATIVE`` + Relative Detail -- Mesh detail is relative to the brush size and detail size. + - ``CONSTANT`` + Constant Detail -- Mesh detail is constant in world space according to detail size. + - ``BRUSH`` + Brush Detail -- Mesh detail is relative to brush size. + - ``MANUAL`` + Manual Detail -- Mesh detail does not change on each stroke, only when using Flood Fill. + + :type: Literal['RELATIVE', 'CONSTANT', 'BRUSH', 'MANUAL'] + + .. attribute:: gravity + + Amount of gravity after each dab (in [0, 1], default 0.0) + + :type: float + + .. attribute:: gravity_object + + Object whose Z axis defines orientation of gravity + + :type: :class:`Object` | None + + .. attribute:: lock_x + + Disallow changes to the X axis of vertices (default False) + + :type: bool + + .. attribute:: lock_y + + Disallow changes to the Y axis of vertices (default False) + + :type: bool + + .. attribute:: lock_z + + Disallow changes to the Z axis of vertices (default False) + + :type: bool + + .. attribute:: symmetrize_direction + + Source and destination for symmetrize operator (default ``'NEGATIVE_X'``) + + :type: Literal[:ref:`rna_enum_symmetrize_direction_items`] + + .. attribute:: transform_mode + + How the transformation is going to be applied to the target (default ``'ALL_VERTICES'``) + + - ``ALL_VERTICES`` + All Vertices -- Applies the transformation to all vertices in the mesh. + - ``RADIUS_ELASTIC`` + Elastic -- Applies the transformation simulating elasticity using the radius of the cursor. + + :type: Literal['ALL_VERTICES', 'RADIUS_ELASTIC'] + + .. attribute:: use_automasking_boundary_edges + + Do not affect non manifold boundary edges (default False) + + :type: bool + + .. attribute:: use_automasking_boundary_face_sets + + Do not affect vertices that belong to a face set boundary (default False) + + :type: bool + + .. attribute:: use_automasking_cavity + + Do not affect vertices on peaks, based on the surface curvature (default False) + + :type: bool + + .. attribute:: use_automasking_cavity_inverted + + Do not affect vertices within crevices, based on the surface curvature (default False) + + :type: bool + + .. attribute:: use_automasking_custom_cavity_curve + + Use custom curve (default False) + + :type: bool + + .. attribute:: use_automasking_face_sets + + Affect only vertices that share face sets with the active vertex (default False) + + :type: bool + + .. attribute:: use_automasking_start_normal + + Affect only vertices with a similar normal to where the stroke starts (default False) + + :type: bool + + .. attribute:: use_automasking_topology + + Affect only vertices connected to the active vertex under the brush (default False) + + :type: bool + + .. attribute:: use_automasking_view_normal + + Affect only vertices with a normal that faces the viewer (default False) + + :type: bool + + .. attribute:: use_automasking_view_occlusion + + Only affect vertices that are not occluded by other faces (slower performance) (default False) + + :type: bool + + .. attribute:: use_deform_only + + Use only deformation modifiers (temporary disable all constructive modifiers except multi-resolution) (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Paint.brush` + - :class:`Paint.brush_asset_reference` + - :class:`Paint.eraser_brush` + - :class:`Paint.eraser_brush_asset_reference` + - :class:`Paint.palette` + - :class:`Paint.show_brush` + - :class:`Paint.show_brush_on_surface` + - :class:`Paint.show_low_resolution` + - :class:`Paint.use_sculpt_delay_updates` + - :class:`Paint.show_bvh_nodes` + - :class:`Paint.use_symmetry_x` + - :class:`Paint.use_symmetry_y` + - :class:`Paint.use_symmetry_z` + - :class:`Paint.use_symmetry_feather` + - :class:`Paint.cavity_curve` + - :class:`Paint.use_cavity` + - :class:`Paint.tile_offset` + - :class:`Paint.tile_x` + - :class:`Paint.tile_y` + - :class:`Paint.tile_z` + - :class:`Paint.show_strength_curve` + - :class:`Paint.show_size_curve` + - :class:`Paint.show_jitter_curve` + - :class:`Paint.unified_paint_settings` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Paint.bl_rna_get_subclass` + - :class:`Paint.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.sculpt` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SelectedUvElement.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SelectedUvElement.rst new file mode 100644 index 0000000..333b039 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SelectedUvElement.rst @@ -0,0 +1,85 @@ +SelectedUvElement(PropertyGroup) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`PropertyGroup` + +.. class:: SelectedUvElement(PropertyGroup) + + + .. attribute:: element_index + + (in [0, inf], default 0) + + :type: int + + .. attribute:: face_index + + (in [0, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`PropertyGroup.name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`PropertyGroup.bl_system_properties_get` + - :class:`PropertyGroup.bl_rna_get_subclass` + - :class:`PropertyGroup.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequenceEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequenceEditor.rst new file mode 100644 index 0000000..0cb289d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequenceEditor.rst @@ -0,0 +1,193 @@ +SequenceEditor(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SequenceEditor(bpy_struct) + + Sequence editing data for a Scene data-block + + .. attribute:: active_strip + + Sequencer's active strip + + :type: :class:`Strip` | None + + .. data:: cache_final_size + + Size of final rendered images cache in megabytes (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: cache_raw_size + + Size of raw source images cache in megabytes (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: channels + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`SequenceTimelineChannel`] + + .. data:: meta_stack + + Meta strip stack, last is currently edited meta strip (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Strip`] + + .. attribute:: overlay_frame + + Number of frames to offset (in [-inf, inf], default 0) + + :type: int + + .. attribute:: proxy_dir + + (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: proxy_storage + + How to store proxies for this project (default ``'PER_STRIP'``) + + - ``PER_STRIP`` + Per Strip -- Store proxies using per strip settings. + - ``PROJECT`` + Project -- Store proxies using project directory. + + :type: Literal['PER_STRIP', 'PROJECT'] + + .. data:: selected_retiming_keys + + (default False, readonly) + + :type: bool + + .. attribute:: show_missing_media + + Render missing images/movies with a solid magenta color (default False) + + :type: bool + + .. attribute:: show_overlay_frame + + Partial overlay on top of the sequencer with a frame offset (default False) + + :type: bool + + .. data:: strips + + Top-level strips only (default None, readonly) + + :type: :class:`StripsTopLevel`\ [:class:`Strip`] + + .. data:: strips_all + + All strips, recursively including those inside metastrips (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Strip`] + + .. attribute:: use_cache_final + + Cache final image for each frame (default False) + + :type: bool + + .. attribute:: use_cache_raw + + Cache raw images read from disk, for faster tweaking of strip parameters at the cost of memory usage (default False) + + :type: bool + + .. attribute:: use_overlay_frame_lock + + (default False) + + :type: bool + + .. attribute:: use_prefetch + + Render frames ahead of current frame in the background for faster playback (default False) + + :type: bool + + .. method:: display_stack(meta_sequence) + + Display strips stack + + :param meta_sequence: Meta Strip, Meta to display its stack + :type meta_sequence: :class:`Strip` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.sequence_editor` + - :class:`Scene.sequence_editor_create` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequenceTimelineChannel.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequenceTimelineChannel.rst new file mode 100644 index 0000000..1a5ff29 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequenceTimelineChannel.rst @@ -0,0 +1,102 @@ +SequenceTimelineChannel(bpy_struct) +=================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SequenceTimelineChannel(bpy_struct) + + + .. attribute:: lock + + (default False) + + :type: bool + + .. attribute:: mute + + (default False) + + :type: bool + + .. attribute:: name + + (default "", never None) + + :type: str + + .. data:: number + + Channel number (in [-inf, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MetaStrip.channels` + - :class:`SequenceEditor.channels` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerCacheOverlay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerCacheOverlay.rst new file mode 100644 index 0000000..405572d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerCacheOverlay.rst @@ -0,0 +1,95 @@ +SequencerCacheOverlay(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SequencerCacheOverlay(bpy_struct) + + + .. attribute:: show_cache + + Visualize cached images on the timeline (default False) + + :type: bool + + .. attribute:: show_cache_final_out + + Visualize cached complete frames (default False) + + :type: bool + + .. attribute:: show_cache_raw + + Visualize cached raw images (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceSequenceEditor.cache_overlay` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerCompositorModifierData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerCompositorModifierData.rst new file mode 100644 index 0000000..a854fee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerCompositorModifierData.rst @@ -0,0 +1,94 @@ +SequencerCompositorModifierData(StripModifier) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripModifier` + +.. class:: SequencerCompositorModifierData(StripModifier) + + Compositor Modifier + + .. attribute:: node_group + + Node group that controls what this modifier does + + :type: :class:`NodeTree` | None + + .. attribute:: open_mask_input_panel + + (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripModifier.name` + - :class:`StripModifier.type` + - :class:`StripModifier.mute` + - :class:`StripModifier.enable` + - :class:`StripModifier.show_expanded` + - :class:`StripModifier.input_mask_type` + - :class:`StripModifier.mask_time` + - :class:`StripModifier.input_mask_strip` + - :class:`StripModifier.input_mask_id` + - :class:`StripModifier.is_active` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripModifier.bl_rna_get_subclass` + - :class:`StripModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerPreviewOverlay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerPreviewOverlay.rst new file mode 100644 index 0000000..8ae682d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerPreviewOverlay.rst @@ -0,0 +1,113 @@ +SequencerPreviewOverlay(bpy_struct) +=================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SequencerPreviewOverlay(bpy_struct) + + + .. attribute:: show_annotation + + Show annotations for this view (default False) + + :type: bool + + .. attribute:: show_cursor + + (default False) + + :type: bool + + .. attribute:: show_image_outline + + (default False) + + :type: bool + + .. attribute:: show_metadata + + Show metadata of first visible strip (default False) + + :type: bool + + .. attribute:: show_safe_areas + + Show TV title safe and action safe areas in preview (default False) + + :type: bool + + .. attribute:: show_safe_center + + Show safe areas to fit content in a different aspect ratio (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceSequenceEditor.preview_overlay` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerTimelineOverlay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerTimelineOverlay.rst new file mode 100644 index 0000000..8b7cab9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerTimelineOverlay.rst @@ -0,0 +1,155 @@ +SequencerTimelineOverlay(bpy_struct) +==================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SequencerTimelineOverlay(bpy_struct) + + + .. attribute:: show_fcurves + + Display strip opacity/volume curve (default False) + + :type: bool + + .. attribute:: show_grid + + Show vertical grid lines (default False) + + :type: bool + + .. attribute:: show_strip_duration + + (default False) + + :type: bool + + .. attribute:: show_strip_name + + (default False) + + :type: bool + + .. attribute:: show_strip_offset + + Display strip in/out offsets (default False) + + :type: bool + + .. attribute:: show_strip_retiming + + Display retiming keys on top of strips (default False) + + :type: bool + + .. attribute:: show_strip_source + + Display path to source file, or name of source data-block (default False) + + :type: bool + + .. attribute:: show_strip_tag_color + + Display the strip color tags in the sequencer (default False) + + :type: bool + + .. attribute:: show_thumbnails + + Show strip thumbnails (default False) + + :type: bool + + .. attribute:: waveform_display_style + + How Waveforms are displayed (default ``'FULL_WAVEFORMS'``) + + - ``FULL_WAVEFORMS`` + Full -- Display full waveform. + - ``HALF_WAVEFORMS`` + Half -- Display upper half of the absolute value waveform. + + :type: Literal['FULL_WAVEFORMS', 'HALF_WAVEFORMS'] + + .. attribute:: waveform_display_type + + How Waveforms are displayed (default ``'DEFAULT_WAVEFORMS'``) + + - ``ALL_WAVEFORMS`` + On -- Display waveforms for all sound strips. + - ``DEFAULT_WAVEFORMS`` + Strip -- Display waveforms depending on strip setting. + - ``NO_WAVEFORMS`` + Off -- Don't display waveforms for any sound strips. + + :type: Literal['ALL_WAVEFORMS', 'DEFAULT_WAVEFORMS', 'NO_WAVEFORMS'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceSequenceEditor.timeline_overlay` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerTonemapModifierData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerTonemapModifierData.rst new file mode 100644 index 0000000..4e40ac4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerTonemapModifierData.rst @@ -0,0 +1,136 @@ +SequencerTonemapModifierData(StripModifier) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripModifier` + +.. class:: SequencerTonemapModifierData(StripModifier) + + Tone mapping modifier + + .. attribute:: adaptation + + If 0, global; if 1, based on pixel intensity (in [0, 1], default 0.0) + + :type: float + + .. attribute:: contrast + + Set to 0 to use estimate from input image (in [0, 1], default 0.0) + + :type: float + + .. attribute:: correction + + If 0, same for all channels; if 1, each independent (in [0, 1], default 0.0) + + :type: float + + .. attribute:: gamma + + If not used, set to 1 (in [0.001, 3], default 0.0) + + :type: float + + .. attribute:: intensity + + If less than zero, darkens image; otherwise, makes it brighter (in [-8, 8], default 0.0) + + :type: float + + .. attribute:: key + + The value the average luminance is mapped to (in [0, 1], default 0.0) + + :type: float + + .. attribute:: offset + + Normally always 1, but can be used as an extra control to alter the brightness curve (in [0.001, 10], default 0.0) + + :type: float + + .. attribute:: open_mask_input_panel + + (default False) + + :type: bool + + .. attribute:: tonemap_type + + Tone mapping algorithm (default ``'RH_SIMPLE'``) + + :type: Literal['RD_PHOTORECEPTOR', 'RH_SIMPLE'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripModifier.name` + - :class:`StripModifier.type` + - :class:`StripModifier.mute` + - :class:`StripModifier.enable` + - :class:`StripModifier.show_expanded` + - :class:`StripModifier.input_mask_type` + - :class:`StripModifier.mask_time` + - :class:`StripModifier.input_mask_strip` + - :class:`StripModifier.input_mask_id` + - :class:`StripModifier.is_active` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripModifier.bl_rna_get_subclass` + - :class:`StripModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerToolSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerToolSettings.rst new file mode 100644 index 0000000..2872833 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SequencerToolSettings.rst @@ -0,0 +1,183 @@ +SequencerToolSettings(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SequencerToolSettings(bpy_struct) + + + .. attribute:: fit_method + + Scale fit method (default ``'FIT'``) + + :type: Literal[:ref:`rna_enum_strip_scale_method_items`] + + .. attribute:: overlap_mode + + How to resolve overlap after transformation (default ``'EXPAND'``) + + - ``EXPAND`` + Expand -- Move strips so transformed strips fit. + - ``OVERWRITE`` + Overwrite -- Trim or split strips to resolve overlap. + - ``SHUFFLE`` + Shuffle -- Move transformed strips to nearest free space to resolve overlap. + + :type: Literal['EXPAND', 'OVERWRITE', 'SHUFFLE'] + + .. attribute:: pivot_point + + Rotation or scaling pivot point (default ``'CENTER'``) + + - ``CENTER`` + Bounding Box Center. + - ``MEDIAN`` + Median Point. + - ``CURSOR`` + 2D Cursor -- Pivot around the 2D cursor. + - ``INDIVIDUAL_ORIGINS`` + Individual Origins -- Pivot around each selected island's own median point. + + :type: Literal['CENTER', 'MEDIAN', 'CURSOR', 'INDIVIDUAL_ORIGINS'] + + .. attribute:: snap_distance + + Maximum distance for snapping in pixels (in [-inf, inf], default 15) + + :type: int + + .. attribute:: snap_ignore_muted + + Don't snap to hidden strips (default False) + + :type: bool + + .. attribute:: snap_ignore_sound + + Don't snap to sound strips (default False) + + :type: bool + + .. attribute:: snap_to_borders + + Snap to preview borders (default False) + + :type: bool + + .. attribute:: snap_to_center + + Snap to preview center (default False) + + :type: bool + + .. attribute:: snap_to_current_frame + + Snap to current frame (default False) + + :type: bool + + .. attribute:: snap_to_frame_range + + Snap to preview or scene start and end frame (default False) + + :type: bool + + .. attribute:: snap_to_hold_offset + + Snap to underlying strip content start and end in cases where the strip length extends beyond this range, producing holds (default False) + + :type: bool + + .. attribute:: snap_to_markers + + Snap to markers (default False) + + :type: bool + + .. attribute:: snap_to_retiming_keys + + Snap to retiming keys (default False) + + :type: bool + + .. attribute:: snap_to_strips_preview + + Snap to borders and origins of deselected, visible strips (default False) + + :type: bool + + .. attribute:: use_snap_current_frame_to_strips + + Snap current frame to strip start or end (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.sequencer_tool_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFx.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFx.rst new file mode 100644 index 0000000..b6aac0e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFx.rst @@ -0,0 +1,119 @@ +ShaderFx(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`ShaderFxBlur`, :class:`ShaderFxColorize`, :class:`ShaderFxFlip`, :class:`ShaderFxGlow`, :class:`ShaderFxPixel`, :class:`ShaderFxRim`, :class:`ShaderFxShadow`, :class:`ShaderFxSwirl`, :class:`ShaderFxWave` + +.. class:: ShaderFx(bpy_struct) + + Effect affecting the Grease Pencil object + + .. attribute:: name + + Effect name (default "", never None) + + :type: str + + .. attribute:: show_expanded + + Set effect expansion in the user interface (default False) + + :type: bool + + .. attribute:: show_in_editmode + + Display effect in Edit mode (default False) + + :type: bool + + .. attribute:: show_render + + Use effect during render (default False) + + :type: bool + + .. attribute:: show_viewport + + Display effect in viewport (default False) + + :type: bool + + .. data:: type + + (default ``'FX_BLUR'``, readonly) + + :type: Literal[:ref:`rna_enum_object_shaderfx_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.shader_effects` + - :class:`ObjectShaderFx.new` + - :class:`ObjectShaderFx.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxBlur.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxBlur.rst new file mode 100644 index 0000000..9780c83 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxBlur.rst @@ -0,0 +1,102 @@ +ShaderFxBlur(ShaderFx) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ShaderFx` + +.. class:: ShaderFxBlur(ShaderFx) + + Gaussian Blur effect + + .. attribute:: rotation + + Rotation of the effect (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: samples + + Number of Blur Samples (zero, disable blur) (in [0, 32], default 4) + + :type: int + + .. attribute:: size + + Factor of Blur (array of 2 items, in [0, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: use_dof_mode + + Blur using camera depth of field (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ShaderFx.name` + - :class:`ShaderFx.type` + - :class:`ShaderFx.show_viewport` + - :class:`ShaderFx.show_render` + - :class:`ShaderFx.show_in_editmode` + - :class:`ShaderFx.show_expanded` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ShaderFx.bl_rna_get_subclass` + - :class:`ShaderFx.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxColorize.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxColorize.rst new file mode 100644 index 0000000..089d817 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxColorize.rst @@ -0,0 +1,102 @@ +ShaderFxColorize(ShaderFx) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ShaderFx` + +.. class:: ShaderFxColorize(ShaderFx) + + Colorize effect + + .. attribute:: factor + + Mix factor (in [0, 1], default 0.0) + + :type: float + + .. attribute:: high_color + + Second color used for effect (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: low_color + + First color used for effect (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: mode + + Effect mode (default ``'GRAYSCALE'``) + + :type: Literal['GRAYSCALE', 'SEPIA', 'DUOTONE', 'TRANSPARENT', 'CUSTOM'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ShaderFx.name` + - :class:`ShaderFx.type` + - :class:`ShaderFx.show_viewport` + - :class:`ShaderFx.show_render` + - :class:`ShaderFx.show_in_editmode` + - :class:`ShaderFx.show_expanded` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ShaderFx.bl_rna_get_subclass` + - :class:`ShaderFx.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxFlip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxFlip.rst new file mode 100644 index 0000000..090b55d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxFlip.rst @@ -0,0 +1,90 @@ +ShaderFxFlip(ShaderFx) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ShaderFx` + +.. class:: ShaderFxFlip(ShaderFx) + + Flip effect + + .. attribute:: use_flip_x + + Flip image horizontally (default False) + + :type: bool + + .. attribute:: use_flip_y + + Flip image vertically (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ShaderFx.name` + - :class:`ShaderFx.type` + - :class:`ShaderFx.show_viewport` + - :class:`ShaderFx.show_render` + - :class:`ShaderFx.show_in_editmode` + - :class:`ShaderFx.show_expanded` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ShaderFx.bl_rna_get_subclass` + - :class:`ShaderFx.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxGlow.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxGlow.rst new file mode 100644 index 0000000..744aca7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxGlow.rst @@ -0,0 +1,138 @@ +ShaderFxGlow(ShaderFx) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ShaderFx` + +.. class:: ShaderFxGlow(ShaderFx) + + Glow effect + + .. attribute:: blend_mode + + Blend mode (default ``'REGULAR'``) + + :type: Literal['REGULAR', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE'] + + .. attribute:: glow_color + + Color used for generated glow (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: mode + + Glow mode (default ``'LUMINANCE'``) + + :type: Literal['LUMINANCE', 'COLOR'] + + .. attribute:: opacity + + Effect Opacity (in [0, 1], default 0.0) + + :type: float + + .. attribute:: rotation + + Rotation of the effect (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: samples + + Number of Blur Samples (in [1, 32], default 4) + + :type: int + + .. attribute:: select_color + + Color selected to apply glow (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: size + + Size of the effect (array of 2 items, in [0, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: threshold + + Limit to select color for glow effect (in [0, 1], default 0.0) + + :type: float + + .. attribute:: use_glow_under + + Glow only areas with alpha (not supported with Regular blend mode) (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ShaderFx.name` + - :class:`ShaderFx.type` + - :class:`ShaderFx.show_viewport` + - :class:`ShaderFx.show_render` + - :class:`ShaderFx.show_in_editmode` + - :class:`ShaderFx.show_expanded` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ShaderFx.bl_rna_get_subclass` + - :class:`ShaderFx.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxPixel.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxPixel.rst new file mode 100644 index 0000000..768b79f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxPixel.rst @@ -0,0 +1,90 @@ +ShaderFxPixel(ShaderFx) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ShaderFx` + +.. class:: ShaderFxPixel(ShaderFx) + + Pixelate effect + + .. attribute:: size + + Pixel size (array of 2 items, in [1, 32767], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: use_antialiasing + + Antialias pixels (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ShaderFx.name` + - :class:`ShaderFx.type` + - :class:`ShaderFx.show_viewport` + - :class:`ShaderFx.show_render` + - :class:`ShaderFx.show_in_editmode` + - :class:`ShaderFx.show_expanded` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ShaderFx.bl_rna_get_subclass` + - :class:`ShaderFx.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxRim.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxRim.rst new file mode 100644 index 0000000..b3ff7b2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxRim.rst @@ -0,0 +1,114 @@ +ShaderFxRim(ShaderFx) +===================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ShaderFx` + +.. class:: ShaderFxRim(ShaderFx) + + Rim effect + + .. attribute:: blur + + Number of pixels for blurring rim (set to 0 to disable) (array of 2 items, in [0, 32767], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: mask_color + + Color that must be kept (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: mode + + Blend mode (default ``'NORMAL'``) + + :type: Literal['NORMAL', 'OVERLAY', 'ADD', 'SUBTRACT', 'MULTIPLY', 'DIVIDE'] + + .. attribute:: offset + + Offset of the rim (array of 2 items, in [-32768, 32767], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: rim_color + + Color used for Rim (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: samples + + Number of Blur Samples (zero, disable blur) (in [0, 32], default 4) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ShaderFx.name` + - :class:`ShaderFx.type` + - :class:`ShaderFx.show_viewport` + - :class:`ShaderFx.show_render` + - :class:`ShaderFx.show_in_editmode` + - :class:`ShaderFx.show_expanded` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ShaderFx.bl_rna_get_subclass` + - :class:`ShaderFx.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxShadow.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxShadow.rst new file mode 100644 index 0000000..c8a822d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxShadow.rst @@ -0,0 +1,156 @@ +ShaderFxShadow(ShaderFx) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ShaderFx` + +.. class:: ShaderFxShadow(ShaderFx) + + Shadow effect + + .. attribute:: amplitude + + Amplitude of Wave (in [0, inf], default 0.0) + + :type: float + + .. attribute:: blur + + Number of pixels for blurring shadow (set to 0 to disable) (array of 2 items, in [0, 32767], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: object + + Object to determine center of rotation + + :type: :class:`Object` | None + + .. attribute:: offset + + Offset of the shadow (array of 2 items, in [-32768, 32767], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: orientation + + Direction of the wave (default ``'HORIZONTAL'``) + + :type: Literal['HORIZONTAL', 'VERTICAL'] + + .. attribute:: period + + Period of Wave (in [0, inf], default 0.0) + + :type: float + + .. attribute:: phase + + Phase Shift of Wave (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: rotation + + Rotation around center or object (in [-6.28319, 6.28319], default 0.0) + + :type: float + + .. attribute:: samples + + Number of Blur Samples (zero, disable blur) (in [0, 32], default 4) + + :type: int + + .. attribute:: scale + + Scale of the shadow (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: shadow_color + + Color used for Shadow (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: use_object + + Use object as center of rotation (default False) + + :type: bool + + .. attribute:: use_wave + + Use wave effect (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ShaderFx.name` + - :class:`ShaderFx.type` + - :class:`ShaderFx.show_viewport` + - :class:`ShaderFx.show_render` + - :class:`ShaderFx.show_in_editmode` + - :class:`ShaderFx.show_expanded` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ShaderFx.bl_rna_get_subclass` + - :class:`ShaderFx.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxSwirl.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxSwirl.rst new file mode 100644 index 0000000..df19e9c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxSwirl.rst @@ -0,0 +1,102 @@ +ShaderFxSwirl(ShaderFx) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ShaderFx` + +.. class:: ShaderFxSwirl(ShaderFx) + + Swirl effect + + .. attribute:: angle + + Angle of rotation (in [-31.4159, 31.4159], default 0.0) + + :type: float + + .. attribute:: object + + Object to determine center location + + :type: :class:`Object` | None + + .. attribute:: radius + + Radius to apply (in [0, 32767], default 0) + + :type: int + + .. attribute:: use_transparent + + Make image transparent outside of radius (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ShaderFx.name` + - :class:`ShaderFx.type` + - :class:`ShaderFx.show_viewport` + - :class:`ShaderFx.show_render` + - :class:`ShaderFx.show_in_editmode` + - :class:`ShaderFx.show_expanded` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ShaderFx.bl_rna_get_subclass` + - :class:`ShaderFx.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxWave.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxWave.rst new file mode 100644 index 0000000..ceec90f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderFxWave.rst @@ -0,0 +1,102 @@ +ShaderFxWave(ShaderFx) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ShaderFx` + +.. class:: ShaderFxWave(ShaderFx) + + Wave Deformation effect + + .. attribute:: amplitude + + Amplitude of Wave (in [0, inf], default 0.0) + + :type: float + + .. attribute:: orientation + + Direction of the wave (default ``'HORIZONTAL'``) + + :type: Literal['HORIZONTAL', 'VERTICAL'] + + .. attribute:: period + + Period of Wave (in [0, inf], default 0.0) + + :type: float + + .. attribute:: phase + + Phase Shift of Wave (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ShaderFx.name` + - :class:`ShaderFx.type` + - :class:`ShaderFx.show_viewport` + - :class:`ShaderFx.show_render` + - :class:`ShaderFx.show_in_editmode` + - :class:`ShaderFx.show_expanded` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ShaderFx.bl_rna_get_subclass` + - :class:`ShaderFx.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNode.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNode.rst new file mode 100644 index 0000000..1dbc871 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNode.rst @@ -0,0 +1,139 @@ +ShaderNode(NodeInternal) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +subclasses --- +:class:`ShaderNodeAddShader`, :class:`ShaderNodeAmbientOcclusion`, :class:`ShaderNodeAttribute`, :class:`ShaderNodeBackground`, :class:`ShaderNodeBevel`, :class:`ShaderNodeBlackbody`, :class:`ShaderNodeBrightContrast`, :class:`ShaderNodeBsdfAnisotropic`, :class:`ShaderNodeBsdfDiffuse`, :class:`ShaderNodeBsdfGlass`, :class:`ShaderNodeBsdfHair`, :class:`ShaderNodeBsdfHairPrincipled`, :class:`ShaderNodeBsdfMetallic`, :class:`ShaderNodeBsdfPrincipled`, :class:`ShaderNodeBsdfRayPortal`, :class:`ShaderNodeBsdfRefraction`, :class:`ShaderNodeBsdfSheen`, :class:`ShaderNodeBsdfToon`, :class:`ShaderNodeBsdfTranslucent`, :class:`ShaderNodeBsdfTransparent`, :class:`ShaderNodeBump`, :class:`ShaderNodeCameraData`, :class:`ShaderNodeClamp`, :class:`ShaderNodeCombineColor`, :class:`ShaderNodeCombineXYZ`, :class:`ShaderNodeCustomGroup`, :class:`ShaderNodeDisplacement`, :class:`ShaderNodeEeveeSpecular`, :class:`ShaderNodeEmission`, :class:`ShaderNodeFloatCurve`, :class:`ShaderNodeFresnel`, :class:`ShaderNodeGamma`, :class:`ShaderNodeGroup`, :class:`ShaderNodeHairInfo`, :class:`ShaderNodeHoldout`, :class:`ShaderNodeHueSaturation`, :class:`ShaderNodeInvert`, :class:`ShaderNodeLayerWeight`, :class:`ShaderNodeLightFalloff`, :class:`ShaderNodeLightPath`, :class:`ShaderNodeMapRange`, :class:`ShaderNodeMapping`, :class:`ShaderNodeMath`, :class:`ShaderNodeMix`, :class:`ShaderNodeMixRGB`, :class:`ShaderNodeMixShader`, :class:`ShaderNodeNewGeometry`, :class:`ShaderNodeNormal`, :class:`ShaderNodeNormalMap`, :class:`ShaderNodeObjectInfo`, :class:`ShaderNodeOutputAOV`, :class:`ShaderNodeOutputLight`, :class:`ShaderNodeOutputLineStyle`, :class:`ShaderNodeOutputMaterial`, :class:`ShaderNodeOutputWorld`, :class:`ShaderNodeParticleInfo`, :class:`ShaderNodePointInfo`, :class:`ShaderNodeRGB`, :class:`ShaderNodeRGBCurve`, :class:`ShaderNodeRGBToBW`, :class:`ShaderNodeRadialTiling`, :class:`ShaderNodeRaycast`, :class:`ShaderNodeScript`, :class:`ShaderNodeSeparateColor`, :class:`ShaderNodeSeparateXYZ`, :class:`ShaderNodeShaderToRGB`, :class:`ShaderNodeSqueeze`, :class:`ShaderNodeSubsurfaceScattering`, :class:`ShaderNodeTangent`, :class:`ShaderNodeTexBrick`, :class:`ShaderNodeTexChecker`, :class:`ShaderNodeTexCoord`, :class:`ShaderNodeTexEnvironment`, :class:`ShaderNodeTexGabor`, :class:`ShaderNodeTexGradient`, :class:`ShaderNodeTexIES`, :class:`ShaderNodeTexImage`, :class:`ShaderNodeTexMagic`, :class:`ShaderNodeTexNoise`, :class:`ShaderNodeTexSky`, :class:`ShaderNodeTexVoronoi`, :class:`ShaderNodeTexWave`, :class:`ShaderNodeTexWhiteNoise`, :class:`ShaderNodeUVAlongStroke`, :class:`ShaderNodeUVMap`, :class:`ShaderNodeValToRGB`, :class:`ShaderNodeValue`, :class:`ShaderNodeVectorCurve`, :class:`ShaderNodeVectorDisplacement`, :class:`ShaderNodeVectorMath`, :class:`ShaderNodeVectorRotate`, :class:`ShaderNodeVectorTransform`, :class:`ShaderNodeVertexColor`, :class:`ShaderNodeVolumeAbsorption`, :class:`ShaderNodeVolumeCoefficients`, :class:`ShaderNodeVolumeInfo`, :class:`ShaderNodeVolumePrincipled`, :class:`ShaderNodeVolumeScatter`, :class:`ShaderNodeWavelength`, :class:`ShaderNodeWireframe` + +.. class:: ShaderNode(NodeInternal) + + Material shader node + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ShaderNodeTree.get_output_node` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeAddShader.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeAddShader.rst new file mode 100644 index 0000000..c0674cd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeAddShader.rst @@ -0,0 +1,156 @@ +ShaderNodeAddShader(ShaderNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeAddShader(ShaderNode) + + Add two Shaders together + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeAmbientOcclusion.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeAmbientOcclusion.rst new file mode 100644 index 0000000..7511d54 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeAmbientOcclusion.rst @@ -0,0 +1,175 @@ +ShaderNodeAmbientOcclusion(ShaderNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeAmbientOcclusion(ShaderNode) + + Compute how much the hemisphere above the shading point is occluded, for example to add weathering effects to corners. + Note: For Cycles, this may slow down renders significantly + + .. attribute:: inside + + Trace rays towards the inside of the object (default False) + + :type: bool + + .. attribute:: only_local + + Only consider the object itself when computing AO (default False) + + :type: bool + + .. attribute:: samples + + Number of rays to trace per shader evaluation (in [1, 128], default 0) + + :type: int + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeAttribute.rst new file mode 100644 index 0000000..3a0aa8c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeAttribute.rst @@ -0,0 +1,177 @@ +ShaderNodeAttribute(ShaderNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeAttribute(ShaderNode) + + Retrieve attributes attached to objects or geometry + + .. attribute:: attribute_name + + (default "", never None) + + :type: str + + .. attribute:: attribute_type + + General type of the attribute (default ``'GEOMETRY'``) + + - ``GEOMETRY`` + Geometry -- The attribute is associated with the object geometry, and its value varies from vertex to vertex, or within the object volume. + - ``OBJECT`` + Object -- The attribute is associated with the object or mesh data-block itself, and its value is uniform. + - ``INSTANCER`` + Instancer -- The attribute is associated with the instancer particle system or object, falling back to the Object mode if the attribute isn't found, or the object is not instanced. + - ``VIEW_LAYER`` + View Layer -- The attribute is associated with the View Layer, Scene or World that is being rendered. + + :type: Literal['GEOMETRY', 'OBJECT', 'INSTANCER', 'VIEW_LAYER'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBackground.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBackground.rst new file mode 100644 index 0000000..b109523 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBackground.rst @@ -0,0 +1,157 @@ +ShaderNodeBackground(ShaderNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBackground(ShaderNode) + + Add background light emission. + Note: This node should only be used for the world surface output + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBevel.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBevel.rst new file mode 100644 index 0000000..6ba94bb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBevel.rst @@ -0,0 +1,163 @@ +ShaderNodeBevel(ShaderNode) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBevel(ShaderNode) + + Generates normals with round corners. + Note: only supported in Cycles, and may slow down renders + + .. attribute:: samples + + Number of rays to trace per shader evaluation (in [2, 128], default 0) + + :type: int + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBlackbody.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBlackbody.rst new file mode 100644 index 0000000..797a5b7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBlackbody.rst @@ -0,0 +1,156 @@ +ShaderNodeBlackbody(ShaderNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBlackbody(ShaderNode) + + Convert a blackbody temperature to an RGB value + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBrightContrast.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBrightContrast.rst new file mode 100644 index 0000000..6b36303 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBrightContrast.rst @@ -0,0 +1,156 @@ +ShaderNodeBrightContrast(ShaderNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBrightContrast(ShaderNode) + + Control the brightness and contrast of the input color + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfAnisotropic.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfAnisotropic.rst new file mode 100644 index 0000000..3720e12 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfAnisotropic.rst @@ -0,0 +1,171 @@ +ShaderNodeBsdfAnisotropic(ShaderNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfAnisotropic(ShaderNode) + + Reflection with microfacet distribution, used for materials such as metal or mirrors + + .. attribute:: distribution + + Light scattering distribution on rough surface (default ``'BECKMANN'``) + + - ``BECKMANN`` + Beckmann. + - ``GGX`` + GGX. + - ``ASHIKHMIN_SHIRLEY`` + Ashikhmin-Shirley. + - ``MULTI_GGX`` + Multiscatter GGX -- GGX with additional correction to account for multiple scattering, preserve energy and prevent unexpected darkening at high roughness. + + :type: Literal['BECKMANN', 'GGX', 'ASHIKHMIN_SHIRLEY', 'MULTI_GGX'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfDiffuse.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfDiffuse.rst new file mode 100644 index 0000000..3ffbbda --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfDiffuse.rst @@ -0,0 +1,156 @@ +ShaderNodeBsdfDiffuse(ShaderNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfDiffuse(ShaderNode) + + Lambertian and Oren-Nayar diffuse reflection + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfGlass.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfGlass.rst new file mode 100644 index 0000000..95009c5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfGlass.rst @@ -0,0 +1,169 @@ +ShaderNodeBsdfGlass(ShaderNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfGlass(ShaderNode) + + Glass-like shader mixing refraction and reflection at grazing angles + + .. attribute:: distribution + + Light scattering distribution on rough surface (default ``'BECKMANN'``) + + - ``BECKMANN`` + Beckmann. + - ``GGX`` + GGX. + - ``MULTI_GGX`` + Multiscatter GGX -- GGX with additional correction to account for multiple scattering, preserve energy and prevent unexpected darkening at high roughness. + + :type: Literal['BECKMANN', 'GGX', 'MULTI_GGX'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfHair.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfHair.rst new file mode 100644 index 0000000..a31d276 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfHair.rst @@ -0,0 +1,167 @@ +ShaderNodeBsdfHair(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfHair(ShaderNode) + + Reflection and transmission shaders optimized for hair rendering + + .. attribute:: component + + Hair BSDF component to use (default ``'Reflection'``) + + - ``Reflection`` + Reflection -- The light that bounces off the surface of the hair. + - ``Transmission`` + Transmission -- The light that passes through the hair and exits on the other side. + + :type: Literal['Reflection', 'Transmission'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfHairPrincipled.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfHairPrincipled.rst new file mode 100644 index 0000000..df462d7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfHairPrincipled.rst @@ -0,0 +1,180 @@ +ShaderNodeBsdfHairPrincipled(ShaderNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfHairPrincipled(ShaderNode) + + Physically-based, easy-to-use shader for rendering hair and fur + + .. attribute:: model + + Select from Chiang or Huang model (default ``'HUANG'``) + + - ``CHIANG`` + Chiang -- Near-field hair scattering model by Chiang et al. 2016, suitable for close-up looks, but is more noisy when viewing from a distance.. + - ``HUANG`` + Huang -- Multi-scale hair scattering model by Huang et al. 2022, suitable for viewing both up close and from a distance, supports elliptical cross-sections and has more precise highlight in forward scattering directions.. + + :type: Literal['CHIANG', 'HUANG'] + + .. attribute:: parametrization + + Select the shader's color parametrization (default ``'COLOR'``) + + - ``ABSORPTION`` + Absorption Coefficient -- Directly set the absorption coefficient "sigma_a" (this is not the most intuitive way to color hair). + - ``MELANIN`` + Melanin Concentration -- Define the melanin concentrations below to get the most realistic-looking hair (you can get the concentrations for different types of hair online). + - ``COLOR`` + Direct Coloring -- Choose the color of your preference, and the shader will approximate the absorption coefficient to render lookalike hair. + + :type: Literal['ABSORPTION', 'MELANIN', 'COLOR'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfMetallic.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfMetallic.rst new file mode 100644 index 0000000..3830cd5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfMetallic.rst @@ -0,0 +1,180 @@ +ShaderNodeBsdfMetallic(ShaderNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfMetallic(ShaderNode) + + Metallic reflection with microfacet distribution, and metallic fresnel + + .. attribute:: distribution + + Light scattering distribution on rough surface (default ``'BECKMANN'``) + + - ``BECKMANN`` + Beckmann. + - ``GGX`` + GGX. + - ``MULTI_GGX`` + Multiscatter GGX -- GGX with additional correction to account for multiple scattering, preserve energy and prevent unexpected darkening at high roughness. + + :type: Literal['BECKMANN', 'GGX', 'MULTI_GGX'] + + .. attribute:: fresnel_type + + Fresnel method used to tint the metal (default ``'PHYSICAL_CONDUCTOR'``) + + - ``PHYSICAL_CONDUCTOR`` + Physical Conductor -- Fresnel conductor based on the complex refractive index per color channel. + - ``F82`` + F82 Tint -- An approximation of the Fresnel conductor curve based on the colors at perpendicular and near-grazing (roughly 82°) angles. + + :type: Literal['PHYSICAL_CONDUCTOR', 'F82'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfPrincipled.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfPrincipled.rst new file mode 100644 index 0000000..ccc2d6b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfPrincipled.rst @@ -0,0 +1,180 @@ +ShaderNodeBsdfPrincipled(ShaderNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfPrincipled(ShaderNode) + + Physically-based, easy-to-use shader for rendering surface materials, based on the OpenPBR model + + .. attribute:: distribution + + Light scattering distribution on rough surface (default ``'GGX'``) + + - ``GGX`` + GGX. + - ``MULTI_GGX`` + Multiscatter GGX -- GGX with additional correction to account for multiple scattering, preserve energy and prevent unexpected darkening at high roughness. + + :type: Literal['GGX', 'MULTI_GGX'] + + .. attribute:: subsurface_method + + Method for rendering subsurface scattering (default ``'BURLEY'``) + + - ``BURLEY`` + Christensen-Burley -- Approximation to physically based volume scattering. + - ``RANDOM_WALK`` + Random Walk -- Volumetric approximation to physically based volume scattering, using the scattering radius as specified. + - ``RANDOM_WALK_SKIN`` + Random Walk (Skin) -- Volumetric approximation to physically based volume scattering, with scattering radius automatically adjusted to match color textures. Designed for skin shading.. + + :type: Literal['BURLEY', 'RANDOM_WALK', 'RANDOM_WALK_SKIN'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfRayPortal.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfRayPortal.rst new file mode 100644 index 0000000..7ea8fc5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfRayPortal.rst @@ -0,0 +1,156 @@ +ShaderNodeBsdfRayPortal(ShaderNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfRayPortal(ShaderNode) + + Continue tracing from an arbitrary new position and in a new direction + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfRefraction.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfRefraction.rst new file mode 100644 index 0000000..131ed0e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfRefraction.rst @@ -0,0 +1,162 @@ +ShaderNodeBsdfRefraction(ShaderNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfRefraction(ShaderNode) + + Glossy refraction with sharp or microfacet distribution, typically used for materials that transmit light + + .. attribute:: distribution + + Light scattering distribution on rough surface (default ``'BECKMANN'``) + + :type: Literal['BECKMANN', 'GGX'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfSheen.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfSheen.rst new file mode 100644 index 0000000..811fbb1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfSheen.rst @@ -0,0 +1,168 @@ +ShaderNodeBsdfSheen(ShaderNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfSheen(ShaderNode) + + Reflection for materials such as cloth. + Typically mixed with other shaders (such as a Diffuse Shader) and is not particularly useful on its own + + .. attribute:: distribution + + Sheen shading model (default ``'ASHIKHMIN'``) + + - ``ASHIKHMIN`` + Ashikhmin -- Classic Ashikhmin velvet (legacy model). + - ``MICROFIBER`` + Microfiber -- Microflake-based model of multiple scattering between normal-oriented fibers. + + :type: Literal['ASHIKHMIN', 'MICROFIBER'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfToon.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfToon.rst new file mode 100644 index 0000000..ba96f63 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfToon.rst @@ -0,0 +1,167 @@ +ShaderNodeBsdfToon(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfToon(ShaderNode) + + Diffuse and Glossy shaders with cartoon light effects + + .. attribute:: component + + Toon BSDF component to use (default ``'DIFFUSE'``) + + - ``DIFFUSE`` + Diffuse -- Use diffuse BSDF. + - ``GLOSSY`` + Glossy -- Use glossy BSDF. + + :type: Literal['DIFFUSE', 'GLOSSY'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfTranslucent.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfTranslucent.rst new file mode 100644 index 0000000..c8d6028 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfTranslucent.rst @@ -0,0 +1,156 @@ +ShaderNodeBsdfTranslucent(ShaderNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfTranslucent(ShaderNode) + + Lambertian diffuse transmission + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfTransparent.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfTransparent.rst new file mode 100644 index 0000000..8cb6913 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBsdfTransparent.rst @@ -0,0 +1,156 @@ +ShaderNodeBsdfTransparent(ShaderNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBsdfTransparent(ShaderNode) + + Transparency without refraction, passing straight through the surface as if there were no geometry + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBump.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBump.rst new file mode 100644 index 0000000..ed9a93d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeBump.rst @@ -0,0 +1,162 @@ +ShaderNodeBump(ShaderNode) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeBump(ShaderNode) + + Generate a perturbed normal from a height texture for bump mapping. Typically used for faking highly detailed surfaces + + .. attribute:: invert + + Invert the bump mapping direction to push into the surface instead of out (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCameraData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCameraData.rst new file mode 100644 index 0000000..c7d6b5e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCameraData.rst @@ -0,0 +1,156 @@ +ShaderNodeCameraData(ShaderNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeCameraData(ShaderNode) + + Retrieve information about the camera and how it relates to the current shading point's position + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeClamp.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeClamp.rst new file mode 100644 index 0000000..faa34bd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeClamp.rst @@ -0,0 +1,162 @@ +ShaderNodeClamp(ShaderNode) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeClamp(ShaderNode) + + Clamp a value between a minimum and a maximum + + .. attribute:: clamp_type + + (default ``'MINMAX'``) + + :type: Literal[:ref:`rna_enum_node_clamp_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCombineColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCombineColor.rst new file mode 100644 index 0000000..d380f41 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCombineColor.rst @@ -0,0 +1,162 @@ +ShaderNodeCombineColor(ShaderNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeCombineColor(ShaderNode) + + Create a color from individual components using multiple models + + .. attribute:: mode + + Mode of color processing (default ``'RGB'``) + + :type: Literal[:ref:`rna_enum_node_combsep_color_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCombineXYZ.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCombineXYZ.rst new file mode 100644 index 0000000..c2377dd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCombineXYZ.rst @@ -0,0 +1,156 @@ +ShaderNodeCombineXYZ(ShaderNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeCombineXYZ(ShaderNode) + + Create a vector from X, Y, and Z components + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCustomGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCustomGroup.rst new file mode 100644 index 0000000..a859b3e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeCustomGroup.rst @@ -0,0 +1,135 @@ +ShaderNodeCustomGroup(ShaderNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeCustomGroup(ShaderNode) + + Custom Shader Group Node for Python nodes + + .. attribute:: node_tree + + :type: :class:`NodeTree` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeDisplacement.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeDisplacement.rst new file mode 100644 index 0000000..4246be0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeDisplacement.rst @@ -0,0 +1,167 @@ +ShaderNodeDisplacement(ShaderNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeDisplacement(ShaderNode) + + Displace the surface along the surface normal + + .. attribute:: space + + Space of the input height (default ``'OBJECT'``) + + - ``OBJECT`` + Object Space -- Displacement is in object space, affected by object scale. + - ``WORLD`` + World Space -- Displacement is in world space, not affected by object scale. + + :type: Literal['OBJECT', 'WORLD'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeEeveeSpecular.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeEeveeSpecular.rst new file mode 100644 index 0000000..2a584ea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeEeveeSpecular.rst @@ -0,0 +1,156 @@ +ShaderNodeEeveeSpecular(ShaderNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeEeveeSpecular(ShaderNode) + + Similar to the Principled BSDF node but uses the specular workflow instead of metallic, which functions by specifying the facing (along normal) reflection color. Energy is not conserved, so the result may not be physically accurate + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeEmission.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeEmission.rst new file mode 100644 index 0000000..8e2c59c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeEmission.rst @@ -0,0 +1,156 @@ +ShaderNodeEmission(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeEmission(ShaderNode) + + Lambertian emission shader + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeFloatCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeFloatCurve.rst new file mode 100644 index 0000000..a3e001d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeFloatCurve.rst @@ -0,0 +1,162 @@ +ShaderNodeFloatCurve(ShaderNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeFloatCurve(ShaderNode) + + Map an input float to a curve and outputs a float value + + .. data:: mapping + + (readonly) + + :type: :class:`CurveMapping` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeFresnel.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeFresnel.rst new file mode 100644 index 0000000..b633e99 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeFresnel.rst @@ -0,0 +1,157 @@ +ShaderNodeFresnel(ShaderNode) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeFresnel(ShaderNode) + + Produce a blending factor depending on the angle between the surface normal and the view direction using Fresnel equations. + Typically used for mixing reflections at grazing angles + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeGamma.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeGamma.rst new file mode 100644 index 0000000..4f68de5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeGamma.rst @@ -0,0 +1,156 @@ +ShaderNodeGamma(ShaderNode) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeGamma(ShaderNode) + + Apply a gamma correction + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeGroup.rst new file mode 100644 index 0000000..a995ee5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeGroup.rst @@ -0,0 +1,159 @@ +ShaderNodeGroup(ShaderNode) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeGroup(ShaderNode) + + + .. attribute:: node_tree + + :type: :class:`NodeTree` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeHairInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeHairInfo.rst new file mode 100644 index 0000000..d1ebc0b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeHairInfo.rst @@ -0,0 +1,156 @@ +ShaderNodeHairInfo(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeHairInfo(ShaderNode) + + Retrieve hair curve information + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeHoldout.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeHoldout.rst new file mode 100644 index 0000000..9dbd7b9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeHoldout.rst @@ -0,0 +1,157 @@ +ShaderNodeHoldout(ShaderNode) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeHoldout(ShaderNode) + + Create a "hole" in the image with zero alpha transparency, which is useful for compositing. + Note: the holdout shader can only create alpha when transparency is enabled in the film settings + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeHueSaturation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeHueSaturation.rst new file mode 100644 index 0000000..61a602e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeHueSaturation.rst @@ -0,0 +1,156 @@ +ShaderNodeHueSaturation(ShaderNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeHueSaturation(ShaderNode) + + Apply a color transformation in the HSV color model + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeInvert.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeInvert.rst new file mode 100644 index 0000000..473515e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeInvert.rst @@ -0,0 +1,156 @@ +ShaderNodeInvert(ShaderNode) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeInvert(ShaderNode) + + Invert a color, producing a negative + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeLayerWeight.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeLayerWeight.rst new file mode 100644 index 0000000..f64c27b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeLayerWeight.rst @@ -0,0 +1,157 @@ +ShaderNodeLayerWeight(ShaderNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeLayerWeight(ShaderNode) + + Produce a blending factor depending on the angle between the surface normal and the view direction. + Typically used for layering shaders with the Mix Shader node + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeLightFalloff.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeLightFalloff.rst new file mode 100644 index 0000000..91ed47d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeLightFalloff.rst @@ -0,0 +1,156 @@ +ShaderNodeLightFalloff(ShaderNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeLightFalloff(ShaderNode) + + Manipulate how light intensity decreases over distance. Typically used for non-physically-based effects; in reality light always falls off quadratically + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeLightPath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeLightPath.rst new file mode 100644 index 0000000..2328d50 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeLightPath.rst @@ -0,0 +1,157 @@ +ShaderNodeLightPath(ShaderNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeLightPath(ShaderNode) + + Retrieve the type of incoming ray for which the shader is being executed. + Typically used for non-physically-based tricks + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMapRange.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMapRange.rst new file mode 100644 index 0000000..5ff400c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMapRange.rst @@ -0,0 +1,179 @@ +ShaderNodeMapRange(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeMapRange(ShaderNode) + + Remap a value from a range to a target range + + .. attribute:: clamp + + Clamp the result to the target range [To Min, To Max] (default False) + + :type: bool + + .. attribute:: data_type + + (default ``'FLOAT'``) + + - ``FLOAT`` + Float -- Floating-point value. + - ``FLOAT_VECTOR`` + Vector -- 3D vector with floating-point values. + + :type: Literal['FLOAT', 'FLOAT_VECTOR'] + + .. attribute:: interpolation_type + + (default ``'LINEAR'``) + + :type: Literal[:ref:`rna_enum_node_map_range_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMapping.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMapping.rst new file mode 100644 index 0000000..7a784d6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMapping.rst @@ -0,0 +1,162 @@ +ShaderNodeMapping(ShaderNode) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeMapping(ShaderNode) + + Transform the input vector by applying translation, rotation, and scale + + .. attribute:: vector_type + + Type of vector that the mapping transforms (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_mapping_type_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMath.rst new file mode 100644 index 0000000..8417711 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMath.rst @@ -0,0 +1,168 @@ +ShaderNodeMath(ShaderNode) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeMath(ShaderNode) + + Perform math operations + + .. attribute:: operation + + (default ``'ADD'``) + + :type: Literal[:ref:`rna_enum_node_math_items`] + + .. attribute:: use_clamp + + Clamp result of the node to 0.0 to 1.0 range (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMix.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMix.rst new file mode 100644 index 0000000..9b9d66d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMix.rst @@ -0,0 +1,191 @@ +ShaderNodeMix(ShaderNode) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeMix(ShaderNode) + + Mix values by a factor + + .. attribute:: blend_type + + (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. attribute:: clamp_factor + + Clamp the factor to [0,1] range (default False) + + :type: bool + + .. attribute:: clamp_result + + Clamp the result to [0,1] range (default False) + + :type: bool + + .. attribute:: data_type + + (default ``'FLOAT'``) + + :type: Literal['FLOAT', 'VECTOR', 'RGBA', 'ROTATION'] + + .. attribute:: factor_mode + + (default ``'UNIFORM'``) + + - ``UNIFORM`` + Uniform -- Use a single factor for all components. + - ``NON_UNIFORM`` + Non-Uniform -- Per component factor. + + :type: Literal['UNIFORM', 'NON_UNIFORM'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMixRGB.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMixRGB.rst new file mode 100644 index 0000000..4211f0f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMixRGB.rst @@ -0,0 +1,174 @@ +ShaderNodeMixRGB(ShaderNode) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeMixRGB(ShaderNode) + + Mix two input colors + + .. attribute:: blend_type + + (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. attribute:: use_alpha + + Include alpha of second input in this operation (default False) + + :type: bool + + .. attribute:: use_clamp + + Clamp result of the node to 0.0 to 1.0 range (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMixShader.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMixShader.rst new file mode 100644 index 0000000..74db5fe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeMixShader.rst @@ -0,0 +1,156 @@ +ShaderNodeMixShader(ShaderNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeMixShader(ShaderNode) + + Mix two shaders together. Typically used for material layering + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeNewGeometry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeNewGeometry.rst new file mode 100644 index 0000000..66c410e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeNewGeometry.rst @@ -0,0 +1,156 @@ +ShaderNodeNewGeometry(ShaderNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeNewGeometry(ShaderNode) + + Retrieve geometric information about the current shading point + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeNormal.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeNormal.rst new file mode 100644 index 0000000..0c17c5d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeNormal.rst @@ -0,0 +1,156 @@ +ShaderNodeNormal(ShaderNode) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeNormal(ShaderNode) + + Generate a normal vector and a dot product + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeNormalMap.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeNormalMap.rst new file mode 100644 index 0000000..7cff4ed --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeNormalMap.rst @@ -0,0 +1,190 @@ +ShaderNodeNormalMap(ShaderNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeNormalMap(ShaderNode) + + Generate a perturbed normal from an RGB normal map image. Typically used for faking highly detailed surfaces + + .. attribute:: convention + + OpenGL or DirectX (default ``'OPENGL'``) + + - ``OPENGL`` + OpenGL -- Normal map uses OpenGL convention, with Y axis in the green channel pointing up. + - ``DIRECTX`` + DirectX -- Normal map uses DirectX convention, with Y axis in the green channel pointing down. + + :type: Literal['OPENGL', 'DIRECTX'] + + .. attribute:: space + + Space of the input normal (default ``'TANGENT'``) + + - ``TANGENT`` + Tangent Space -- Tangent space normal mapping. + - ``OBJECT`` + Object Space -- Object space normal mapping. + - ``WORLD`` + World Space -- World space normal mapping. + - ``BLENDER_OBJECT`` + Blender Object Space -- Object space normal mapping, compatible with Blender render baking. + - ``BLENDER_WORLD`` + Blender World Space -- World space normal mapping, compatible with Blender render baking. + + :type: Literal['TANGENT', 'OBJECT', 'WORLD', 'BLENDER_OBJECT', 'BLENDER_WORLD'] + + .. attribute:: uv_map + + UV Map for tangent space maps (default "", never None) + + :type: str + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeObjectInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeObjectInfo.rst new file mode 100644 index 0000000..6a9320e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeObjectInfo.rst @@ -0,0 +1,156 @@ +ShaderNodeObjectInfo(ShaderNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeObjectInfo(ShaderNode) + + Retrieve information about the object instance + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputAOV.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputAOV.rst new file mode 100644 index 0000000..7ac0df9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputAOV.rst @@ -0,0 +1,163 @@ +ShaderNodeOutputAOV(ShaderNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeOutputAOV(ShaderNode) + + Arbitrary Output Variables. + Provide custom render passes for arbitrary shader node outputs + + .. attribute:: aov_name + + Name of the AOV that this output writes to (default "", never None) + + :type: str + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputLight.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputLight.rst new file mode 100644 index 0000000..0f3ce7a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputLight.rst @@ -0,0 +1,175 @@ +ShaderNodeOutputLight(ShaderNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeOutputLight(ShaderNode) + + Output light information to a light object + + .. attribute:: is_active_output + + True if this node is used as the active output (default False) + + :type: bool + + .. attribute:: target + + Which renderer and viewport shading types to use the shaders for (default ``'ALL'``) + + - ``ALL`` + All -- Use shaders for all renderers and viewports, unless there exists a more specific output. + - ``EEVEE`` + EEVEE -- Use shaders for EEVEE renderer. + - ``CYCLES`` + Cycles -- Use shaders for Cycles renderer. + + :type: Literal['ALL', 'EEVEE', 'CYCLES'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputLineStyle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputLineStyle.rst new file mode 100644 index 0000000..4fc7bf2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputLineStyle.rst @@ -0,0 +1,193 @@ +ShaderNodeOutputLineStyle(ShaderNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeOutputLineStyle(ShaderNode) + + Control the mixing of texture information into the base color of line styles + + .. attribute:: blend_type + + (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. attribute:: is_active_output + + True if this node is used as the active output (default False) + + :type: bool + + .. attribute:: target + + Which renderer and viewport shading types to use the shaders for (default ``'ALL'``) + + - ``ALL`` + All -- Use shaders for all renderers and viewports, unless there exists a more specific output. + - ``EEVEE`` + EEVEE -- Use shaders for EEVEE renderer. + - ``CYCLES`` + Cycles -- Use shaders for Cycles renderer. + + :type: Literal['ALL', 'EEVEE', 'CYCLES'] + + .. attribute:: use_alpha + + Include alpha of second input in this operation (default False) + + :type: bool + + .. attribute:: use_clamp + + Clamp result of the node to 0.0 to 1.0 range (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputMaterial.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputMaterial.rst new file mode 100644 index 0000000..3e22e08 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputMaterial.rst @@ -0,0 +1,175 @@ +ShaderNodeOutputMaterial(ShaderNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeOutputMaterial(ShaderNode) + + Output surface material information for use in rendering + + .. attribute:: is_active_output + + True if this node is used as the active output (default False) + + :type: bool + + .. attribute:: target + + Which renderer and viewport shading types to use the shaders for (default ``'ALL'``) + + - ``ALL`` + All -- Use shaders for all renderers and viewports, unless there exists a more specific output. + - ``EEVEE`` + EEVEE -- Use shaders for EEVEE renderer. + - ``CYCLES`` + Cycles -- Use shaders for Cycles renderer. + + :type: Literal['ALL', 'EEVEE', 'CYCLES'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputWorld.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputWorld.rst new file mode 100644 index 0000000..a77ae21 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeOutputWorld.rst @@ -0,0 +1,175 @@ +ShaderNodeOutputWorld(ShaderNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeOutputWorld(ShaderNode) + + Output light color information to the scene's World + + .. attribute:: is_active_output + + True if this node is used as the active output (default False) + + :type: bool + + .. attribute:: target + + Which renderer and viewport shading types to use the shaders for (default ``'ALL'``) + + - ``ALL`` + All -- Use shaders for all renderers and viewports, unless there exists a more specific output. + - ``EEVEE`` + EEVEE -- Use shaders for EEVEE renderer. + - ``CYCLES`` + Cycles -- Use shaders for Cycles renderer. + + :type: Literal['ALL', 'EEVEE', 'CYCLES'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeParticleInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeParticleInfo.rst new file mode 100644 index 0000000..050a89f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeParticleInfo.rst @@ -0,0 +1,156 @@ +ShaderNodeParticleInfo(ShaderNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeParticleInfo(ShaderNode) + + Retrieve the data of the particle that spawned the object instance, for example to give variation to multiple instances of an object + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodePointInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodePointInfo.rst new file mode 100644 index 0000000..6791fd3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodePointInfo.rst @@ -0,0 +1,156 @@ +ShaderNodePointInfo(ShaderNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodePointInfo(ShaderNode) + + Retrieve information about points in a point cloud + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRGB.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRGB.rst new file mode 100644 index 0000000..0cdb86b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRGB.rst @@ -0,0 +1,156 @@ +ShaderNodeRGB(ShaderNode) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeRGB(ShaderNode) + + A color picker + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRGBCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRGBCurve.rst new file mode 100644 index 0000000..5d3a409 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRGBCurve.rst @@ -0,0 +1,162 @@ +ShaderNodeRGBCurve(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeRGBCurve(ShaderNode) + + Apply color corrections for each color channel + + .. data:: mapping + + (readonly) + + :type: :class:`CurveMapping` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRGBToBW.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRGBToBW.rst new file mode 100644 index 0000000..f7500fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRGBToBW.rst @@ -0,0 +1,156 @@ +ShaderNodeRGBToBW(ShaderNode) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeRGBToBW(ShaderNode) + + Convert a color's luminance to a grayscale value + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRadialTiling.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRadialTiling.rst new file mode 100644 index 0000000..1a66f36 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRadialTiling.rst @@ -0,0 +1,162 @@ +ShaderNodeRadialTiling(ShaderNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeRadialTiling(ShaderNode) + + Transform Coordinate System for Radial Tiling + + .. attribute:: normalize + + Normalize the X coordinate of the Segment Coordinates output to a [0, 1] interval and offset the Y coordinate into a [0, infinity) interval. When checked, the textures are stretched to fit into each angular segment. When not checked, the parts of the textures that don't fit into each angular segment are cropped (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRaycast.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRaycast.rst new file mode 100644 index 0000000..fff13be --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeRaycast.rst @@ -0,0 +1,162 @@ +ShaderNodeRaycast(ShaderNode) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeRaycast(ShaderNode) + + Cast rays and retrieve information from the hit point + + .. attribute:: only_local + + Only raycast against the object itself (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeScript.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeScript.rst new file mode 100644 index 0000000..9d646cc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeScript.rst @@ -0,0 +1,198 @@ +ShaderNodeScript(ShaderNode) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeScript(ShaderNode) + + Generate an OSL shader from a file or text data-block. + Note: OSL shaders are not supported on all GPU backends + + .. attribute:: bytecode + + Compile bytecode for shader script node (default "", never None) + + :type: str + + .. attribute:: bytecode_hash + + Hash of compile bytecode, for quick equality checking (default "", never None) + + :type: str + + .. attribute:: filepath + + Shader script path (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: mode + + (default ``'INTERNAL'``) + + - ``INTERNAL`` + Internal -- Use internal text data-block. + - ``EXTERNAL`` + External -- Use external .osl or .oso file. + + :type: Literal['INTERNAL', 'EXTERNAL'] + + .. attribute:: script + + Internal shader script to define the shader + + :type: :class:`Text` | None + + .. attribute:: use_auto_update + + Automatically update the shader when the .osl file changes (external scripts only) (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSeparateColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSeparateColor.rst new file mode 100644 index 0000000..765b084 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSeparateColor.rst @@ -0,0 +1,162 @@ +ShaderNodeSeparateColor(ShaderNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeSeparateColor(ShaderNode) + + Split a color into its individual components using multiple models + + .. attribute:: mode + + Mode of color processing (default ``'RGB'``) + + :type: Literal[:ref:`rna_enum_node_combsep_color_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSeparateXYZ.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSeparateXYZ.rst new file mode 100644 index 0000000..99b5a35 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSeparateXYZ.rst @@ -0,0 +1,156 @@ +ShaderNodeSeparateXYZ(ShaderNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeSeparateXYZ(ShaderNode) + + Split a vector into its X, Y, and Z components + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeShaderToRGB.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeShaderToRGB.rst new file mode 100644 index 0000000..957ed4d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeShaderToRGB.rst @@ -0,0 +1,157 @@ +ShaderNodeShaderToRGB(ShaderNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeShaderToRGB(ShaderNode) + + Convert rendering effect (such as light and shadow) to color. Typically used for non-photorealistic rendering, to apply additional effects on the output of BSDFs. + Note: only supported in EEVEE + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSqueeze.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSqueeze.rst new file mode 100644 index 0000000..2cbf5ce --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSqueeze.rst @@ -0,0 +1,156 @@ +ShaderNodeSqueeze(ShaderNode) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeSqueeze(ShaderNode) + + Deprecated + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSubsurfaceScattering.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSubsurfaceScattering.rst new file mode 100644 index 0000000..d5e28e3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeSubsurfaceScattering.rst @@ -0,0 +1,170 @@ +ShaderNodeSubsurfaceScattering(ShaderNode) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeSubsurfaceScattering(ShaderNode) + + Subsurface multiple scattering shader to simulate light entering the surface and bouncing internally. + Typically used for materials such as skin, wax, marble or milk + + .. attribute:: falloff + + Method for rendering subsurface scattering (default ``'BURLEY'``) + + - ``BURLEY`` + Christensen-Burley -- Approximation to physically based volume scattering. + - ``RANDOM_WALK`` + Random Walk -- Volumetric approximation to physically based volume scattering, using the scattering radius as specified. + - ``RANDOM_WALK_SKIN`` + Random Walk (Skin) -- Volumetric approximation to physically based volume scattering, with scattering radius automatically adjusted to match color textures. Designed for skin shading.. + + :type: Literal['BURLEY', 'RANDOM_WALK', 'RANDOM_WALK_SKIN'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTangent.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTangent.rst new file mode 100644 index 0000000..caca2f0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTangent.rst @@ -0,0 +1,186 @@ +ShaderNodeTangent(ShaderNode) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTangent(ShaderNode) + + Generate a tangent direction for the Anisotropic BSDF + + .. attribute:: axis + + Axis for radial tangents (default ``'X'``) + + - ``X`` + X -- X axis. + - ``Y`` + Y -- Y axis. + - ``Z`` + Z -- Z axis. + + :type: Literal['X', 'Y', 'Z'] + + .. attribute:: direction_type + + Method to use for the tangent (default ``'RADIAL'``) + + - ``RADIAL`` + Radial -- Radial tangent around the X, Y or Z axis. + - ``UV_MAP`` + UV Map -- Tangent from UV map. + + :type: Literal['RADIAL', 'UV_MAP'] + + .. attribute:: uv_map + + UV Map for tangent generated from UV (default "", never None) + + :type: str + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexBrick.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexBrick.rst new file mode 100644 index 0000000..38632c9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexBrick.rst @@ -0,0 +1,192 @@ +ShaderNodeTexBrick(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexBrick(ShaderNode) + + Generate a procedural texture producing bricks + + .. data:: color_mapping + + Color mapping settings (readonly, never None) + + :type: :class:`ColorMapping` + + .. attribute:: offset + + Determines the brick offset of the various rows (in [0, 1], default 0.5) + + :type: float + + .. attribute:: offset_frequency + + How often rows are offset. A value of 2 gives an even/uneven pattern of rows. (in [1, 99], default 2) + + :type: int + + .. attribute:: squash + + Factor to adjust the brick's width for particular rows determined by the Offset Frequency (in [0, 99], default 1.0) + + :type: float + + .. attribute:: squash_frequency + + How often rows consist of "squished" bricks (in [1, 99], default 2) + + :type: int + + .. data:: texture_mapping + + Texture coordinate mapping settings (readonly, never None) + + :type: :class:`TexMapping` + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexChecker.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexChecker.rst new file mode 100644 index 0000000..ef0ba07 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexChecker.rst @@ -0,0 +1,168 @@ +ShaderNodeTexChecker(ShaderNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexChecker(ShaderNode) + + Generate a checkerboard texture + + .. data:: color_mapping + + Color mapping settings (readonly, never None) + + :type: :class:`ColorMapping` + + .. data:: texture_mapping + + Texture coordinate mapping settings (readonly, never None) + + :type: :class:`TexMapping` + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexCoord.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexCoord.rst new file mode 100644 index 0000000..54e8570 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexCoord.rst @@ -0,0 +1,169 @@ +ShaderNodeTexCoord(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexCoord(ShaderNode) + + Retrieve multiple types of texture coordinates. + Typically used as inputs for texture nodes + + .. attribute:: from_instancer + + Use the parent of the instance object if possible (default False) + + :type: bool + + .. attribute:: object + + Use coordinates from this object (for object texture coordinates output) + + :type: :class:`Object` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexEnvironment.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexEnvironment.rst new file mode 100644 index 0000000..85b10f8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexEnvironment.rst @@ -0,0 +1,204 @@ +ShaderNodeTexEnvironment(ShaderNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexEnvironment(ShaderNode) + + Sample an image file as an environment texture. Typically used to light the scene with the background node + + .. data:: color_mapping + + Color mapping settings (readonly, never None) + + :type: :class:`ColorMapping` + + .. attribute:: image + + :type: :class:`Image` | None + + .. data:: image_user + + Parameters defining which layer, pass and frame of the image is displayed (readonly, never None) + + :type: :class:`ImageUser` + + .. attribute:: interpolation + + Texture interpolation (default ``'Linear'``) + + - ``Linear`` + Linear -- Linear interpolation. + - ``Closest`` + Closest -- No interpolation (sample closest texel). + - ``Cubic`` + Cubic -- Cubic interpolation. + - ``Smart`` + Smart -- Bicubic when magnifying, else bilinear (OSL only). + + :type: Literal['Linear', 'Closest', 'Cubic', 'Smart'] + + .. attribute:: projection + + Projection of the input image (default ``'EQUIRECTANGULAR'``) + + - ``EQUIRECTANGULAR`` + Equirectangular -- Equirectangular or latitude-longitude projection. + - ``MIRROR_BALL`` + Mirror Ball -- Projection from an orthographic photo of a mirror ball. + + :type: Literal['EQUIRECTANGULAR', 'MIRROR_BALL'] + + .. data:: texture_mapping + + Texture coordinate mapping settings (readonly, never None) + + :type: :class:`TexMapping` + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexGabor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexGabor.rst new file mode 100644 index 0000000..a0922bb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexGabor.rst @@ -0,0 +1,179 @@ +ShaderNodeTexGabor(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexGabor(ShaderNode) + + Generate Gabor noise + + .. data:: color_mapping + + Color mapping settings (readonly, never None) + + :type: :class:`ColorMapping` + + .. attribute:: gabor_type + + The type of Gabor noise to evaluate (default ``'2D'``) + + - ``2D`` + 2D -- Use the 2D vector (X, Y) as input. The Z component is ignored.. + - ``3D`` + 3D -- Use the 3D vector (X, Y, Z) as input. + + :type: Literal['2D', '3D'] + + .. data:: texture_mapping + + Texture coordinate mapping settings (readonly, never None) + + :type: :class:`TexMapping` + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexGradient.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexGradient.rst new file mode 100644 index 0000000..8a6ba3a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexGradient.rst @@ -0,0 +1,189 @@ +ShaderNodeTexGradient(ShaderNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexGradient(ShaderNode) + + Generate interpolated color and intensity values based on the input vector + + .. data:: color_mapping + + Color mapping settings (readonly, never None) + + :type: :class:`ColorMapping` + + .. attribute:: gradient_type + + Style of the color blending (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Create a linear progression. + - ``QUADRATIC`` + Quadratic -- Create a quadratic progression. + - ``EASING`` + Easing -- Create a progression easing from one step to the next. + - ``DIAGONAL`` + Diagonal -- Create a diagonal progression. + - ``SPHERICAL`` + Spherical -- Create a spherical progression. + - ``QUADRATIC_SPHERE`` + Quadratic Sphere -- Create a quadratic progression in the shape of a sphere. + - ``RADIAL`` + Radial -- Create a radial progression. + + :type: Literal['LINEAR', 'QUADRATIC', 'EASING', 'DIAGONAL', 'SPHERICAL', 'QUADRATIC_SPHERE', 'RADIAL'] + + .. data:: texture_mapping + + Texture coordinate mapping settings (readonly, never None) + + :type: :class:`TexMapping` + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexIES.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexIES.rst new file mode 100644 index 0000000..8e9af1d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexIES.rst @@ -0,0 +1,179 @@ +ShaderNodeTexIES(ShaderNode) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexIES(ShaderNode) + + Match real world lights with IES files, which store the directional intensity distribution of light sources + + .. attribute:: filepath + + IES light path (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: ies + + Internal IES file + + :type: :class:`Text` | None + + .. attribute:: mode + + Whether the IES file is loaded from disk or from a text data-block (default ``'INTERNAL'``) + + - ``INTERNAL`` + Internal -- Use internal text data-block. + - ``EXTERNAL`` + External -- Use external .ies file. + + :type: Literal['INTERNAL', 'EXTERNAL'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexImage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexImage.rst new file mode 100644 index 0000000..e0deb7b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexImage.rst @@ -0,0 +1,229 @@ +ShaderNodeTexImage(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexImage(ShaderNode) + + Sample an image file as a texture + + .. data:: color_mapping + + Color mapping settings (readonly, never None) + + :type: :class:`ColorMapping` + + .. attribute:: extension + + How the image is extrapolated past its original bounds (default ``'REPEAT'``) + + - ``REPEAT`` + Repeat -- Cause the image to repeat horizontally and vertically. + - ``EXTEND`` + Extend -- Extend by repeating edge pixels of the image. + - ``CLIP`` + Clip -- Clip to image size and set exterior pixels as transparent. + - ``MIRROR`` + Mirror -- Repeatedly flip the image horizontally and vertically. + + :type: Literal['REPEAT', 'EXTEND', 'CLIP', 'MIRROR'] + + .. attribute:: image + + :type: :class:`Image` | None + + .. data:: image_user + + Parameters defining which layer, pass and frame of the image is displayed (readonly, never None) + + :type: :class:`ImageUser` + + .. attribute:: interpolation + + Texture interpolation (default ``'Linear'``) + + - ``Linear`` + Linear -- Linear interpolation. + - ``Closest`` + Closest -- No interpolation (sample closest texel). + - ``Cubic`` + Cubic -- Cubic interpolation. + - ``Smart`` + Smart -- Bicubic when magnifying, else bilinear (OSL only). + + :type: Literal['Linear', 'Closest', 'Cubic', 'Smart'] + + .. attribute:: projection + + Method to project 2D image on object with a 3D texture vector (default ``'FLAT'``) + + - ``FLAT`` + Flat -- Image is projected flat using the X and Y coordinates of the texture vector. + - ``BOX`` + Box -- Image is projected using different components for each side of the object space bounding box. + - ``SPHERE`` + Sphere -- Image is projected spherically using the Z axis as central. + - ``TUBE`` + Tube -- Image is projected from the tube using the Z axis as central. + + :type: Literal['FLAT', 'BOX', 'SPHERE', 'TUBE'] + + .. attribute:: projection_blend + + For box projection, amount of blend to use between sides (in [0, 1], default 0.0) + + :type: float + + .. data:: texture_mapping + + Texture coordinate mapping settings (readonly, never None) + + :type: :class:`TexMapping` + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexMagic.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexMagic.rst new file mode 100644 index 0000000..ab031bc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexMagic.rst @@ -0,0 +1,174 @@ +ShaderNodeTexMagic(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexMagic(ShaderNode) + + Generate a psychedelic color texture + + .. data:: color_mapping + + Color mapping settings (readonly, never None) + + :type: :class:`ColorMapping` + + .. data:: texture_mapping + + Texture coordinate mapping settings (readonly, never None) + + :type: :class:`TexMapping` + + .. attribute:: turbulence_depth + + Level of detail in the added turbulent noise (in [0, 10], default 0) + + :type: int + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexNoise.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexNoise.rst new file mode 100644 index 0000000..70c83e1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexNoise.rst @@ -0,0 +1,206 @@ +ShaderNodeTexNoise(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexNoise(ShaderNode) + + Generate fractal Perlin noise + + .. data:: color_mapping + + Color mapping settings (readonly, never None) + + :type: :class:`ColorMapping` + + .. attribute:: noise_dimensions + + Number of dimensions to output noise for (default ``'1D'``) + + - ``1D`` + 1D -- Use the scalar value W as input. + - ``2D`` + 2D -- Use the 2D vector (X, Y) as input. The Z component is ignored.. + - ``3D`` + 3D -- Use the 3D vector (X, Y, Z) as input. + - ``4D`` + 4D -- Use the 4D vector (X, Y, Z, W) as input. + + :type: Literal['1D', '2D', '3D', '4D'] + + .. attribute:: noise_type + + Type of the Noise texture (default ``'MULTIFRACTAL'``) + + - ``MULTIFRACTAL`` + Multifractal -- More uneven result (varies with location), more similar to a real terrain. + - ``RIDGED_MULTIFRACTAL`` + Ridged Multifractal -- Create sharp peaks. + - ``HYBRID_MULTIFRACTAL`` + Hybrid Multifractal -- Create peaks and valleys with different roughness values. + - ``FBM`` + fBM -- The standard fractal Perlin noise. + - ``HETERO_TERRAIN`` + Hetero Terrain -- Similar to Hybrid Multifractal creates a heterogeneous terrain, but with the likeness of river channels. + + :type: Literal['MULTIFRACTAL', 'RIDGED_MULTIFRACTAL', 'HYBRID_MULTIFRACTAL', 'FBM', 'HETERO_TERRAIN'] + + .. attribute:: normalize + + Normalize outputs to 0.0 to 1.0 range (default False) + + :type: bool + + .. data:: texture_mapping + + Texture coordinate mapping settings (readonly, never None) + + :type: :class:`TexMapping` + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexSky.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexSky.rst new file mode 100644 index 0000000..059625d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexSky.rst @@ -0,0 +1,264 @@ +ShaderNodeTexSky(ShaderNode) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexSky(ShaderNode) + + Generate a procedural sky texture + + .. attribute:: aerosol_density + + Density of dust, pollution and water droplets. + 0 means no aerosols, 1 means urban city aerosols + + (in [0, 1000], default 1.0) + + :type: float + + .. attribute:: air_density + + Density of air molecules. + 0 means no air, 1 means urban city air + + (in [0, 1000], default 1.0) + + :type: float + + .. attribute:: altitude + + Height from sea level (in [0, 100000], default 100.0) + + :type: float + + .. data:: color_mapping + + Color mapping settings (readonly, never None) + + :type: :class:`ColorMapping` + + .. attribute:: ground_albedo + + Ground color that is subtly reflected in the sky (in [0, 1], default 0.0) + + :type: float + + .. attribute:: ozone_density + + Density of ozone layer. + 0 means no ozone, 1 means urban city ozone + + (in [0, 1000], default 1.0) + + :type: float + + .. attribute:: sky_type + + Which sky model should be used (default ``'PREETHAM'``) + + - ``SINGLE_SCATTERING`` + Single Scattering -- Single scattering sky model. + - ``MULTIPLE_SCATTERING`` + Multiple Scattering -- Multiple scattering sky model (more accurate). + - ``PREETHAM`` + Preetham -- Preetham 1999 (Legacy). + - ``HOSEK_WILKIE`` + Hosek / Wilkie -- Hosek / Wilkie 2012 (Legacy). + + :type: Literal['SINGLE_SCATTERING', 'MULTIPLE_SCATTERING', 'PREETHAM', 'HOSEK_WILKIE'] + + .. attribute:: sun_direction + + Direction from where the sun is shining (array of 3 items, in [-inf, inf], default (0.0, 0.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: sun_disc + + Include the sun itself in the output (default True) + + :type: bool + + .. attribute:: sun_elevation + + Sun angle from horizon (in [-inf, inf], default 0.261799) + + :type: float + + .. attribute:: sun_intensity + + Strength of Sun (in [0, 1000], default 1.0) + + :type: float + + .. attribute:: sun_rotation + + Rotation of sun around zenith (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: sun_size + + Size of sun disc (in [0, 1.5708], default 0.00951204) + + :type: float + + .. data:: texture_mapping + + Texture coordinate mapping settings (readonly, never None) + + :type: :class:`TexMapping` + + .. attribute:: turbidity + + Atmospheric turbidity (in [1, 10], default 0.0) + + :type: float + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexVoronoi.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexVoronoi.rst new file mode 100644 index 0000000..490ea1e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexVoronoi.rst @@ -0,0 +1,221 @@ +ShaderNodeTexVoronoi(ShaderNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexVoronoi(ShaderNode) + + Generate Worley noise based on the distance to random points. Typically used to generate textures such as stones, water, or biological cells + + .. data:: color_mapping + + Color mapping settings (readonly, never None) + + :type: :class:`ColorMapping` + + .. attribute:: distance + + The distance metric used to compute the texture (default ``'EUCLIDEAN'``) + + - ``EUCLIDEAN`` + Euclidean -- Euclidean distance. + - ``MANHATTAN`` + Manhattan -- Manhattan distance. + - ``CHEBYCHEV`` + Chebychev -- Chebychev distance. + - ``MINKOWSKI`` + Minkowski -- Minkowski distance. + + :type: Literal['EUCLIDEAN', 'MANHATTAN', 'CHEBYCHEV', 'MINKOWSKI'] + + .. attribute:: feature + + The Voronoi feature that the node will compute (default ``'F1'``) + + - ``F1`` + F1 -- Computes the distance to the closest point as well as its position and color. + - ``F2`` + F2 -- Computes the distance to the second closest point as well as its position and color. + - ``SMOOTH_F1`` + Smooth F1 -- Smoothed version of F1. Weighted sum of neighbor voronoi cells.. + - ``DISTANCE_TO_EDGE`` + Distance to Edge -- Computes the distance to the edge of the voronoi cell. + - ``N_SPHERE_RADIUS`` + N-Sphere Radius -- Computes the radius of the n-sphere inscribed in the voronoi cell. + + :type: Literal['F1', 'F2', 'SMOOTH_F1', 'DISTANCE_TO_EDGE', 'N_SPHERE_RADIUS'] + + .. attribute:: normalize + + Normalize output Distance to 0.0 to 1.0 range (default False) + + :type: bool + + .. data:: texture_mapping + + Texture coordinate mapping settings (readonly, never None) + + :type: :class:`TexMapping` + + .. attribute:: voronoi_dimensions + + Number of dimensions to output noise for (default ``'1D'``) + + - ``1D`` + 1D -- Use the scalar value W as input. + - ``2D`` + 2D -- Use the 2D vector (X, Y) as input. The Z component is ignored.. + - ``3D`` + 3D -- Use the 3D vector (X, Y, Z) as input. + - ``4D`` + 4D -- Use the 4D vector (X, Y, Z, W) as input. + + :type: Literal['1D', '2D', '3D', '4D'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexWave.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexWave.rst new file mode 100644 index 0000000..83692f5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexWave.rst @@ -0,0 +1,222 @@ +ShaderNodeTexWave(ShaderNode) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexWave(ShaderNode) + + Generate procedural bands or rings with noise + + .. attribute:: bands_direction + + (default ``'X'``) + + - ``X`` + X -- Bands across X axis. + - ``Y`` + Y -- Bands across Y axis. + - ``Z`` + Z -- Bands across Z axis. + - ``DIAGONAL`` + Diagonal -- Bands across diagonal axis. + + :type: Literal['X', 'Y', 'Z', 'DIAGONAL'] + + .. data:: color_mapping + + Color mapping settings (readonly, never None) + + :type: :class:`ColorMapping` + + .. attribute:: rings_direction + + (default ``'X'``) + + - ``X`` + X -- Rings along X axis. + - ``Y`` + Y -- Rings along Y axis. + - ``Z`` + Z -- Rings along Z axis. + - ``SPHERICAL`` + Spherical -- Rings along spherical distance. + + :type: Literal['X', 'Y', 'Z', 'SPHERICAL'] + + .. data:: texture_mapping + + Texture coordinate mapping settings (readonly, never None) + + :type: :class:`TexMapping` + + .. attribute:: wave_profile + + (default ``'SIN'``) + + - ``SIN`` + Sine -- Use a standard sine profile. + - ``SAW`` + Saw -- Use a sawtooth profile. + - ``TRI`` + Triangle -- Use a triangle profile. + + :type: Literal['SIN', 'SAW', 'TRI'] + + .. attribute:: wave_type + + (default ``'BANDS'``) + + - ``BANDS`` + Bands -- Use standard wave texture in bands. + - ``RINGS`` + Rings -- Use wave texture in rings. + + :type: Literal['BANDS', 'RINGS'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexWhiteNoise.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexWhiteNoise.rst new file mode 100644 index 0000000..c3613cc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTexWhiteNoise.rst @@ -0,0 +1,171 @@ +ShaderNodeTexWhiteNoise(ShaderNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeTexWhiteNoise(ShaderNode) + + Calculate a random value or color based on an input seed + + .. attribute:: noise_dimensions + + Number of dimensions to output noise for (default ``'1D'``) + + - ``1D`` + 1D -- Use the scalar value W as input. + - ``2D`` + 2D -- Use the 2D vector (X, Y) as input. The Z component is ignored.. + - ``3D`` + 3D -- Use the 3D vector (X, Y, Z) as input. + - ``4D`` + 4D -- Use the 4D vector (X, Y, Z, W) as input. + + :type: Literal['1D', '2D', '3D', '4D'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTree.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTree.rst new file mode 100644 index 0000000..b5bfb66 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeTree.rst @@ -0,0 +1,150 @@ +ShaderNodeTree(NodeTree) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`NodeTree` + +.. class:: ShaderNodeTree(NodeTree) + + Node tree consisting of linked nodes used for materials (and other shading data-blocks) + + .. method:: get_output_node(target) + + Return active shader output node for the specified target + + :param target: Target + + - ``ALL`` + All -- Use shaders for all renderers and viewports, unless there exists a more specific output. + - ``EEVEE`` + EEVEE -- Use shaders for EEVEE renderer. + - ``CYCLES`` + Cycles -- Use shaders for Cycles renderer. + :type target: Literal['ALL', 'EEVEE', 'CYCLES'] + :return: Node + :rtype: :class:`ShaderNode` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`NodeTree.color_tag` + - :class:`NodeTree.default_group_node_width` + - :class:`NodeTree.view_center` + - :class:`NodeTree.description` + - :class:`NodeTree.animation_data` + - :class:`NodeTree.nodes` + - :class:`NodeTree.links` + - :class:`NodeTree.annotation` + - :class:`NodeTree.type` + - :class:`NodeTree.interface` + - :class:`NodeTree.bl_idname` + - :class:`NodeTree.bl_label` + - :class:`NodeTree.bl_description` + - :class:`NodeTree.bl_icon` + - :class:`NodeTree.bl_use_group_interface` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`NodeTree.interface_update` + - :class:`NodeTree.contains_tree` + - :class:`NodeTree.poll` + - :class:`NodeTree.update` + - :class:`NodeTree.get_from_context` + - :class:`NodeTree.valid_socket_type` + - :class:`NodeTree.debug_lazy_function_graph` + - :class:`NodeTree.bl_rna_get_subclass` + - :class:`NodeTree.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeUVAlongStroke.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeUVAlongStroke.rst new file mode 100644 index 0000000..220dd0e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeUVAlongStroke.rst @@ -0,0 +1,162 @@ +ShaderNodeUVAlongStroke(ShaderNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeUVAlongStroke(ShaderNode) + + UV coordinates that map a texture along the stroke length + + .. attribute:: use_tips + + Lower half of the texture is for tips of the stroke (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeUVMap.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeUVMap.rst new file mode 100644 index 0000000..6206c9f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeUVMap.rst @@ -0,0 +1,168 @@ +ShaderNodeUVMap(ShaderNode) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeUVMap(ShaderNode) + + Retrieve a UV map from the geometry, or the default fallback if none is specified + + .. attribute:: from_instancer + + Use the parent of the instance object if possible (default False) + + :type: bool + + .. attribute:: uv_map + + UV coordinates to be used for mapping (default "", never None) + + :type: str + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeValToRGB.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeValToRGB.rst new file mode 100644 index 0000000..2ab60bc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeValToRGB.rst @@ -0,0 +1,162 @@ +ShaderNodeValToRGB(ShaderNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeValToRGB(ShaderNode) + + Map values to colors with the use of a gradient + + .. data:: color_ramp + + (readonly) + + :type: :class:`ColorRamp` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeValue.rst new file mode 100644 index 0000000..4f6946b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeValue.rst @@ -0,0 +1,156 @@ +ShaderNodeValue(ShaderNode) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeValue(ShaderNode) + + Input numerical values to other nodes in the tree + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorCurve.rst new file mode 100644 index 0000000..f9b77c5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorCurve.rst @@ -0,0 +1,162 @@ +ShaderNodeVectorCurve(ShaderNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeVectorCurve(ShaderNode) + + Map input vector components with curves + + .. data:: mapping + + (readonly) + + :type: :class:`CurveMapping` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorDisplacement.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorDisplacement.rst new file mode 100644 index 0000000..27583eb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorDisplacement.rst @@ -0,0 +1,169 @@ +ShaderNodeVectorDisplacement(ShaderNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeVectorDisplacement(ShaderNode) + + Displace the surface along an arbitrary direction + + .. attribute:: space + + Space of the input height (default ``'TANGENT'``) + + - ``TANGENT`` + Tangent Space -- Tangent space vector displacement mapping. + - ``OBJECT`` + Object Space -- Object space vector displacement mapping. + - ``WORLD`` + World Space -- World space vector displacement mapping. + + :type: Literal['TANGENT', 'OBJECT', 'WORLD'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorMath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorMath.rst new file mode 100644 index 0000000..81d7c49 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorMath.rst @@ -0,0 +1,162 @@ +ShaderNodeVectorMath(ShaderNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeVectorMath(ShaderNode) + + Perform vector math operation + + .. attribute:: operation + + (default ``'ADD'``) + + :type: Literal[:ref:`rna_enum_node_vec_math_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorRotate.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorRotate.rst new file mode 100644 index 0000000..f505472 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorRotate.rst @@ -0,0 +1,179 @@ +ShaderNodeVectorRotate(ShaderNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeVectorRotate(ShaderNode) + + Rotate a vector around a pivot point (center) + + .. attribute:: invert + + Invert the rotation angle (default False) + + :type: bool + + .. attribute:: rotation_type + + Type of angle input (default ``'AXIS_ANGLE'``) + + - ``AXIS_ANGLE`` + Axis Angle -- Rotate a point using axis angle. + - ``X_AXIS`` + X Axis -- Rotate a point using X axis. + - ``Y_AXIS`` + Y Axis -- Rotate a point using Y axis. + - ``Z_AXIS`` + Z Axis -- Rotate a point using Z axis. + - ``EULER_XYZ`` + Euler -- Rotate a point using XYZ order. + + :type: Literal['AXIS_ANGLE', 'X_AXIS', 'Y_AXIS', 'Z_AXIS', 'EULER_XYZ'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorTransform.rst new file mode 100644 index 0000000..42f63a1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVectorTransform.rst @@ -0,0 +1,181 @@ +ShaderNodeVectorTransform(ShaderNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeVectorTransform(ShaderNode) + + Convert a vector, point, or normal between world, camera, and object coordinate space + + .. attribute:: convert_from + + Space to convert from (default ``'WORLD'``) + + :type: Literal['WORLD', 'OBJECT', 'CAMERA'] + + .. attribute:: convert_to + + Space to convert to (default ``'WORLD'``) + + :type: Literal['WORLD', 'OBJECT', 'CAMERA'] + + .. attribute:: vector_type + + (default ``'VECTOR'``) + + - ``POINT`` + Point -- Transform a point. + - ``VECTOR`` + Vector -- Transform a direction vector. + - ``NORMAL`` + Normal -- Transform a normal vector with unit length. + + :type: Literal['POINT', 'VECTOR', 'NORMAL'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVertexColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVertexColor.rst new file mode 100644 index 0000000..b3b86f9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVertexColor.rst @@ -0,0 +1,162 @@ +ShaderNodeVertexColor(ShaderNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeVertexColor(ShaderNode) + + Retrieve a color attribute, or the default fallback if none is specified + + .. attribute:: layer_name + + Color Attribute (default "", never None) + + :type: str + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeAbsorption.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeAbsorption.rst new file mode 100644 index 0000000..0a5d5c2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeAbsorption.rst @@ -0,0 +1,156 @@ +ShaderNodeVolumeAbsorption(ShaderNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeVolumeAbsorption(ShaderNode) + + Absorb light as it passes through the volume + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeCoefficients.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeCoefficients.rst new file mode 100644 index 0000000..bed2474 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeCoefficients.rst @@ -0,0 +1,173 @@ +ShaderNodeVolumeCoefficients(ShaderNode) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeVolumeCoefficients(ShaderNode) + + Model all three physical processes in a volume, represented by their coefficients + + .. attribute:: phase + + Phase function for the scattered light (default ``'HENYEY_GREENSTEIN'``) + + - ``HENYEY_GREENSTEIN`` + Henyey-Greenstein -- Henyey-Greenstein, default phase function for the scattering of light. + - ``FOURNIER_FORAND`` + Fournier-Forand -- Fournier-Forand phase function, used for the scattering of light in underwater environments. + - ``DRAINE`` + Draine -- Draine phase functions, mostly used for the scattering of light in interstellar dust. + - ``RAYLEIGH`` + Rayleigh -- Rayleigh phase function, mostly used for particles smaller than the wavelength of light, such as scattering of sunlight in earth's atmosphere. + - ``MIE`` + Mie -- Approximation of Mie scattering in water droplets, used for scattering in clouds and fog. + + :type: Literal['HENYEY_GREENSTEIN', 'FOURNIER_FORAND', 'DRAINE', 'RAYLEIGH', 'MIE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeInfo.rst new file mode 100644 index 0000000..1cfbf8b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeInfo.rst @@ -0,0 +1,156 @@ +ShaderNodeVolumeInfo(ShaderNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeVolumeInfo(ShaderNode) + + Read volume data attributes from volume grids + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumePrincipled.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumePrincipled.rst new file mode 100644 index 0000000..38a3e87 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumePrincipled.rst @@ -0,0 +1,156 @@ +ShaderNodeVolumePrincipled(ShaderNode) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeVolumePrincipled(ShaderNode) + + Combine all volume shading components into a single easy to use node + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeScatter.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeScatter.rst new file mode 100644 index 0000000..733b2fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeVolumeScatter.rst @@ -0,0 +1,173 @@ +ShaderNodeVolumeScatter(ShaderNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeVolumeScatter(ShaderNode) + + Scatter light as it passes through the volume, often used to add fog to a scene + + .. attribute:: phase + + Phase function for the scattered light (default ``'HENYEY_GREENSTEIN'``) + + - ``HENYEY_GREENSTEIN`` + Henyey-Greenstein -- Henyey-Greenstein, default phase function for the scattering of light. + - ``FOURNIER_FORAND`` + Fournier-Forand -- Fournier-Forand phase function, used for the scattering of light in underwater environments. + - ``DRAINE`` + Draine -- Draine phase functions, mostly used for the scattering of light in interstellar dust. + - ``RAYLEIGH`` + Rayleigh -- Rayleigh phase function, mostly used for particles smaller than the wavelength of light, such as scattering of sunlight in earth's atmosphere. + - ``MIE`` + Mie -- Approximation of Mie scattering in water droplets, used for scattering in clouds and fog. + + :type: Literal['HENYEY_GREENSTEIN', 'FOURNIER_FORAND', 'DRAINE', 'RAYLEIGH', 'MIE'] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeWavelength.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeWavelength.rst new file mode 100644 index 0000000..29d15ae --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeWavelength.rst @@ -0,0 +1,156 @@ +ShaderNodeWavelength(ShaderNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeWavelength(ShaderNode) + + Convert a wavelength value to an RGB value + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeWireframe.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeWireframe.rst new file mode 100644 index 0000000..25ef07d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShaderNodeWireframe.rst @@ -0,0 +1,163 @@ +ShaderNodeWireframe(ShaderNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`ShaderNode` + +.. class:: ShaderNodeWireframe(ShaderNode) + + Retrieve the edges of an object as it appears to Cycles. + Note: as meshes are triangulated before being processed by Cycles, topology will always appear triangulated + + .. attribute:: use_pixel_size + + Use screen pixel size instead of world units (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`ShaderNode.poll` + - :class:`ShaderNode.bl_rna_get_subclass` + - :class:`ShaderNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKey.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKey.rst new file mode 100644 index 0000000..aa73bb4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKey.rst @@ -0,0 +1,184 @@ +ShapeKey(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ShapeKey(bpy_struct) + + Shape key in a shape keys data-block + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`UnknownType`] + + .. data:: frame + + Frame for absolute keys (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. attribute:: interpolation + + Interpolation type for absolute shape keys (default ``'KEY_LINEAR'``) + + :type: Literal['KEY_LINEAR', 'KEY_CARDINAL', 'KEY_CATMULL_ROM', 'KEY_BSPLINE'] + + .. attribute:: lock_shape + + Protect the shape key from accidental sculpting and editing (default False) + + :type: bool + + .. attribute:: mute + + Toggle this shape key (default False) + + :type: bool + + .. attribute:: name + + Name of Shape Key (default "", never None) + + :type: str + + .. data:: points + + Optimized access to shape keys point data, when using foreach_get/foreach_set accessors. Warning: Does not support legacy Curve shape keys. (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ShapeKeyPoint`] + + .. attribute:: relative_key + + Shape used as a relative key (never None) + + :type: :class:`ShapeKey` + + .. attribute:: select + + Shape key selection state (default False) + + :type: bool + + .. attribute:: slider_max + + Maximum for slider (in [-10, 10], default 1.0) + + :type: float + + .. attribute:: slider_min + + Minimum for slider (in [-10, 10], default 0.0) + + :type: float + + .. attribute:: value + + Value of shape key at the current frame (in [0, 1], default 0.0) + + :type: float + + .. attribute:: vertex_group + + Vertex weight group, to blend with basis shape (default "", never None) + + :type: str + + .. method:: normals_vertex_get() + + Compute local space vertices' normals for this shape key + + :return: normals, (in [-1, 1]) + :rtype: float + + .. method:: normals_polygon_get() + + Compute local space faces' normals for this shape key + + :return: normals, (in [-1, 1]) + :rtype: float + + .. method:: normals_split_get() + + Compute local space face corners' normals for this shape key + + :return: normals, (in [-1, 1]) + :rtype: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ClothSettings.rest_shape_key` + - :class:`Key.key_blocks` + - :class:`Key.reference_key` + - :class:`Object.active_shape_key` + - :class:`Object.shape_key_add` + - :class:`Object.shape_key_remove` + - :class:`Object.shape_keys_selected` + - :class:`ShapeKey.relative_key` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKeyBezierPoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKeyBezierPoint.rst new file mode 100644 index 0000000..d0a52f7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKeyBezierPoint.rst @@ -0,0 +1,100 @@ +ShapeKeyBezierPoint(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ShapeKeyBezierPoint(bpy_struct) + + Point in a shape key for Bézier curves + + .. attribute:: co + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: handle_left + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: handle_right + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: radius + + Radius for beveling (in [0, inf], default 0.0) + + :type: float + + .. attribute:: tilt + + Tilt in 3D View (in [-376.991, 376.991], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKeyCurvePoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKeyCurvePoint.rst new file mode 100644 index 0000000..e5fed8e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKeyCurvePoint.rst @@ -0,0 +1,88 @@ +ShapeKeyCurvePoint(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ShapeKeyCurvePoint(bpy_struct) + + Point in a shape key for curves + + .. attribute:: co + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: radius + + Radius for beveling (in [0, inf], default 0.0) + + :type: float + + .. attribute:: tilt + + Tilt in 3D View (in [-376.991, 376.991], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKeyPoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKeyPoint.rst new file mode 100644 index 0000000..6d6558e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShapeKeyPoint.rst @@ -0,0 +1,84 @@ +ShapeKeyPoint(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ShapeKeyPoint(bpy_struct) + + Point in a shape key + + .. attribute:: co + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ShapeKey.points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Short2Attribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Short2Attribute.rst new file mode 100644 index 0000000..088f3f8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Short2Attribute.rst @@ -0,0 +1,84 @@ +Short2Attribute(Attribute) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: Short2Attribute(Attribute) + + Geometry attribute that stores 2D integer vectors + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Short2AttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Short2AttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Short2AttributeValue.rst new file mode 100644 index 0000000..29c1f89 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Short2AttributeValue.rst @@ -0,0 +1,84 @@ +Short2AttributeValue(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Short2AttributeValue(bpy_struct) + + 2D value in geometry attribute + + .. attribute:: value + + 2D vector (array of 2 items, in [-32768, 32767], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Short2Attribute.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShrinkwrapConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShrinkwrapConstraint.rst new file mode 100644 index 0000000..e260e37 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShrinkwrapConstraint.rst @@ -0,0 +1,186 @@ +ShrinkwrapConstraint(Constraint) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: ShrinkwrapConstraint(Constraint) + + Create constraint-based shrinkwrap relationship + + .. attribute:: cull_face + + Stop vertices from projecting to a face on the target when facing towards/away (default ``'OFF'``) + + - ``OFF`` + Off -- No culling. + - ``FRONT`` + Front -- No projection when in front of the face. + - ``BACK`` + Back -- No projection when behind the face. + + :type: Literal['OFF', 'FRONT', 'BACK'] + + .. attribute:: distance + + Distance to Target (in [0, inf], default 0.0) + + :type: float + + .. attribute:: project_axis + + Axis constrain to (default ``'POS_X'``) + + :type: Literal[:ref:`rna_enum_object_axis_items`] + + .. attribute:: project_axis_space + + Space for the projection axis (default ``'WORLD'``) + + - ``WORLD`` + World Space -- The constraint is applied relative to the world coordinate system. + - ``CUSTOM`` + Custom Space -- The constraint is applied in local space of a custom object/bone/vertex group. + - ``POSE`` + Pose Space -- The constraint is applied in Pose Space, the object transformation is ignored. + - ``LOCAL_WITH_PARENT`` + Local With Parent -- The constraint is applied relative to the rest pose local coordinate system of the bone, thus including the parent-induced transformation. + - ``LOCAL`` + Local Space -- The constraint is applied relative to the local coordinate system of the object. + + :type: Literal['WORLD', 'CUSTOM', 'POSE', 'LOCAL_WITH_PARENT', 'LOCAL'] + + .. attribute:: project_limit + + Limit the distance used for projection (zero disables) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: shrinkwrap_type + + Select type of shrinkwrap algorithm for target position (default ``'NEAREST_SURFACE'``) + + - ``NEAREST_SURFACE`` + Nearest Surface Point -- Shrink the location to the nearest target surface. + - ``PROJECT`` + Project -- Shrink the location to the nearest target surface along a given axis. + - ``NEAREST_VERTEX`` + Nearest Vertex -- Shrink the location to the nearest target vertex. + - ``TARGET_PROJECT`` + Target Normal Project -- Shrink the location to the nearest target surface along the interpolated vertex normals of the target. + + :type: Literal['NEAREST_SURFACE', 'PROJECT', 'NEAREST_VERTEX', 'TARGET_PROJECT'] + + .. attribute:: target + + Target Mesh object + + :type: :class:`Object` | None + + .. attribute:: track_axis + + Axis that is aligned to the normal (default ``'TRACK_X'``) + + :type: Literal['TRACK_X', 'TRACK_Y', 'TRACK_Z', 'TRACK_NEGATIVE_X', 'TRACK_NEGATIVE_Y', 'TRACK_NEGATIVE_Z'] + + .. attribute:: use_invert_cull + + When projecting in the opposite direction invert the face cull mode (default False) + + :type: bool + + .. attribute:: use_project_opposite + + Project in both specified and opposite directions (default False) + + :type: bool + + .. attribute:: use_track_normal + + Align the specified axis to the surface normal (default False) + + :type: bool + + .. attribute:: wrap_mode + + Select how to constrain the object to the target surface (default ``'ON_SURFACE'``) + + :type: Literal[:ref:`rna_enum_modifier_shrinkwrap_mode_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShrinkwrapModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShrinkwrapModifier.rst new file mode 100644 index 0000000..6cfd824 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ShrinkwrapModifier.rst @@ -0,0 +1,181 @@ +ShrinkwrapModifier(Modifier) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: ShrinkwrapModifier(Modifier) + + Shrink wrapping modifier to shrink wrap and object to a target + + .. attribute:: auxiliary_target + + Additional mesh target to shrink to + + :type: :class:`Object` | None + + .. attribute:: cull_face + + Stop vertices from projecting to a face on the target when facing towards/away (default ``'OFF'``) + + :type: Literal[:ref:`rna_enum_shrinkwrap_face_cull_items`] + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: offset + + Distance to keep from the target (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: project_limit + + Limit the distance used for projection (zero disables) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: subsurf_levels + + Number of subdivisions that must be performed before extracting vertices' positions and normals (in [0, 6], default 0) + + :type: int + + .. attribute:: target + + Mesh target to shrink to + + :type: :class:`Object` | None + + .. attribute:: use_invert_cull + + When projecting in the negative direction invert the face cull mode (default False) + + :type: bool + + .. attribute:: use_negative_direction + + Allow vertices to move in the negative direction of axis (default False) + + :type: bool + + .. attribute:: use_positive_direction + + Allow vertices to move in the positive direction of axis (default True) + + :type: bool + + .. attribute:: use_project_x + + (default False) + + :type: bool + + .. attribute:: use_project_y + + (default False) + + :type: bool + + .. attribute:: use_project_z + + (default False) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name (default "", never None) + + :type: str + + .. attribute:: wrap_method + + (default ``'NEAREST_SURFACEPOINT'``) + + :type: Literal[:ref:`rna_enum_shrinkwrap_type_items`] + + .. attribute:: wrap_mode + + Select how vertices are constrained to the target surface (default ``'ON_SURFACE'``) + + :type: Literal[:ref:`rna_enum_modifier_shrinkwrap_mode_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SimpleDeformModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SimpleDeformModifier.rst new file mode 100644 index 0000000..c2f97ac --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SimpleDeformModifier.rst @@ -0,0 +1,160 @@ +SimpleDeformModifier(Modifier) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: SimpleDeformModifier(Modifier) + + Simple deformation modifier to apply effects such as twisting and bending + + .. attribute:: angle + + Angle of deformation (in [-inf, inf], default 0.785398) + + :type: float + + .. attribute:: deform_axis + + Deform around local axis (default ``'X'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: deform_method + + (default ``'TWIST'``) + + - ``TWIST`` + Twist -- Rotate around the Z axis of the modifier space. + - ``BEND`` + Bend -- Bend the mesh over the Z axis of the modifier space. + - ``TAPER`` + Taper -- Linearly scale along Z axis of the modifier space. + - ``STRETCH`` + Stretch -- Stretch the object along the Z axis of the modifier space. + + :type: Literal['TWIST', 'BEND', 'TAPER', 'STRETCH'] + + .. attribute:: factor + + Amount to deform object (in [-inf, inf], default 0.785398) + + :type: float + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: limits + + Lower/Upper limits for deform (array of 2 items, in [0, 1], default (0.0, 1.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: lock_x + + Do not allow deformation along the X axis (default False) + + :type: bool + + .. attribute:: lock_y + + Do not allow deformation along the Y axis (default False) + + :type: bool + + .. attribute:: lock_z + + Do not allow deformation along the Z axis (default False) + + :type: bool + + .. attribute:: origin + + Offset the origin and orientation of the deformation + + :type: :class:`Object` | None + + .. attribute:: vertex_group + + Vertex group name (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SimulationStateItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SimulationStateItem.rst new file mode 100644 index 0000000..9adf60a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SimulationStateItem.rst @@ -0,0 +1,104 @@ +SimulationStateItem(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SimulationStateItem(bpy_struct) + + + .. attribute:: attribute_domain + + Attribute domain where the attribute is stored in the simulation state (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. data:: color + + Color of the corresponding socket type in the node editor (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: socket_type + + (default ``'FLOAT'``) + + :type: Literal[:ref:`rna_enum_node_socket_data_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`GeometryNodeSimulationOutput.active_item` + - :class:`GeometryNodeSimulationOutput.state_items` + - :class:`NodeGeometrySimulationOutputItems.new` + - :class:`NodeGeometrySimulationOutputItems.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SimulationZoneViewerPathElem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SimulationZoneViewerPathElem.rst new file mode 100644 index 0000000..69460c7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SimulationZoneViewerPathElem.rst @@ -0,0 +1,79 @@ +SimulationZoneViewerPathElem(ViewerPathElem) +============================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ViewerPathElem` + +.. class:: SimulationZoneViewerPathElem(ViewerPathElem) + + + .. attribute:: sim_output_node_id + + (in [-inf, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ViewerPathElem.type` + - :class:`ViewerPathElem.ui_name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ViewerPathElem.bl_rna_get_subclass` + - :class:`ViewerPathElem.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SkinModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SkinModifier.rst new file mode 100644 index 0000000..c069780 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SkinModifier.rst @@ -0,0 +1,115 @@ +SkinModifier(Modifier) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: SkinModifier(Modifier) + + Generate Skin + + .. attribute:: branch_smoothing + + Smooth complex geometry around branches (in [0, 1], default 0.0) + + :type: float + + .. attribute:: use_smooth_shade + + Output faces with smooth shading rather than flat shaded (default False) + + :type: bool + + .. attribute:: use_x_symmetry + + Avoid making unsymmetrical quads across the X axis (default True) + + :type: bool + + .. attribute:: use_y_symmetry + + Avoid making unsymmetrical quads across the Y axis (default False) + + :type: bool + + .. attribute:: use_z_symmetry + + Avoid making unsymmetrical quads across the Z axis (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SmoothModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SmoothModifier.rst new file mode 100644 index 0000000..4aad4ae --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SmoothModifier.rst @@ -0,0 +1,127 @@ +SmoothModifier(Modifier) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: SmoothModifier(Modifier) + + Smoothing effect modifier + + .. attribute:: factor + + Strength of modifier effect (in [-inf, inf], default 0.5) + + :type: float + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: iterations + + (in [0, 32767], default 1) + + :type: int + + .. attribute:: use_x + + Smooth object along X axis (default True) + + :type: bool + + .. attribute:: use_y + + Smooth object along Y axis (default True) + + :type: bool + + .. attribute:: use_z + + Smooth object along Z axis (default True) + + :type: bool + + .. attribute:: vertex_group + + Name of Vertex Group which determines influence of modifier per point (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoftBodyModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoftBodyModifier.rst new file mode 100644 index 0000000..21194cc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoftBodyModifier.rst @@ -0,0 +1,97 @@ +SoftBodyModifier(Modifier) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: SoftBodyModifier(Modifier) + + Soft body simulation modifier + + .. data:: point_cache + + (readonly, never None) + + :type: :class:`PointCache` + + .. data:: settings + + (readonly, never None) + + :type: :class:`SoftBodySettings` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoftBodySettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoftBodySettings.rst new file mode 100644 index 0000000..37d9f74 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoftBodySettings.rst @@ -0,0 +1,359 @@ +SoftBodySettings(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SoftBodySettings(bpy_struct) + + Soft body simulation settings for an object + + .. attribute:: aero + + Make edges 'sail' (in [0, 30000], default 0) + + :type: int + + .. attribute:: aerodynamics_type + + Method of calculating aerodynamic interaction (default ``'SIMPLE'``) + + - ``SIMPLE`` + Simple -- Edges receive a drag force from surrounding media. + - ``LIFT_FORCE`` + Lift Force -- Edges receive a lift force when passing through surrounding media. + + :type: Literal['SIMPLE', 'LIFT_FORCE'] + + .. attribute:: ball_damp + + Blending to inelastic collision (in [0.001, 1], default 0.0) + + :type: float + + .. attribute:: ball_size + + Absolute ball size or factor if not manually adjusted (in [-10, 10], default 0.0) + + :type: float + + .. attribute:: ball_stiff + + Ball inflating pressure (in [0.001, 100], default 0.0) + + :type: float + + .. attribute:: bend + + Bending Stiffness (in [0, 10], default 0.0) + + :type: float + + .. attribute:: choke + + 'Viscosity' inside collision target (in [0, 100], default 0) + + :type: int + + .. attribute:: collision_collection + + Limit colliders to this collection + + :type: :class:`Collection` | None + + .. attribute:: collision_type + + Choose Collision Type (default ``'MANUAL'``) + + - ``MANUAL`` + Manual -- Manual adjust. + - ``AVERAGE`` + Average -- Average Spring length \* Ball Size. + - ``MINIMAL`` + Minimal -- Minimal Spring length \* Ball Size. + - ``MAXIMAL`` + Maximal -- Maximal Spring length \* Ball Size. + - ``MINMAX`` + AvMinMax -- (Min+Max)/2 \* Ball Size. + + :type: Literal['MANUAL', 'AVERAGE', 'MINIMAL', 'MAXIMAL', 'MINMAX'] + + .. attribute:: damping + + Edge spring friction (in [0, 50], default 0.0) + + :type: float + + .. data:: effector_weights + + (readonly) + + :type: :class:`EffectorWeights` | None + + .. attribute:: error_threshold + + The Runge-Kutta ODE solver error limit, low value gives more precision, high values speed (in [0.001, 10], default 0.0) + + :type: float + + .. attribute:: friction + + General media friction for point movements (in [0, 50], default 0.0) + + :type: float + + .. attribute:: fuzzy + + Fuzziness while on collision, high values make collision handling faster but less stable (in [1, 100], default 0) + + :type: int + + .. attribute:: goal_default + + Default Goal (vertex target position) value (in [0, 1], default 0.0) + + :type: float + + .. attribute:: goal_friction + + Goal (vertex target position) friction (in [0, 50], default 0.0) + + :type: float + + .. attribute:: goal_max + + Goal maximum, vertex weights are scaled to match this range (in [0, 1], default 0.0) + + :type: float + + .. attribute:: goal_min + + Goal minimum, vertex weights are scaled to match this range (in [0, 1], default 0.0) + + :type: float + + .. attribute:: goal_spring + + Goal (vertex target position) spring stiffness (in [0, 0.999], default 0.0) + + :type: float + + .. attribute:: gravity + + Apply gravitation to point movement (in [-10, 10], default 0.0) + + :type: float + + .. attribute:: location_mass_center + + Location of center of mass (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: mass + + General Mass value (in [0, 50000], default 0.0) + + :type: float + + .. attribute:: plastic + + Permanent deform (in [0, 100], default 0) + + :type: int + + .. attribute:: pull + + Edge spring stiffness when longer than rest length (in [0, 0.999], default 0.0) + + :type: float + + .. attribute:: push + + Edge spring stiffness when shorter than rest length (in [0, 0.999], default 0.0) + + :type: float + + .. attribute:: rotation_estimate + + Estimated rotation matrix (multi-dimensional array of 3 * 3 items, in [-inf, inf], default ((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: scale_estimate + + Estimated scale matrix (multi-dimensional array of 3 * 3 items, in [-inf, inf], default ((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: shear + + Shear Stiffness (in [0, 1], default 0.0) + + :type: float + + .. attribute:: speed + + Tweak timing for physics to control frequency and speed (in [0.01, 100], default 0.0) + + :type: float + + .. attribute:: spring_length + + Alter spring length to shrink/blow up (unit %) 0 to disable (in [0, 200], default 0) + + :type: int + + .. attribute:: step_max + + Maximal # solver steps/frame (in [0, 30000], default 0) + + :type: int + + .. attribute:: step_min + + Minimal # solver steps/frame (in [0, 30000], default 0) + + :type: int + + .. attribute:: use_auto_step + + Use velocities for automagic step sizes (default False) + + :type: bool + + .. attribute:: use_diagnose + + Turn on SB diagnose console prints (default False) + + :type: bool + + .. attribute:: use_edge_collision + + Edges collide too (default False) + + :type: bool + + .. attribute:: use_edges + + Use Edges as springs (default False) + + :type: bool + + .. attribute:: use_estimate_matrix + + Store the estimated transforms in the soft body settings (default False) + + :type: bool + + .. attribute:: use_face_collision + + Faces collide too, can be very slow (default False) + + :type: bool + + .. attribute:: use_goal + + Define forces for vertices to stick to animated position (default False) + + :type: bool + + .. attribute:: use_self_collision + + Enable naive vertex ball self collision (default False) + + :type: bool + + .. attribute:: use_stiff_quads + + Add diagonal springs on 4-gons (default False) + + :type: bool + + .. attribute:: vertex_group_goal + + Control point weight values (default "", never None) + + :type: str + + .. attribute:: vertex_group_mass + + Control point mass values (default "", never None) + + :type: str + + .. attribute:: vertex_group_spring + + Control point spring strength values (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.soft_body` + - :class:`SoftBodyModifier.settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SolidifyModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SolidifyModifier.rst new file mode 100644 index 0000000..4b0fc62 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SolidifyModifier.rst @@ -0,0 +1,254 @@ +SolidifyModifier(Modifier) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: SolidifyModifier(Modifier) + + Create a solid skin, compensating for sharp angles + + .. attribute:: bevel_convex + + Edge bevel weight to be added to outside edges (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: edge_crease_inner + + Assign a crease to inner edges (in [0, 1], default 0.0) + + :type: float + + .. attribute:: edge_crease_outer + + Assign a crease to outer edges (in [0, 1], default 0.0) + + :type: float + + .. attribute:: edge_crease_rim + + Assign a crease to the edges making up the rim (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert_vertex_group + + Invert the vertex group influence (default False) + + :type: bool + + .. attribute:: material_offset + + Offset material index of generated faces (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: material_offset_rim + + Offset material index of generated rim faces (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: nonmanifold_boundary_mode + + Selects the boundary adjustment algorithm (default ``'NONE'``) + + - ``NONE`` + None -- No shape correction. + - ``ROUND`` + Round -- Round open perimeter shape. + - ``FLAT`` + Flat -- Flat open perimeter shape. + + :type: Literal['NONE', 'ROUND', 'FLAT'] + + .. attribute:: nonmanifold_merge_threshold + + Distance within which degenerated geometry is merged (in [0, 1], default 0.0001) + + :type: float + + .. attribute:: nonmanifold_thickness_mode + + Selects the used thickness algorithm (default ``'CONSTRAINTS'``) + + - ``FIXED`` + Fixed -- Most basic thickness calculation. + - ``EVEN`` + Even -- Even thickness calculation which takes the angle between faces into account. + - ``CONSTRAINTS`` + Constraints -- Thickness calculation using constraints, most advanced. + + :type: Literal['FIXED', 'EVEN', 'CONSTRAINTS'] + + .. attribute:: offset + + Offset the thickness from the center (in [-inf, inf], default -1.0) + + :type: float + + .. attribute:: rim_vertex_group + + Vertex group that the generated rim geometry will be weighted to (default "", never None) + + :type: str + + .. attribute:: shell_vertex_group + + Vertex group that the generated shell geometry will be weighted to (default "", never None) + + :type: str + + .. attribute:: solidify_mode + + Selects the used algorithm (default ``'EXTRUDE'``) + + - ``EXTRUDE`` + Simple -- Output a solidified version of a mesh by simple extrusion. + - ``NON_MANIFOLD`` + Complex -- Output a manifold mesh even if the base mesh is non-manifold, where edges have 3 or more connecting faces. This method is slower.. + + :type: Literal['EXTRUDE', 'NON_MANIFOLD'] + + .. attribute:: thickness + + Thickness of the shell (in [-inf, inf], default 0.01) + + :type: float + + .. attribute:: thickness_clamp + + Offset clamp based on geometry scale (in [0, 100], default 0.0) + + :type: float + + .. attribute:: thickness_vertex_group + + Thickness factor to use for zero vertex group influence (in [0, 1], default 0.0) + + :type: float + + .. attribute:: use_even_offset + + Maintain thickness by adjusting for sharp corners (slow, disable when not needed) (default False) + + :type: bool + + .. attribute:: use_flat_faces + + Make faces use the minimal vertex weight assigned to their vertices (ensures new faces remain parallel to their original ones, slow, disable when not needed) (default False) + + :type: bool + + .. attribute:: use_flip_normals + + Invert the face direction (default False) + + :type: bool + + .. attribute:: use_quality_normals + + Calculate normals which result in more even thickness (slow, disable when not needed) (default False) + + :type: bool + + .. attribute:: use_rim + + Create edge loops between the inner and outer surfaces on face edges (slow, disable when not needed) (default True) + + :type: bool + + .. attribute:: use_rim_only + + Only add the rim to the original data (default False) + + :type: bool + + .. attribute:: use_thickness_angle_clamp + + Clamp thickness based on angles (default False) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Sound.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Sound.rst new file mode 100644 index 0000000..54fb27a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Sound.rst @@ -0,0 +1,197 @@ +Sound(ID) +========= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Sound(ID) + + Sound data-block referencing an external or packed sound file + + .. data:: channels + + Definition of audio channels (default ``'INVALID'``, readonly) + + - ``INVALID`` + Invalid -- Invalid. + - ``MONO`` + Mono -- Mono. + - ``STEREO`` + Stereo -- Stereo. + - ``STEREO_LFE`` + Stereo LFE -- Stereo FX. + - ``CHANNELS_4`` + 4 Channels -- 4 Channels. + - ``CHANNELS_5`` + 5 Channels -- 5 Channels. + - ``SURROUND_51`` + 5.1 Surround -- 5.1 Surround. + - ``SURROUND_61`` + 6.1 Surround -- 6.1 Surround. + - ``SURROUND_71`` + 7.1 Surround -- 7.1 Surround. + + :type: Literal['INVALID', 'MONO', 'STEREO', 'STEREO_LFE', 'CHANNELS_4', 'CHANNELS_5', 'SURROUND_51', 'SURROUND_61', 'SURROUND_71'] + + .. attribute:: filepath + + Sound sample file used by this Sound data-block (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. data:: packed_file + + (readonly) + + :type: :class:`PackedFile` | None + + .. data:: samplerate + + Sample rate of the audio in Hz (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: use_memory_cache + + The sound file is decoded and loaded into RAM (default False) + + :type: bool + + .. attribute:: use_mono + + If the file contains multiple audio channels they are rendered to a single one (default False) + + :type: bool + + .. data:: factory + + The aud.Factory object of the sound. + + (readonly) + + .. method:: pack() + + Pack the sound into the current blend file + + + .. method:: unpack(*, method='USE_LOCAL') + + Unpack the sound to the samples filename + + :param method: method, How to unpack (optional) + :type method: Literal[:ref:`rna_enum_unpack_method_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.sounds` + - :class:`BlendDataSounds.load` + - :class:`BlendDataSounds.remove` + - :class:`NodeSocketSound.default_value` + - :class:`NodeTreeInterfaceSocketSound.default_value` + - :class:`SoundStrip.sound` + - :class:`Speaker.sound` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoundEqualizerModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoundEqualizerModifier.rst new file mode 100644 index 0000000..53eb1de --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoundEqualizerModifier.rst @@ -0,0 +1,104 @@ +SoundEqualizerModifier(StripModifier) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripModifier` + +.. class:: SoundEqualizerModifier(StripModifier) + + Equalize audio + + .. data:: graphics + + Graphical definition equalization (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`EQCurveMappingData`] + + .. method:: new_graphic(min_freq, max_freq) + + Add a new EQ band + + :param min_freq: Minimum Frequency, Minimum Frequency (in [0, 20000]) + :type min_freq: float + :param max_freq: Maximum Frequency, Maximum Frequency (in [0, 20000]) + :type max_freq: float + :return: Newly created graphical Equalizer definition + :rtype: :class:`EQCurveMappingData` + + .. method:: clear_soundeqs() + + Remove all graphical equalizers from the Equalizer modifier + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripModifier.name` + - :class:`StripModifier.type` + - :class:`StripModifier.mute` + - :class:`StripModifier.enable` + - :class:`StripModifier.show_expanded` + - :class:`StripModifier.input_mask_type` + - :class:`StripModifier.mask_time` + - :class:`StripModifier.input_mask_strip` + - :class:`StripModifier.input_mask_id` + - :class:`StripModifier.is_active` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripModifier.bl_rna_get_subclass` + - :class:`StripModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoundStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoundStrip.rst new file mode 100644 index 0000000..4f17460 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SoundStrip.rst @@ -0,0 +1,184 @@ +SoundStrip(Strip) +================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip` + +.. class:: SoundStrip(Strip) + + Sequence strip defining a sound to be played over a period of time + + .. attribute:: animation_offset_end + + Animation end offset (trim end) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_end'. + + :type: int + + .. attribute:: animation_offset_start + + Animation start offset (trim start) (in [0, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_trim_start'. + + :type: int + + .. attribute:: content_trim_end + + Number of frames to ignore from the end of the underlying source. The source content is trimmed, and future frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. attribute:: content_trim_start + + Number of frames to ignore from the start of the underlying source. The source content is trimmed, and previous frames are turned into holds (in [0, inf], default 0) + + :type: int + + .. attribute:: pan + + Playback panning of the sound (only for Mono sources) (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: pitch_correction + + Maintain the original pitch of the audio when changing playback speed (default False) + + :type: bool + + .. data:: retiming_keys + + (default None, readonly) + + :type: :class:`RetimingKeys`\ [:class:`RetimingKey`] + + .. attribute:: show_waveform + + Display the audio waveform inside the strip (default False) + + :type: bool + + .. attribute:: sound + + Sound data-block used by this strip + + :type: :class:`Sound` | None + + .. attribute:: sound_offset + + Subframe offset of the sound source start expressed in seconds (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: volume + + Playback volume of the sound (in [0, 100], default 1.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Space.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Space.rst new file mode 100644 index 0000000..8a554ff --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Space.rst @@ -0,0 +1,131 @@ +Space(bpy_struct) +================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`SpaceClipEditor`, :class:`SpaceConsole`, :class:`SpaceDopeSheetEditor`, :class:`SpaceFileBrowser`, :class:`SpaceGraphEditor`, :class:`SpaceImageEditor`, :class:`SpaceInfo`, :class:`SpaceNLA`, :class:`SpaceNodeEditor`, :class:`SpaceOutliner`, :class:`SpacePreferences`, :class:`SpaceProperties`, :class:`SpaceSequenceEditor`, :class:`SpaceSpreadsheet`, :class:`SpaceTextEditor`, :class:`SpaceView3D` + +.. class:: Space(bpy_struct) + + Space data for a screen area + + .. attribute:: show_locked_time + + Synchronize the visible timeline range with other time-based editors (default False) + + :type: bool + + .. attribute:: show_region_header + + (default False) + + :type: bool + + .. data:: type + + Space data type (default ``'EMPTY'``, readonly) + + :type: Literal[:ref:`rna_enum_space_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Area.spaces` + - :class:`AreaSpaces.active` + - :class:`Context.space_data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceClipEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceClipEditor.rst new file mode 100644 index 0000000..0fd2fb7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceClipEditor.rst @@ -0,0 +1,436 @@ +SpaceClipEditor(Space) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceClipEditor(Space) + + Clip editor space data + + .. attribute:: annotation_source + + Where the annotation comes from (default ``'CLIP'``) + + - ``CLIP`` + Clip -- Show annotation data-block which belongs to movie clip. + - ``TRACK`` + Track -- Show annotation data-block which belongs to active track. + + :type: Literal['CLIP', 'TRACK'] + + .. attribute:: blend_factor + + Overlay blending factor of rasterized mask (in [0, 1], default 0.7) + + :type: float + + .. attribute:: clip + + Movie clip displayed and edited in this space + + :type: :class:`MovieClip` | None + + .. data:: clip_user + + Parameters defining which frame of the movie clip is displayed (readonly, never None) + + :type: :class:`MovieClipUser` + + .. attribute:: cursor_location + + 2D cursor location for this view (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: lock_selection + + Lock viewport to selected markers during playback (default False) + + :type: bool + + .. attribute:: lock_time_cursor + + Lock curves view to time cursor during playback and tracking (default False) + + :type: bool + + .. attribute:: mask + + Mask displayed and edited in this space + + :type: :class:`Mask` | None + + .. attribute:: mask_display_type + + Display type for mask splines (default ``'OUTLINE'``) + + - ``OUTLINE`` + Outline -- Display white edges with black outline. + - ``DASH`` + Dash -- Display dashed black-white edges. + - ``BLACK`` + Black -- Display black edges. + - ``WHITE`` + White -- Display white edges. + + :type: Literal['OUTLINE', 'DASH', 'BLACK', 'WHITE'] + + .. attribute:: mask_overlay_mode + + Overlay mode of rasterized mask (default ``'ALPHACHANNEL'``) + + - ``ALPHACHANNEL`` + Alpha Channel -- Show alpha channel of the mask. + - ``COMBINED`` + Combined -- Combine space background image with the mask. + + :type: Literal['ALPHACHANNEL', 'COMBINED'] + + .. attribute:: mode + + Editing context being displayed (default ``'TRACKING'``) + + :type: Literal[:ref:`rna_enum_clip_editor_mode_items`] + + .. data:: overlay + + Settings for display of overlays in the Movie Clip editor (readonly, never None) + + :type: :class:`SpaceClipOverlay` + + .. attribute:: path_length + + Length of displaying path, in frames (in [0, inf], default 20) + + :type: int + + .. attribute:: pivot_point + + Pivot center for rotation/scaling (default ``'MEDIAN_POINT'``) + + - ``BOUNDING_BOX_CENTER`` + Bounding Box Center -- Pivot around bounding box center of selected object(s). + - ``CURSOR`` + 2D Cursor -- Pivot around the 2D cursor. + - ``INDIVIDUAL_ORIGINS`` + Individual Origins -- Pivot around each object's own origin. + - ``MEDIAN_POINT`` + Median Point -- Pivot around the median point of selected objects. + + :type: Literal['BOUNDING_BOX_CENTER', 'CURSOR', 'INDIVIDUAL_ORIGINS', 'MEDIAN_POINT'] + + .. data:: scopes + + Scopes to visualize movie clip statistics (readonly) + + :type: :class:`MovieClipScopes` | None + + .. attribute:: show_annotation + + Show annotations for this view (default True) + + :type: bool + + .. attribute:: show_blue_channel + + Show blue channel in the frame (default True) + + :type: bool + + .. attribute:: show_bundles + + Show projection of 3D markers into footage (default False) + + :type: bool + + .. attribute:: show_disabled + + Show disabled tracks from the footage (default True) + + :type: bool + + .. attribute:: show_filters + + Show filters for graph editor (default False) + + :type: bool + + .. attribute:: show_gizmo + + Show gizmos of all types (default True) + + :type: bool + + .. attribute:: show_gizmo_navigate + + Viewport navigation gizmo (default True) + + :type: bool + + .. attribute:: show_graph_frames + + Show curve for per-frame average error (camera motion should be solved first) (default True) + + :type: bool + + .. attribute:: show_graph_hidden + + Include channels from objects/bone that are not visible (default False) + + :type: bool + + .. attribute:: show_graph_only_selected + + Only include channels relating to selected objects and data (default False) + + :type: bool + + .. attribute:: show_graph_tracks_error + + Display the reprojection error curve for selected tracks (default False) + + :type: bool + + .. attribute:: show_graph_tracks_motion + + Display speed curves for the selected tracks (default True) + + :type: bool + + .. attribute:: show_green_channel + + Show green channel in the frame (default True) + + :type: bool + + .. attribute:: show_grid + + Show grid showing lens distortion (default False) + + :type: bool + + .. attribute:: show_marker_pattern + + Show pattern boundbox for markers (default True) + + :type: bool + + .. attribute:: show_marker_search + + Show search boundbox for markers (default False) + + :type: bool + + .. attribute:: show_mask_overlay + + (default False) + + :type: bool + + .. attribute:: show_mask_spline + + (default True) + + :type: bool + + .. attribute:: show_metadata + + Show metadata of clip (default False) + + :type: bool + + .. attribute:: show_names + + Show track names and status (default False) + + :type: bool + + .. attribute:: show_red_channel + + Show red channel in the frame (default True) + + :type: bool + + .. attribute:: show_region_channels + + (default False) + + :type: bool + + .. attribute:: show_region_hud + + (default False) + + :type: bool + + .. attribute:: show_region_toolbar + + (default False) + + :type: bool + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. attribute:: show_seconds + + Show timing as a timecode instead of frames (default False) + + :type: bool + + .. attribute:: show_stable + + Show stable footage in editor (if stabilization is enabled) (default False) + + :type: bool + + .. attribute:: show_tiny_markers + + Show markers in a more compact manner (default False) + + :type: bool + + .. attribute:: show_track_path + + Show path of how track moves (default True) + + :type: bool + + .. attribute:: use_grayscale_preview + + Display frame in grayscale mode (default False) + + :type: bool + + .. attribute:: use_manual_calibration + + Use manual calibration helpers (default False) + + :type: bool + + .. attribute:: use_mute_footage + + Mute footage and show black background instead (default False) + + :type: bool + + .. attribute:: view + + Type of the clip editor view (default ``'CLIP'``) + + - ``CLIP`` + Clip -- Show editing clip preview. + - ``GRAPH`` + Graph -- Show graph view for active element. + - ``DOPESHEET`` + Dope Sheet -- Dope Sheet view for tracking data. + + :type: Literal['CLIP', 'GRAPH', 'DOPESHEET'] + + .. attribute:: zoom_percentage + + Zoom percentage (in [0.4, 80000], default 100.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceClipOverlay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceClipOverlay.rst new file mode 100644 index 0000000..07ac367 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceClipOverlay.rst @@ -0,0 +1,90 @@ +SpaceClipOverlay(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SpaceClipOverlay(bpy_struct) + + Settings for display of overlays in the Movie Clip editor + + .. attribute:: show_cursor + + Display 2D cursor (default True) + + :type: bool + + .. attribute:: show_overlays + + Display overlays like cursor and annotations (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceClipEditor.overlay` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceConsole.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceConsole.rst new file mode 100644 index 0000000..0f77163 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceConsole.rst @@ -0,0 +1,149 @@ +SpaceConsole(Space) +=================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceConsole(Space) + + Interactive Python console + + .. attribute:: font_size + + Font size to use for displaying the text (in [1, 256], default 0) + + :type: int + + .. data:: history + + Command history (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ConsoleLine`] + + .. attribute:: language + + Command line prompt language (default "", never None) + + :type: str + + .. attribute:: prompt + + Command line prompt (default "", never None) + + :type: str + + .. data:: scrollback + + Command output (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ConsoleLine`] + + .. attribute:: select_end + + (in [0, inf], default 0) + + :type: int + + .. attribute:: select_start + + (in [0, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceDopeSheetEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceDopeSheetEditor.rst new file mode 100644 index 0000000..50536c3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceDopeSheetEditor.rst @@ -0,0 +1,285 @@ +SpaceDopeSheetEditor(Space) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceDopeSheetEditor(Space) + + Dope Sheet space data + + .. attribute:: cache_cloth + + Show the active object's cloth point cache (default False) + + :type: bool + + .. attribute:: cache_dynamicpaint + + Show the active object's Dynamic Paint cache (default False) + + :type: bool + + .. attribute:: cache_particles + + Show the active object's particle point cache (default False) + + :type: bool + + .. attribute:: cache_rigidbody + + Show the active object's Rigid Body cache (default False) + + :type: bool + + .. attribute:: cache_simulation_nodes + + Show the active object's simulation nodes cache and bake data (default False) + + :type: bool + + .. attribute:: cache_smoke + + Show the active object's smoke cache (default False) + + :type: bool + + .. attribute:: cache_softbody + + Show the active object's softbody point cache (default False) + + :type: bool + + .. data:: dopesheet + + Settings for filtering animation data (readonly) + + :type: :class:`DopeSheet` | None + + .. attribute:: mode + + Editing context being displayed (default ``'ACTION'``) + + - ``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: Literal['DOPESHEET', 'ACTION', 'SHAPEKEY', 'GPENCIL', 'MASK', 'CACHEFILE', 'TIMELINE'] + + .. data:: overlays + + Settings for display of overlays (readonly, never None) + + :type: :class:`SpaceDopeSheetOverlay` + + .. attribute:: show_cache + + Show the status of cached frames in the timeline (default False) + + :type: bool + + .. attribute:: show_extremes + + Mark keyframes where the key value flow changes direction, based on comparison with adjacent keys (default False) + + :type: bool + + .. attribute:: show_interpolation + + Display keyframe handle types and non-Bézier interpolation modes (default False) + + :type: bool + + .. attribute:: show_markers + + If any exists, show markers in a separate row at the bottom of the editor (default False) + + :type: bool + + .. attribute:: show_pose_markers + + Show markers belonging to the active action instead of Scene markers (Action and Shape Key Editors only) (default False) + + :type: bool + + .. attribute:: show_region_channels + + (default False) + + :type: bool + + .. attribute:: show_region_footer + + (default False) + + :type: bool + + .. attribute:: show_region_hud + + (default False) + + :type: bool + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. attribute:: show_seconds + + Show timing as a timecode instead of frames (default False) + + :type: bool + + .. attribute:: show_sliders + + Show sliders beside F-Curve channels (default False) + + :type: bool + + .. attribute:: ui_mode + + Editing context being displayed (default ``'ACTION'``) + + - ``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: Literal['DOPESHEET', 'ACTION', 'SHAPEKEY', 'GPENCIL', 'MASK', 'CACHEFILE'] + + .. attribute:: use_auto_merge_keyframes + + Automatically merge nearby keyframes (default True) + + :type: bool + + .. attribute:: use_marker_sync + + Sync Markers with keyframe edits (default False) + + :type: bool + + .. attribute:: use_realtime_update + + When transforming keyframes, changes to the animation data are flushed to other views (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceDopeSheetOverlay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceDopeSheetOverlay.rst new file mode 100644 index 0000000..a12e09e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceDopeSheetOverlay.rst @@ -0,0 +1,89 @@ +SpaceDopeSheetOverlay(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SpaceDopeSheetOverlay(bpy_struct) + + + .. attribute:: show_overlays + + Display overlays (default True) + + :type: bool + + .. attribute:: show_scene_strip_range + + When using scene time synchronization in the sequence editor, display the range of the current scene strip (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceDopeSheetEditor.overlays` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceFileBrowser.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceFileBrowser.rst new file mode 100644 index 0000000..fff442d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceFileBrowser.rst @@ -0,0 +1,218 @@ +SpaceFileBrowser(Space) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceFileBrowser(Space) + + File browser space data + + .. data:: active_operator + + (readonly) + + :type: :class:`Operator` | None + + .. attribute:: bookmarks + + User's bookmarks (default None) + + :type: :class:`bpy_prop_collection`\ [:class:`FileBrowserFSMenuEntry`] + + .. attribute:: bookmarks_active + + Index of active bookmark (-1 if none) (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: browse_mode + + Type of the File Editor view (regular file browsing or asset browsing) (default ``'FILES'``) + + :type: Literal[:ref:`rna_enum_space_file_browse_mode_items`] + + .. data:: operator + + (readonly) + + :type: :class:`Operator` | None + + .. data:: params + + Parameters and Settings for the Filebrowser (readonly) + + :type: :class:`FileSelectParams` | None + + .. attribute:: recent_folders + + (default None) + + :type: :class:`bpy_prop_collection`\ [:class:`FileBrowserFSMenuEntry`] + + .. attribute:: recent_folders_active + + Index of active recent folder (-1 if none) (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: show_region_tool_props + + (default False) + + :type: bool + + .. attribute:: show_region_toolbar + + (default False) + + :type: bool + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. data:: system_bookmarks + + System's bookmarks (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`FileBrowserFSMenuEntry`] + + .. attribute:: system_bookmarks_active + + Index of active system bookmark (-1 if none) (in [-32768, 32767], default 0) + + :type: int + + .. data:: system_folders + + System's folders (usually root, available hard drives, etc) (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`FileBrowserFSMenuEntry`] + + .. attribute:: system_folders_active + + Index of active system folder (-1 if none) (in [-32768, 32767], default 0) + + :type: int + + .. method:: activate_asset_by_id(id_to_activate, *, deferred=False) + + Activate and select the asset entry that represents the given ID + + :param id_to_activate: id_to_activate + :type id_to_activate: :class:`ID` | None + :param deferred: Whether to activate the ID immediately (false) or after the file browser refreshes (true) (optional) + :type deferred: bool + + .. method:: activate_file_by_relative_path(*, relative_path="") + + Set active file and add to selection based on relative path to current File Browser directory + + :param relative_path: relative_path, (optional, never None) + :type relative_path: str + + .. method:: deselect_all() + + Deselect all files + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceGraphEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceGraphEditor.rst new file mode 100644 index 0000000..82e6cef --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceGraphEditor.rst @@ -0,0 +1,239 @@ +SpaceGraphEditor(Space) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceGraphEditor(Space) + + Graph Editor space data + + .. attribute:: cursor_position_x + + Graph Editor 2D-Value cursor - X-Value component (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: cursor_position_y + + Graph Editor 2D-Value cursor - Y-Value component (in [-inf, inf], default 0.0) + + :type: float + + .. data:: dopesheet + + Settings for filtering animation data (readonly) + + :type: :class:`DopeSheet` | None + + .. data:: has_ghost_curves + + Graph Editor instance has some ghost curves stored (default False, readonly) + + :type: bool + + .. attribute:: mode + + Editing context being displayed (default ``'FCURVES'``) + + :type: Literal[:ref:`rna_enum_space_graph_mode_items`] + + .. attribute:: pivot_point + + Pivot center for rotation/scaling (default ``'BOUNDING_BOX_CENTER'``) + + :type: Literal['BOUNDING_BOX_CENTER', 'CURSOR', 'INDIVIDUAL_ORIGINS'] + + .. attribute:: show_cursor + + Show 2D cursor (default True) + + :type: bool + + .. attribute:: show_extrapolation + + (default True) + + :type: bool + + .. attribute:: show_handles + + Show handles of Bézier control points (default True) + + :type: bool + + .. attribute:: show_markers + + If any exists, show markers in a separate row at the bottom of the editor (default False) + + :type: bool + + .. attribute:: show_region_channels + + (default False) + + :type: bool + + .. attribute:: show_region_footer + + (default False) + + :type: bool + + .. attribute:: show_region_hud + + (default False) + + :type: bool + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. attribute:: show_seconds + + Show timing as a timecode instead of frames (default False) + + :type: bool + + .. attribute:: show_sliders + + Show sliders beside F-Curve channels (default False) + + :type: bool + + .. attribute:: use_auto_lock_translation_axis + + Automatically locks the movement of keyframes to the dominant axis (default False) + + :type: bool + + .. attribute:: use_auto_merge_keyframes + + Automatically merge nearby keyframes (default True) + + :type: bool + + .. attribute:: use_auto_normalization + + Automatically recalculate curve normalization on every curve edit (default True) + + :type: bool + + .. attribute:: use_normalization + + Display curves in normalized range from -1 to 1, for easier editing of multiple curves with different ranges (default False) + + :type: bool + + .. attribute:: use_only_selected_keyframe_handles + + Only show and edit handles of selected keyframes (default False) + + :type: bool + + .. attribute:: use_realtime_update + + When transforming keyframes, changes to the animation data are flushed to other views (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceImageEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceImageEditor.rst new file mode 100644 index 0000000..f044dbd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceImageEditor.rst @@ -0,0 +1,376 @@ +SpaceImageEditor(Space) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceImageEditor(Space) + + Image and UV editor space data + + .. attribute:: annotation + + Annotation data for this space + + :type: :class:`Annotation` | None + + .. attribute:: blend_factor + + Overlay blending factor of rasterized mask (in [0, 1], default 0.7) + + :type: float + + .. attribute:: cursor_location + + 2D cursor location for this view (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: display_channels + + Channels of the image to display (default ``'COLOR'``) + + - ``COLOR_ALPHA`` + Color & Alpha -- Display image with RGB colors and alpha transparency. + - ``COLOR`` + Color -- Display image with RGB colors. + - ``ALPHA`` + Alpha -- Display alpha transparency channel. + - ``Z_BUFFER`` + Z-Buffer -- Display Z-buffer associated with image (mapped from camera clip start to end). + - ``RED`` + Red. + - ``GREEN`` + Green. + - ``BLUE`` + Blue. + + :type: Literal['COLOR_ALPHA', 'COLOR', 'ALPHA', 'Z_BUFFER', 'RED', 'GREEN', 'BLUE'] + + .. attribute:: image + + Image displayed and edited in this space + + :type: :class:`Image` | None + + .. data:: image_user + + Parameters defining which layer, pass and frame of the image is displayed (readonly, never None) + + :type: :class:`ImageUser` + + .. attribute:: mask + + Mask displayed and edited in this space + + :type: :class:`Mask` | None + + .. attribute:: mask_display_type + + Display type for mask splines (default ``'OUTLINE'``) + + - ``OUTLINE`` + Outline -- Display white edges with black outline. + - ``DASH`` + Dash -- Display dashed black-white edges. + - ``BLACK`` + Black -- Display black edges. + - ``WHITE`` + White -- Display white edges. + + :type: Literal['OUTLINE', 'DASH', 'BLACK', 'WHITE'] + + .. attribute:: mask_overlay_mode + + Overlay mode of rasterized mask (default ``'ALPHACHANNEL'``) + + - ``ALPHACHANNEL`` + Alpha Channel -- Show alpha channel of the mask. + - ``COMBINED`` + Combined -- Combine space background image with the mask. + + :type: Literal['ALPHACHANNEL', 'COMBINED'] + + .. attribute:: mode + + Editing context being displayed (default ``'VIEW'``) + + :type: Literal[:ref:`rna_enum_space_image_mode_all_items`] + + .. data:: overlay + + Settings for display of overlays in the UV/Image editor (readonly, never None) + + :type: :class:`SpaceImageOverlay` + + .. attribute:: pivot_point + + Rotation/Scaling Pivot (default ``'BOUNDING_BOX_CENTER'``) + + - ``BOUNDING_BOX_CENTER`` + Bounding Box Center -- Pivot around bounding box center of selected object(s). + - ``CURSOR`` + 3D Cursor -- Pivot around the 3D cursor. + - ``INDIVIDUAL_ORIGINS`` + Individual Origins -- Pivot around each object's own origin. + - ``MEDIAN_POINT`` + Median Point -- Pivot around the median point of selected objects. + - ``ACTIVE_ELEMENT`` + Active Element -- Pivot around active object. + + :type: Literal['BOUNDING_BOX_CENTER', 'CURSOR', 'INDIVIDUAL_ORIGINS', 'MEDIAN_POINT', 'ACTIVE_ELEMENT'] + + .. data:: sample_histogram + + Sampled colors along line (readonly) + + :type: :class:`Histogram` | None + + .. data:: scopes + + Scopes to visualize image statistics (readonly) + + :type: :class:`Scopes` | None + + .. attribute:: show_annotation + + Show annotations for this view (default False) + + :type: bool + + .. attribute:: show_gizmo + + Show gizmos of all types (default True) + + :type: bool + + .. attribute:: show_gizmo_navigate + + Viewport navigation gizmo (default True) + + :type: bool + + .. attribute:: show_mask_overlay + + (default False) + + :type: bool + + .. attribute:: show_mask_spline + + (default True) + + :type: bool + + .. data:: show_maskedit + + Show Mask editing related properties (default False, readonly) + + :type: bool + + .. data:: show_paint + + Show paint related properties (default False, readonly) + + :type: bool + + .. attribute:: show_region_asset_shelf + + Display a region with assets that may currently be relevant (such as brushes in paint modes, or poses in Pose Mode) (default False) + + :type: bool + + .. attribute:: show_region_hud + + (default False) + + :type: bool + + .. attribute:: show_region_tool_header + + (default False) + + :type: bool + + .. attribute:: show_region_toolbar + + (default False) + + :type: bool + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. data:: show_render + + Show render related properties (default False, readonly) + + :type: bool + + .. attribute:: show_repeat + + Display the image repeated outside of the main view (default False) + + :type: bool + + .. attribute:: show_sequencer_scene + + Display the render result for the sequencer scene instead of the active scene (default False) + + :type: bool + + .. attribute:: show_stereo_3d + + Display the image in Stereo 3D (default False) + + :type: bool + + .. data:: show_uvedit + + Show UV editing related properties (default False, readonly) + + :type: bool + + .. attribute:: ui_mode + + Editing context being displayed (default ``'VIEW'``) + + - ``VIEW`` + View -- Inspect images or render results. + - ``PAINT`` + Paint -- Paint images in 2D. + - ``MASK`` + Mask -- View and edit masks. + + :type: Literal['VIEW', 'PAINT', 'MASK'] + + .. attribute:: use_image_pin + + Display current image regardless of object selection (default False) + + :type: bool + + .. attribute:: use_realtime_update + + Update other affected window spaces automatically to reflect changes during interactive operations such as transform (default False) + + :type: bool + + .. data:: uv_editor + + UV editor settings (readonly, never None) + + :type: :class:`SpaceUVEditor` + + .. data:: zoom + + Zoom factor (array of 2 items, in [-inf, inf], default (0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: zoom_percentage + + Zoom percentage (in [0.4, 80000], default 100.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceImageOverlay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceImageOverlay.rst new file mode 100644 index 0000000..9f1b755 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceImageOverlay.rst @@ -0,0 +1,108 @@ +SpaceImageOverlay(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SpaceImageOverlay(bpy_struct) + + Settings for display of overlays in the UV/Image editor + + .. attribute:: passepartout_alpha + + Opacity of the darkened overlay outside the render region (in [0, 1], default 0.5) + + :type: float + + .. attribute:: show_grid_background + + Show the grid background and borders (default False) + + :type: bool + + .. attribute:: show_overlays + + Display overlays like UV Maps and Metadata (default False) + + :type: bool + + .. attribute:: show_render_size + + Display the region of the final render (default False) + + :type: bool + + .. attribute:: show_text_info + + Display overlay text (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceImageEditor.overlay` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceInfo.rst new file mode 100644 index 0000000..6f5506a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceInfo.rst @@ -0,0 +1,137 @@ +SpaceInfo(Space) +================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceInfo(Space) + + Info space data + + .. attribute:: show_report_debug + + Display debug reporting info (default False) + + :type: bool + + .. attribute:: show_report_error + + Display error text (default False) + + :type: bool + + .. attribute:: show_report_info + + Display general information (default False) + + :type: bool + + .. attribute:: show_report_operator + + Display the operator log (default False) + + :type: bool + + .. attribute:: show_report_warning + + Display warnings (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNLA.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNLA.rst new file mode 100644 index 0000000..d7e00cf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNLA.rst @@ -0,0 +1,167 @@ +SpaceNLA(Space) +=============== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceNLA(Space) + + NLA editor space data + + .. data:: dopesheet + + Settings for filtering animation data (readonly) + + :type: :class:`DopeSheet` | None + + .. attribute:: show_local_markers + + Show action-local markers on the strips, useful when synchronizing timing across strips (default True) + + :type: bool + + .. attribute:: show_markers + + If any exists, show markers in a separate row at the bottom of the editor (default False) + + :type: bool + + .. attribute:: show_region_channels + + (default False) + + :type: bool + + .. attribute:: show_region_footer + + (default False) + + :type: bool + + .. attribute:: show_region_hud + + (default False) + + :type: bool + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. attribute:: show_seconds + + Show timing as a timecode instead of frames (default False) + + :type: bool + + .. attribute:: show_strip_curves + + Show influence F-Curves on strips (default True) + + :type: bool + + .. attribute:: use_realtime_update + + When transforming strips, changes to the animation data are flushed to other views (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNodeEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNodeEditor.rst new file mode 100644 index 0000000..302653a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNodeEditor.rst @@ -0,0 +1,296 @@ +SpaceNodeEditor(Space) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceNodeEditor(Space) + + Node editor space data + + .. attribute:: backdrop_channels + + Channels of the image to draw (default ``'COLOR'``) + + - ``COLOR_ALPHA`` + Color & Alpha -- Display image with RGB colors and alpha transparency. + - ``COLOR`` + Color -- Display image with RGB colors. + - ``ALPHA`` + Alpha -- Display alpha transparency channel. + - ``RED`` + Red. + - ``GREEN`` + Green. + - ``BLUE`` + Blue. + + :type: Literal['COLOR_ALPHA', 'COLOR', 'ALPHA', 'RED', 'GREEN', 'BLUE'] + + .. attribute:: backdrop_offset + + Backdrop offset (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: backdrop_zoom + + Backdrop zoom factor (in [0.01, inf], default 1.0) + + :type: float + + .. attribute:: cursor_location + + Location for adding new nodes (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: edit_tree + + Node tree being displayed and edited (readonly) + + :type: :class:`NodeTree` | None + + .. data:: id + + Data-block whose nodes are being edited (readonly) + + :type: :class:`ID` | None + + .. data:: id_from + + Data-block from which the edited data-block is linked (readonly) + + :type: :class:`ID` | None + + .. attribute:: insert_offset_direction + + Direction to offset nodes on insertion (default ``'RIGHT'``) + + :type: Literal['RIGHT', 'LEFT'] + + .. attribute:: node_tree + + Base node tree from context + + :type: :class:`NodeTree` | None + + .. attribute:: node_tree_sub_type + + :type: str + + .. data:: overlay + + Settings for display of overlays in the Node Editor (readonly, never None) + + :type: :class:`SpaceNodeOverlay` + + .. data:: path + + Path from the data-block to the currently edited node tree (default None, readonly) + + :type: :class:`SpaceNodeEditorPath`\ [:class:`NodeTreePath`] + + .. attribute:: pin + + Use the pinned node tree (default False) + + :type: bool + + .. attribute:: selected_node_group + + Node group to edit + + :type: :class:`NodeTree` | None + + .. attribute:: shader_type + + Type of data to take shader from (default ``'OBJECT'``) + + - ``OBJECT`` + Object -- Edit shader nodes from Object. + - ``WORLD`` + World -- Edit shader nodes from World. + + :type: Literal['OBJECT', 'WORLD'] + + .. attribute:: show_annotation + + Show annotations for this view (default False) + + :type: bool + + .. attribute:: show_backdrop + + Use active Viewer Node output as backdrop for compositing nodes (default False) + + :type: bool + + .. attribute:: show_gizmo + + Show gizmos of all types (default True) + + :type: bool + + .. attribute:: show_gizmo_active_node + + Context sensitive gizmo for the active node (default True) + + :type: bool + + .. attribute:: show_region_asset_shelf + + Display a region with assets that may currently be relevant (such as brushes in paint modes, or poses in Pose Mode) (default False) + + :type: bool + + .. attribute:: show_region_toolbar + + (default False) + + :type: bool + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. data:: supports_previews + + Whether the node editor's type supports displaying node previews (default False, readonly) + + :type: bool + + .. attribute:: texture_type + + Type of data to take texture from (default ``'WORLD'``) + + - ``WORLD`` + World -- Edit texture nodes from World. + - ``BRUSH`` + Brush -- Edit texture nodes from Brush. + + :type: Literal['WORLD', 'BRUSH'] + + .. attribute:: tree_type + + Node tree type to display and edit (default ``'DEFAULT'``) + + - ``GeometryNodeTree`` + Geometry Node Editor -- Advanced geometry editing and tools creation using nodes. + - ``CompositorNodeTree`` + Compositor -- Create effects and post-process renders, images, and the 3D Viewport. + - ``ShaderNodeTree`` + Shader Editor -- Edit materials, lights, and world shading using nodes. + - ``TextureNodeTree`` + Texture Node Editor -- Edit textures using nodes. + + :type: Literal['GeometryNodeTree', 'CompositorNodeTree', 'ShaderNodeTree', 'TextureNodeTree'] + + .. method:: cursor_location_from_region(x, y) + + Set the cursor location using region coordinates + + :param x: x, Region x coordinate (in [-inf, inf]) + :type x: int + :param y: y, Region y coordinate (in [-inf, inf]) + :type y: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNodeEditorPath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNodeEditorPath.rst new file mode 100644 index 0000000..747cf41 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNodeEditorPath.rst @@ -0,0 +1,110 @@ +SpaceNodeEditorPath(bpy_prop_collection) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: SpaceNodeEditorPath(bpy_prop_collection) + + Get the node tree path as a string + + .. data:: to_string + + (default "", readonly, never None) + + :type: str + + .. method:: clear() + + Reset the node tree path + + + .. method:: start(node_tree) + + Set the root node tree + + :param node_tree: Node Tree + :type node_tree: :class:`NodeTree` | None + + .. method:: append(node_tree, *, node=None) + + Append a node group tree to the path + + :param node_tree: Node Tree, Node tree to append to the node editor path + :type node_tree: :class:`NodeTree` | None + :param node: Node, Group node linking to this node tree (optional) + :type node: :class:`Node` | None + + .. method:: pop() + + Remove the last node tree from the path + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceNodeEditor.path` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNodeOverlay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNodeOverlay.rst new file mode 100644 index 0000000..41c13cc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceNodeOverlay.rst @@ -0,0 +1,131 @@ +SpaceNodeOverlay(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SpaceNodeOverlay(bpy_struct) + + Settings for display of overlays in the Node Editor + + .. attribute:: preview_shape + + Preview shape used by the node previews (default ``'FLAT'``) + + - ``FLAT`` + Flat -- Use the default flat previews. + - ``3D`` + 3D -- Use the material preview scene for the node previews. + + :type: Literal['FLAT', '3D'] + + .. attribute:: show_context_path + + Display breadcrumbs for the editor's context (default True) + + :type: bool + + .. attribute:: show_named_attributes + + Show when nodes are using named attributes (default True) + + :type: bool + + .. attribute:: show_overlays + + Display overlays like colored or dashed wires (default True) + + :type: bool + + .. attribute:: show_previews + + Display each node's preview if node is toggled (default False) + + :type: bool + + .. attribute:: show_reroute_auto_labels + + Label reroute nodes based on the label of connected reroute nodes (default False) + + :type: bool + + .. attribute:: show_timing + + Display each node's last execution time (default False) + + :type: bool + + .. attribute:: show_wire_color + + Color node links based on their connected sockets (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceNodeEditor.overlay` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceOutliner.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceOutliner.rst new file mode 100644 index 0000000..8c3bcd6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceOutliner.rst @@ -0,0 +1,330 @@ +SpaceOutliner(Space) +==================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceOutliner(Space) + + Outliner space data + + .. attribute:: display_mode + + Type of information to display (default ``'SCENES'``) + + - ``SCENES`` + Scenes -- Display scenes and their view layers, collections and objects. + - ``VIEW_LAYER`` + View Layer -- Display collections and objects in the view layer. + - ``SEQUENCE`` + Video Sequencer -- Display data belonging to the Video Sequencer. + - ``LIBRARIES`` + Blender File -- Display data of current file and linked libraries. + - ``DATA_API`` + Data API -- Display low level Blender data and its properties. + - ``LIBRARY_OVERRIDES`` + Library Overrides -- Display data-blocks with library overrides and list their overridden properties. + - ``ORPHAN_DATA`` + Unused Data -- Display data that is unused and/or will be lost when the file is reloaded. + + :type: Literal['SCENES', 'VIEW_LAYER', 'SEQUENCE', 'LIBRARIES', 'DATA_API', 'LIBRARY_OVERRIDES', 'ORPHAN_DATA'] + + .. attribute:: filter_id_type + + Data-block type to show (default ``'ACTION'``) + + :type: Literal[:ref:`rna_enum_id_type_items`] + + .. attribute:: filter_invert + + Invert the object state filter (default False) + + :type: bool + + .. attribute:: filter_state + + (default ``'ALL'``) + + - ``ALL`` + All -- Show all objects in the view layer. + - ``VISIBLE`` + Visible -- Show visible objects. + - ``SELECTED`` + Selected -- Show selected objects. + - ``ACTIVE`` + Active -- Show only the active object. + - ``SELECTABLE`` + Selectable -- Show only selectable objects. + + :type: Literal['ALL', 'VISIBLE', 'SELECTED', 'ACTIVE', 'SELECTABLE'] + + .. attribute:: filter_text + + Live search filtering string (default "", never None) + + :type: str + + .. attribute:: lib_override_view_mode + + Choose different visualizations of library override data (default ``'PROPERTIES'``) + + - ``PROPERTIES`` + Properties -- Display all local override data-blocks with their overridden properties and buttons to edit them. + - ``HIERARCHIES`` + Hierarchies -- Display library override relationships. + + :type: Literal['PROPERTIES', 'HIERARCHIES'] + + .. attribute:: show_mode_column + + Show the mode column for mode toggle and activation (default False) + + :type: bool + + .. attribute:: show_restrict_column_enable + + Exclude from view layer (default False) + + :type: bool + + .. attribute:: show_restrict_column_hide + + Temporarily hide in viewport (default False) + + :type: bool + + .. attribute:: show_restrict_column_holdout + + Holdout (default False) + + :type: bool + + .. attribute:: show_restrict_column_indirect_only + + Indirect only (default False) + + :type: bool + + .. attribute:: show_restrict_column_render + + Globally disable in renders (default False) + + :type: bool + + .. attribute:: show_restrict_column_select + + Selectable (default False) + + :type: bool + + .. attribute:: show_restrict_column_viewport + + Globally disable in viewports (default False) + + :type: bool + + .. attribute:: use_filter_case_sensitive + + Only use case sensitive matches of search string (default False) + + :type: bool + + .. attribute:: use_filter_children + + Show children (default True) + + :type: bool + + .. attribute:: use_filter_collection + + Show collections (default True) + + :type: bool + + .. attribute:: use_filter_complete + + Only use complete matches of search string (default False) + + :type: bool + + .. attribute:: use_filter_id_type + + Show only data-blocks of one type (default False) + + :type: bool + + .. attribute:: use_filter_lib_override_system + + For libraries with overrides created, show the overridden values that are defined/controlled automatically (e.g. to make users of an overridden data-block point to the override data, not the original linked data) (default False) + + :type: bool + + .. attribute:: use_filter_object + + Show objects (default True) + + :type: bool + + .. attribute:: use_filter_object_armature + + Show armature objects (default True) + + :type: bool + + .. attribute:: use_filter_object_camera + + Show camera objects (default True) + + :type: bool + + .. attribute:: use_filter_object_content + + Show what is inside the objects elements (default True) + + :type: bool + + .. attribute:: use_filter_object_empty + + Show empty objects (default True) + + :type: bool + + .. attribute:: use_filter_object_grease_pencil + + Show Grease Pencil objects (default True) + + :type: bool + + .. attribute:: use_filter_object_light + + Show light objects (default True) + + :type: bool + + .. attribute:: use_filter_object_mesh + + Show mesh objects (default True) + + :type: bool + + .. attribute:: use_filter_object_others + + Show curves, lattices, light probes, fonts, ... (default True) + + :type: bool + + .. attribute:: use_filter_view_layers + + Show all the view layers (default True) + + :type: bool + + .. attribute:: use_sort_alpha + + (default True) + + :type: bool + + .. attribute:: use_sync_select + + Sync outliner selection with other editors (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpacePreferences.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpacePreferences.rst new file mode 100644 index 0000000..34a1781 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpacePreferences.rst @@ -0,0 +1,142 @@ +SpacePreferences(Space) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpacePreferences(Space) + + Blender preferences space data + + .. attribute:: filter_text + + Search term for filtering in the UI (default "", never None) + + :type: str + + .. attribute:: filter_type + + Filter method (default ``'NAME'``) + + - ``NAME`` + Name -- Filter based on the operator name. + - ``KEY`` + Key-Binding -- Filter based on key bindings. + + :type: Literal['NAME', 'KEY'] + + .. attribute:: search_filter + + Live search filtering string (default "", never None) + + :type: str + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. data:: tab_search_results + + Whether or not each visible tab has a search result (default False, readonly) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceProperties.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceProperties.rst new file mode 100644 index 0000000..e0a2b5b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceProperties.rst @@ -0,0 +1,309 @@ +SpaceProperties(Space) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceProperties(Space) + + Properties space data + + .. attribute:: context + + (default ``'RENDER'``) + + - ``TOOL`` + Tool -- Active Tool and Workspace settings. + - ``SCENE`` + Scene -- Scene Properties. + - ``RENDER`` + Render -- Render Properties. + - ``OUTPUT`` + Output -- Output Properties. + - ``VIEW_LAYER`` + View Layer -- View Layer Properties. + - ``WORLD`` + World -- World Properties. + - ``COLLECTION`` + Collection -- Collection Properties. + - ``OBJECT`` + Object -- Object Properties. + - ``CONSTRAINT`` + Constraints -- Object Constraint Properties. + - ``MODIFIER`` + Modifiers -- Modifier Properties. + - ``DATA`` + Data -- Object Data Properties. + - ``BONE`` + Bone -- Bone Properties. + - ``BONE_CONSTRAINT`` + Bone Constraints -- Bone Constraint Properties. + - ``MATERIAL`` + Material -- Material Properties. + - ``TEXTURE`` + Texture -- Texture Properties. + - ``PARTICLES`` + Particles -- Particle Properties. + - ``PHYSICS`` + Physics -- Physics Properties. + - ``SHADERFX`` + Effects -- Visual Effects Properties. + - ``STRIP`` + Strip -- Strip Properties. + - ``STRIP_MODIFIER`` + Strip Modifiers -- Strip Modifier Properties. + + :type: Literal['TOOL', 'SCENE', 'RENDER', 'OUTPUT', 'VIEW_LAYER', 'WORLD', 'COLLECTION', 'OBJECT', 'CONSTRAINT', 'MODIFIER', 'DATA', 'BONE', 'BONE_CONSTRAINT', 'MATERIAL', 'TEXTURE', 'PARTICLES', 'PHYSICS', 'SHADERFX', 'STRIP', 'STRIP_MODIFIER'] + + .. attribute:: outliner_sync + + Change to the corresponding tab when outliner data icons are clicked (default ``'AUTO'``) + + - ``ALWAYS`` + Always -- Always change tabs when clicking an icon in an outliner. + - ``NEVER`` + Never -- Never change tabs when clicking an icon in an outliner. + - ``AUTO`` + Auto -- Change tabs only when this editor shares a border with an outliner. + + :type: Literal['ALWAYS', 'NEVER', 'AUTO'] + + .. attribute:: pin_id + + :type: :class:`ID` | None + + .. attribute:: search_filter + + Live search filtering string (default "", never None) + + :type: str + + .. attribute:: show_properties_bone + + (default False) + + :type: bool + + .. attribute:: show_properties_bone_constraints + + (default False) + + :type: bool + + .. attribute:: show_properties_collection + + (default False) + + :type: bool + + .. attribute:: show_properties_constraints + + (default False) + + :type: bool + + .. attribute:: show_properties_data + + (default False) + + :type: bool + + .. attribute:: show_properties_effects + + (default False) + + :type: bool + + .. attribute:: show_properties_material + + (default False) + + :type: bool + + .. attribute:: show_properties_modifiers + + (default False) + + :type: bool + + .. attribute:: show_properties_object + + (default False) + + :type: bool + + .. attribute:: show_properties_output + + (default False) + + :type: bool + + .. attribute:: show_properties_particles + + (default False) + + :type: bool + + .. attribute:: show_properties_physics + + (default False) + + :type: bool + + .. attribute:: show_properties_render + + (default False) + + :type: bool + + .. attribute:: show_properties_scene + + (default False) + + :type: bool + + .. attribute:: show_properties_strip + + (default False) + + :type: bool + + .. attribute:: show_properties_strip_modifier + + (default False) + + :type: bool + + .. attribute:: show_properties_texture + + (default False) + + :type: bool + + .. attribute:: show_properties_tool + + (default False) + + :type: bool + + .. attribute:: show_properties_view_layer + + (default False) + + :type: bool + + .. attribute:: show_properties_world + + (default False) + + :type: bool + + .. data:: tab_search_results + + Whether or not each visible tab has a search result (default False, readonly) + + :type: bool + + .. attribute:: use_pin_id + + Use the pinned context (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceSequenceEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceSequenceEditor.rst new file mode 100644 index 0000000..d52c790 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceSequenceEditor.rst @@ -0,0 +1,311 @@ +SpaceSequenceEditor(Space) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceSequenceEditor(Space) + + Sequence editor space data + + .. attribute:: annotation + + Annotation data for this Preview region + + :type: :class:`Annotation` | None + + .. data:: cache_overlay + + Settings for display of overlays (readonly, never None) + + :type: :class:`SequencerCacheOverlay` + + .. attribute:: cursor_location + + 2D cursor location for this view (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: display_channel + + Preview all channels less than or equal to this value. 0 shows every channel, and negative values climb that many meta-strip levels if applicable, showing every channel there. (in [-5, 128], default 0) + + :type: int + + .. attribute:: display_mode + + View mode to use for displaying sequencer output (default ``'IMAGE'``) + + :type: Literal['IMAGE', 'WAVEFORM', 'RGB_PARADE', 'VECTOR_SCOPE', 'HISTOGRAM'] + + .. attribute:: overlay_frame_type + + Overlay display method (default ``'RECTANGLE'``) + + - ``RECTANGLE`` + Rectangle -- Show rectangle area overlay. + - ``REFERENCE`` + Reference -- Show reference frame only. + - ``CURRENT`` + Current -- Show current frame only. + + :type: Literal['RECTANGLE', 'REFERENCE', 'CURRENT'] + + .. attribute:: preview_channels + + Channels of the preview to display (default ``'COLOR'``) + + - ``COLOR_ALPHA`` + Color & Alpha -- Display image with RGB colors and alpha transparency. + - ``COLOR`` + Color -- Display image with RGB colors. + + :type: Literal['COLOR_ALPHA', 'COLOR'] + + .. data:: preview_overlay + + Settings for display of overlays (readonly, never None) + + :type: :class:`SequencerPreviewOverlay` + + .. attribute:: proxy_render_size + + Display preview using full resolution or different proxy resolutions (default ``'SCENE'``) + + :type: Literal['NONE', 'SCENE', 'PROXY_25', 'PROXY_50', 'PROXY_75', 'PROXY_100'] + + .. attribute:: show_frames + + Display frames rather than seconds (default False) + + :type: bool + + .. attribute:: show_gizmo + + Show gizmos of all types (default True) + + :type: bool + + .. attribute:: show_gizmo_context + + Context sensitive gizmos for the active item (default True) + + :type: bool + + .. attribute:: show_gizmo_navigate + + Viewport navigation gizmo (default True) + + :type: bool + + .. attribute:: show_gizmo_tool + + Active tool gizmo (default True) + + :type: bool + + .. attribute:: show_markers + + If any exists, show markers in a separate row at the bottom of the editor (default False) + + :type: bool + + .. attribute:: show_overexposed + + Show overexposed areas with zebra stripes (in [0, 110], default 0) + + :type: int + + .. attribute:: show_overlays + + (default False) + + :type: bool + + .. attribute:: show_region_channels + + (default False) + + :type: bool + + .. attribute:: show_region_footer + + (default False) + + :type: bool + + .. attribute:: show_region_hud + + (default False) + + :type: bool + + .. attribute:: show_region_tool_header + + (default False) + + :type: bool + + .. attribute:: show_region_toolbar + + (default False) + + :type: bool + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. attribute:: show_seconds + + Show timing as a timecode instead of frames (default True) + + :type: bool + + .. attribute:: show_transform_preview + + Show a preview of the start or end frame of a strip while transforming its respective handle (default False) + + :type: bool + + .. data:: timeline_overlay + + Settings for display of overlays (readonly, never None) + + :type: :class:`SequencerTimelineOverlay` + + .. attribute:: use_clamp_view + + Limit timeline height to maximum used channel slot (default False) + + :type: bool + + .. attribute:: use_marker_sync + + Transform markers as well as strips (default False) + + :type: bool + + .. attribute:: use_proxies + + Use optimized files for faster scrubbing when available (default False) + + :type: bool + + .. attribute:: use_zoom_to_fit + + Automatically zoom preview image to make it fully fit the region (default False) + + :type: bool + + .. attribute:: view_type + + Type of the Sequencer view (sequencer, preview or both) (default ``'SEQUENCER'``) + + :type: Literal[:ref:`rna_enum_space_sequencer_view_type_items`] + + .. attribute:: zoom_percentage + + Zoom percentage (in [0.4, 80000], default 100.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceSpreadsheet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceSpreadsheet.rst new file mode 100644 index 0000000..065615f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceSpreadsheet.rst @@ -0,0 +1,209 @@ +SpaceSpreadsheet(Space) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceSpreadsheet(Space) + + Spreadsheet space data + + .. attribute:: attribute_domain + + Attribute domain to display (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. attribute:: geometry_component_type + + Part of the geometry to display data from (default ``'MESH'``) + + :type: Literal[:ref:`rna_enum_geometry_component_type_items`] + + .. attribute:: geometry_item_type + + Item Type (default ``'DOMAIN'``) + + - ``DOMAIN`` + Domain -- Domain data. + - ``BUNDLE`` + Bundle -- Bundle data. + + :type: Literal['DOMAIN', 'BUNDLE'] + + .. attribute:: is_pinned + + Context path is pinned (default False) + + :type: bool + + .. attribute:: object_eval_state + + (default ``'EVALUATED'``) + + - ``EVALUATED`` + Evaluated -- Use data from fully or partially evaluated object. + - ``ORIGINAL`` + Original -- Use data from original object without any modifiers applied. + - ``VIEWER_NODE`` + Viewer Node -- Use intermediate data from viewer node. + + :type: Literal['EVALUATED', 'ORIGINAL', 'VIEWER_NODE'] + + .. data:: row_filters + + Filters to remove rows from the displayed data (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`SpreadsheetRowFilter`] + + .. attribute:: show_internal_attributes + + Display attributes with names starting with a period that are meant for internal use (default False) + + :type: bool + + .. attribute:: show_only_selected + + Only include rows that correspond to selected elements (default False) + + :type: bool + + .. attribute:: show_region_channels + + (default False) + + :type: bool + + .. attribute:: show_region_footer + + (default False) + + :type: bool + + .. attribute:: show_region_toolbar + + (default False) + + :type: bool + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. data:: tables + + Persistent data for the tables shown in this spreadsheet editor (default None, readonly) + + :type: :class:`SpreadsheetTables`\ [:class:`SpreadsheetTable`] + + .. attribute:: use_filter + + (default False) + + :type: bool + + .. data:: viewer_path + + Path to the data that is displayed in the spreadsheet (readonly) + + :type: :class:`ViewerPath` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceTextEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceTextEditor.rst new file mode 100644 index 0000000..3b894b4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceTextEditor.rst @@ -0,0 +1,244 @@ +SpaceTextEditor(Space) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceTextEditor(Space) + + Text editor space data + + .. attribute:: find_text + + Text to search for with the find tool (default "", never None) + + :type: str + + .. attribute:: font_size + + Font size to use for displaying the text (in [1, 256], default 0) + + :type: int + + .. attribute:: margin_column + + Column number to show right margin at (in [0, 1024], default 0) + + :type: int + + .. attribute:: replace_text + + Text to replace selected text with using the replace tool (default "", never None) + + :type: str + + .. attribute:: show_line_highlight + + Highlight the current line (default False) + + :type: bool + + .. attribute:: show_line_numbers + + Show line numbers next to the text (default False) + + :type: bool + + .. attribute:: show_margin + + Show right margin (default False) + + :type: bool + + .. attribute:: show_region_footer + + (default False) + + :type: bool + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. attribute:: show_syntax_highlight + + Syntax highlight for scripting (default False) + + :type: bool + + .. attribute:: show_word_wrap + + Wrap words if there is not enough horizontal space (default False) + + :type: bool + + .. attribute:: tab_width + + Number of spaces to display tabs with (in [2, 8], default 0) + + :type: int + + .. attribute:: text + + Text displayed and edited in this space + + :type: :class:`Text` | None + + .. attribute:: top + + Top line visible (in [0, inf], default 0) + + :type: int + + .. attribute:: use_find_all + + Search in all text data-blocks, instead of only the active one (default False) + + :type: bool + + .. attribute:: use_find_wrap + + Search again from the start of the file when reaching the end (default False) + + :type: bool + + .. attribute:: use_live_edit + + Run Python while editing (default False) + + :type: bool + + .. attribute:: use_match_case + + Search string is sensitive to uppercase and lowercase letters (default False) + + :type: bool + + .. attribute:: use_overwrite + + Overwrite characters when typing rather than inserting them (default False) + + :type: bool + + .. data:: visible_lines + + Amount of lines that can be visible in current editor (in [-inf, inf], default 0, readonly) + + :type: int + + .. method:: is_syntax_highlight_supported() + + Returns True if the editor supports syntax highlighting for the current text data-block + + :rtype: bool + + .. method:: region_location_from_cursor(line, column) + + Retrieve the region position from the given line and character position + + :param line: Line, Line index (in [-inf, inf]) + :type line: int + :param column: Column, Column index (in [-inf, inf]) + :type column: int + :return: Region coordinates (array of 2 items, in [-1, inf]) + :rtype: :class:`bpy_prop_array`\ [int] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceUVEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceUVEditor.rst new file mode 100644 index 0000000..ec4269e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceUVEditor.rst @@ -0,0 +1,220 @@ +SpaceUVEditor(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SpaceUVEditor(bpy_struct) + + UV editor data for the image editor space + + .. attribute:: custom_grid_subdivisions + + Number of grid units in UV space that make one UV Unit (array of 2 items, in [1, 5000], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: display_stretch_type + + Type of stretch to display (default ``'ANGLE'``) + + - ``ANGLE`` + Angle -- Angular distortion between UV and 3D angles. + - ``AREA`` + Area -- Area distortion between UV and 3D faces. + + :type: Literal['ANGLE', 'AREA'] + + .. attribute:: edge_display_type + + Display style for UV edges (default ``'OUTLINE'``) + + - ``OUTLINE`` + Outline -- Display white edges with black outline. + - ``DASH`` + Dash -- Display dashed black-white edges. + - ``BLACK`` + Black -- Display black edges. + - ``WHITE`` + White -- Display white edges. + + :type: Literal['OUTLINE', 'DASH', 'BLACK', 'WHITE'] + + .. attribute:: grid_shape_source + + Specify source for the grid shape (default ``'DYNAMIC'``) + + - ``DYNAMIC`` + Dynamic -- Dynamic grid. + - ``FIXED`` + Fixed -- Manually set grid divisions. + - ``PIXEL`` + Pixel -- Grid aligns with pixels from image. + + :type: Literal['DYNAMIC', 'FIXED', 'PIXEL'] + + .. attribute:: lock_bounds + + Constraint to stay within the image bounds while editing (default False) + + :type: bool + + .. attribute:: pixel_round_mode + + Round UVs to pixels while editing (default ``'DISABLED'``) + + - ``DISABLED`` + Disabled -- Don't round to pixels. + - ``CORNER`` + Corner -- Round to pixel corners. + - ``CENTER`` + Center -- Round to pixel centers. + + :type: Literal['DISABLED', 'CORNER', 'CENTER'] + + .. attribute:: show_faces + + Display faces over the image (default True) + + :type: bool + + .. attribute:: show_grid_over_image + + Show the grid over the image (default True) + + :type: bool + + .. attribute:: show_metadata + + Display metadata properties of the image (default False) + + :type: bool + + .. attribute:: show_modified_edges + + Display edges after modifiers are applied (default False) + + :type: bool + + .. attribute:: show_pixel_coords + + Display UV coordinates in pixels rather than from 0.0 to 1.0 (default True) + + :type: bool + + .. attribute:: show_stretch + + Display faces colored according to the difference in shape between UVs and their 3D coordinates (blue for low distortion, red for high distortion) (default False) + + :type: bool + + .. attribute:: show_uv + + Display overlay of UV layer (default True) + + :type: bool + + .. attribute:: stretch_opacity + + Opacity of the UV Stretch overlay (in [0, 1], default 0.0) + + :type: float + + .. attribute:: tile_grid_shape + + How many tiles will be shown in the background (array of 2 items, in [1, 100], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: use_live_unwrap + + Continuously unwrap the selected UV island while transforming pinned vertices (default False) + + :type: bool + + .. attribute:: uv_edge_opacity + + Opacity of edges in UV overlays (in [0, 1], default 0.0) + + :type: float + + .. attribute:: uv_face_opacity + + Opacity of faces in UV overlays (in [0, 1], default 0.0) + + :type: float + + .. attribute:: uv_opacity + + Opacity of UV overlays (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceImageEditor.uv_editor` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceView3D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceView3D.rst new file mode 100644 index 0000000..7e0e82a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpaceView3D.rst @@ -0,0 +1,635 @@ +SpaceView3D(Space) +================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Space` + +.. class:: SpaceView3D(Space) + + 3D View space data + + .. attribute:: camera + + Active camera used in this view (when unlocked from the scene's active camera) + + :type: :class:`Object` | None + + .. attribute:: clip_end + + 3D View far clipping distance (in [1e-06, inf], default 1000.0) + + :type: float + + .. attribute:: clip_start + + 3D View near clipping distance (perspective view only) (in [1e-06, inf], default 0.01) + + :type: float + + .. data:: icon_from_show_object_viewport + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: lens + + Viewport lens angle (in [1, 250], default 50.0) + + :type: float + + .. data:: local_view + + Display an isolated subset of objects, apart from the scene visibility (readonly) + + :type: :class:`SpaceView3D` | None + + .. attribute:: lock_bone + + 3D View center is locked to this bone's position (default "", never None) + + :type: str + + .. attribute:: lock_camera + + Enable view navigation within the camera view (default False) + + :type: bool + + .. attribute:: lock_cursor + + 3D View center is locked to the cursor's position (default False) + + :type: bool + + .. attribute:: lock_object + + 3D View center is locked to this object's position + + :type: :class:`Object` | None + + .. attribute:: mirror_xr_session + + Synchronize the viewer perspective of virtual reality sessions with this 3D viewport (default False) + + :type: bool + + .. data:: overlay + + Settings for display of overlays in the 3D viewport (readonly, never None) + + :type: :class:`View3DOverlay` + + .. data:: region_3d + + 3D region for this space. When the space is in quad view, the camera region (readonly) + + :type: :class:`RegionView3D` | None + + .. data:: region_quadviews + + 3D regions (the third one defines quad view settings, the fourth one is same as 'region_3d') (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`RegionView3D`] + + .. attribute:: render_border_max_x + + Maximum X value for the render region (in [0, 1], default 0.0) + + :type: float + + .. attribute:: render_border_max_y + + Maximum Y value for the render region (in [0, 1], default 0.0) + + :type: float + + .. attribute:: render_border_min_x + + Minimum X value for the render region (in [0, 1], default 0.0) + + :type: float + + .. attribute:: render_border_min_y + + Minimum Y value for the render region (in [0, 1], default 0.0) + + :type: float + + .. data:: shading + + Settings for shading in the 3D viewport (readonly, never None) + + :type: :class:`View3DShading` + + .. attribute:: show_bundle_names + + Show names for reconstructed tracks objects (default False) + + :type: bool + + .. attribute:: show_camera_path + + Show reconstructed camera path (default False) + + :type: bool + + .. attribute:: show_gizmo + + Show gizmos of all types (default True) + + :type: bool + + .. attribute:: show_gizmo_camera_dof_distance + + Gizmo to adjust camera focus distance (depends on limits display) (default False) + + :type: bool + + .. attribute:: show_gizmo_camera_lens + + Gizmo to adjust camera focal length or orthographic scale (default False) + + :type: bool + + .. attribute:: show_gizmo_context + + Context sensitive gizmos for the active item (default True) + + :type: bool + + .. attribute:: show_gizmo_empty_force_field + + Gizmo to adjust the force field (default False) + + :type: bool + + .. attribute:: show_gizmo_empty_image + + Gizmo to adjust image size and position (default False) + + :type: bool + + .. attribute:: show_gizmo_light_look_at + + Gizmo to adjust the direction of the light (default False) + + :type: bool + + .. attribute:: show_gizmo_light_size + + Gizmo to adjust spot and area size (default False) + + :type: bool + + .. attribute:: show_gizmo_modifier + + Gizmos for the active modifier (default True) + + :type: bool + + .. attribute:: show_gizmo_navigate + + Viewport navigation gizmo (default True) + + :type: bool + + .. attribute:: show_gizmo_object_rotate + + Gizmo to adjust rotation (default False) + + :type: bool + + .. attribute:: show_gizmo_object_scale + + Gizmo to adjust scale (default False) + + :type: bool + + .. attribute:: show_gizmo_object_translate + + Gizmo to adjust location (default False) + + :type: bool + + .. attribute:: show_gizmo_tool + + Active tool gizmo (default True) + + :type: bool + + .. attribute:: show_object_select_armature + + Allow selection of armatures (default True) + + :type: bool + + .. attribute:: show_object_select_camera + + Allow selection of cameras (default True) + + :type: bool + + .. attribute:: show_object_select_curve + + Allow selection of curves (default True) + + :type: bool + + .. attribute:: show_object_select_curves + + Allow selection of hair curves (default True) + + :type: bool + + .. attribute:: show_object_select_empty + + Allow selection of empties (default True) + + :type: bool + + .. attribute:: show_object_select_font + + Allow selection of text objects (default True) + + :type: bool + + .. attribute:: show_object_select_grease_pencil + + Allow selection of Grease Pencil objects (default True) + + :type: bool + + .. attribute:: show_object_select_lattice + + Allow selection of lattices (default True) + + :type: bool + + .. attribute:: show_object_select_light + + Allow selection of lights (default True) + + :type: bool + + .. attribute:: show_object_select_light_probe + + Allow selection of light probes (default True) + + :type: bool + + .. attribute:: show_object_select_mesh + + Allow selection of mesh objects (default True) + + :type: bool + + .. attribute:: show_object_select_meta + + Allow selection of metaballs (default True) + + :type: bool + + .. attribute:: show_object_select_pointcloud + + Allow selection of point clouds (default True) + + :type: bool + + .. attribute:: show_object_select_speaker + + Allow selection of speakers (default True) + + :type: bool + + .. attribute:: show_object_select_surf + + Allow selection of surfaces (default True) + + :type: bool + + .. attribute:: show_object_select_volume + + Allow selection of volumes (default True) + + :type: bool + + .. attribute:: show_object_viewport_armature + + Show armatures (default True) + + :type: bool + + .. attribute:: show_object_viewport_camera + + Show cameras (default True) + + :type: bool + + .. attribute:: show_object_viewport_curve + + Show curves (default True) + + :type: bool + + .. attribute:: show_object_viewport_curves + + Show hair curves (default True) + + :type: bool + + .. attribute:: show_object_viewport_empty + + Show empties (default True) + + :type: bool + + .. attribute:: show_object_viewport_font + + Show text objects (default True) + + :type: bool + + .. attribute:: show_object_viewport_grease_pencil + + Show Grease Pencil objects (default True) + + :type: bool + + .. attribute:: show_object_viewport_lattice + + Show lattices (default True) + + :type: bool + + .. attribute:: show_object_viewport_light + + Show lights (default True) + + :type: bool + + .. attribute:: show_object_viewport_light_probe + + Show light probes (default True) + + :type: bool + + .. attribute:: show_object_viewport_mesh + + Show mesh objects (default True) + + :type: bool + + .. attribute:: show_object_viewport_meta + + Show metaballs (default True) + + :type: bool + + .. attribute:: show_object_viewport_pointcloud + + Show point clouds (default True) + + :type: bool + + .. attribute:: show_object_viewport_speaker + + Show speakers (default True) + + :type: bool + + .. attribute:: show_object_viewport_surf + + Show surfaces (default True) + + :type: bool + + .. attribute:: show_object_viewport_volume + + Show volumes (default True) + + :type: bool + + .. attribute:: show_reconstruction + + Display reconstruction data from active movie clip (default True) + + :type: bool + + .. attribute:: show_region_asset_shelf + + Display a region with assets that may currently be relevant (such as brushes in paint modes, or poses in Pose Mode) (default False) + + :type: bool + + .. attribute:: show_region_hud + + (default False) + + :type: bool + + .. attribute:: show_region_tool_header + + (default False) + + :type: bool + + .. attribute:: show_region_toolbar + + (default False) + + :type: bool + + .. attribute:: show_region_ui + + (default False) + + :type: bool + + .. attribute:: show_stereo_3d_cameras + + Show the left and right cameras (default False) + + :type: bool + + .. attribute:: show_stereo_3d_convergence_plane + + Show the stereo 3D convergence plane (default True) + + :type: bool + + .. attribute:: show_stereo_3d_volume + + Show the stereo 3D frustum volume (default False) + + :type: bool + + .. attribute:: show_viewer + + Display non-final geometry from viewer nodes (default True) + + :type: bool + + .. attribute:: stereo_3d_camera + + (default ``'S3D'``) + + :type: Literal['LEFT', 'RIGHT', 'S3D'] + + .. attribute:: stereo_3d_convergence_plane_alpha + + Opacity (alpha) of the convergence plane (in [0, 1], default 0.15) + + :type: float + + .. data:: stereo_3d_eye + + Current stereo eye being displayed (default ``'LEFT_EYE'``, readonly) + + :type: Literal['LEFT_EYE', 'RIGHT_EYE'] + + .. attribute:: stereo_3d_volume_alpha + + Opacity (alpha) of the cameras' frustum volume (in [0, 1], default 0.05) + + :type: float + + .. attribute:: tracks_display_size + + Display size of tracks from reconstructed data (in [0, inf], default 0.2) + + :type: float + + .. attribute:: tracks_display_type + + Viewport display style for tracks (default ``'PLAIN_AXES'``) + + :type: Literal['PLAIN_AXES', 'ARROWS', 'SINGLE_ARROW', 'CIRCLE', 'CUBE', 'SPHERE', 'CONE'] + + .. attribute:: use_local_camera + + Use a local camera in this view, rather than scene's active camera (default False) + + :type: bool + + .. attribute:: use_local_collections + + Display a different set of collections in this viewport (default False) + + :type: bool + + .. attribute:: use_render_border + + Use a region within the frame size for rendered viewport (when not viewing through the camera) (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: 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. + + :param callback: + A function that will be called when the region is drawn. + It gets the specified arguments as input, it's return value is ignored. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :param draw_type: 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. + :type draw_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_handler_remove(handler, region_type) + + Remove a draw handler that was added previously. + + :param handler: The draw handler that should be removed. + :type handler: object + :param region_type: Region type the callback was added to. + :type region_type: str + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Space.type` + - :class:`Space.show_locked_time` + - :class:`Space.show_region_header` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Space.bl_rna_get_subclass` + - :class:`Space.bl_rna_get_subclass_py` + - :class:`Space.draw_handler_add` + - :class:`Space.draw_handler_remove` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.local_view_get` + - :class:`Object.local_view_set` + - :class:`Object.visible_get` + - :class:`Object.visible_in_viewport_get` + - :class:`SpaceView3D.local_view` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Speaker.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Speaker.rst new file mode 100644 index 0000000..5b7050f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Speaker.rst @@ -0,0 +1,199 @@ +Speaker(ID) +=========== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Speaker(ID) + + Speaker data-block for 3D audio speaker objects + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: attenuation + + How strong the distance affects volume, depending on distance model (in [0, inf], default 1.0) + + :type: float + + .. attribute:: cone_angle_inner + + Angle of the inner cone, in degrees, inside the cone the volume is 100% (in [0, 360], default 360.0) + + :type: float + + .. attribute:: cone_angle_outer + + Angle of the outer cone, in degrees, outside this cone the volume is the outer cone volume, between inner and outer cone the volume is interpolated (in [0, 360], default 360.0) + + :type: float + + .. attribute:: cone_volume_outer + + Volume outside the outer cone (in [0, 1], default 1.0) + + :type: float + + .. attribute:: distance_max + + Maximum distance for volume calculation, no matter how far away the object is (in [0, inf], default 3.40282e+38) + + :type: float + + .. attribute:: distance_reference + + Reference distance at which volume is 100% (in [0, inf], default 1.0) + + :type: float + + .. attribute:: muted + + Mute the speaker (default False) + + :type: bool + + .. attribute:: pitch + + Playback pitch of the sound (in [0.1, 10], default 1.0) + + :type: float + + .. attribute:: sound + + Sound data-block used by this speaker + + :type: :class:`Sound` | None + + .. attribute:: volume + + How loud the sound is (in [0, 1], default 1.0) + + :type: float + + .. attribute:: volume_max + + Maximum volume, no matter how near the object is (in [0, 1], default 1.0) + + :type: float + + .. attribute:: volume_min + + Minimum volume, no matter how far away the object is (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.speaker` + - :class:`BlendData.speakers` + - :class:`BlendDataSpeakers.new` + - :class:`BlendDataSpeakers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpeedControlStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpeedControlStrip.rst new file mode 100644 index 0000000..51da878 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpeedControlStrip.rst @@ -0,0 +1,177 @@ +SpeedControlStrip(EffectStrip) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: SpeedControlStrip(EffectStrip) + + Sequence strip to control the speed of other strips + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: speed_control + + Speed control method (default ``'STRETCH'``) + + - ``STRETCH`` + Stretch -- Adjust input playback speed, so its duration fits strip length. + - ``MULTIPLY`` + Multiply -- Multiply with the speed factor. + - ``FRAME_NUMBER`` + Frame Number -- Frame number of the input strip. + - ``LENGTH`` + Length -- Percentage of the input strip length. + + :type: Literal['STRETCH', 'MULTIPLY', 'FRAME_NUMBER', 'LENGTH'] + + .. attribute:: speed_factor + + Multiply the current speed of the strip with this number or remap current frame to this frame (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: speed_frame_number + + Frame number of input strip (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: speed_length + + Percentage of input strip length (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: use_frame_interpolate + + Do crossfade blending between current and next frame (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Spline.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Spline.rst new file mode 100644 index 0000000..0b99b2f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Spline.rst @@ -0,0 +1,225 @@ +Spline(bpy_struct) +================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Spline(bpy_struct) + + Element of a curve, either NURBS, Bézier or Polyline or a character with text objects + + .. data:: bezier_points + + Collection of points for Bézier curves only (default None, readonly) + + :type: :class:`SplineBezierPoints`\ [:class:`BezierSplinePoint`] + + .. data:: character_index + + Location of this character in the text data (only for text curves) (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: hide + + Hide this curve in Edit mode (default False) + + :type: bool + + .. attribute:: material_index + + Material slot index of this curve (in [0, 32767], default 0) + + :type: int + + .. attribute:: order_u + + NURBS order in the U direction. Higher values make each point influence a greater area, but have worse performance. (in [2, 64], default 0) + + :type: int + + .. attribute:: order_v + + NURBS order in the V direction. Higher values make each point influence a greater area, but have worse performance. (in [2, 64], default 0) + + :type: int + + .. data:: point_count_u + + Total number points for the curve or surface in the U direction (in [0, inf], default 0, readonly) + + :type: int + + .. data:: point_count_v + + Total number points for the surface on the V direction (in [0, inf], default 0, readonly) + + :type: int + + .. data:: points + + Collection of points that make up this poly or nurbs spline (default None, readonly) + + :type: :class:`SplinePoints`\ [:class:`SplinePoint`] + + .. attribute:: radius_interpolation + + The type of radius interpolation for Bézier curves (default ``'LINEAR'``) + + :type: Literal['LINEAR', 'CARDINAL', 'BSPLINE', 'EASE'] + + .. attribute:: resolution_u + + Curve or Surface subdivisions per segment (in [1, 1024], default 0) + + :type: int + + .. attribute:: resolution_v + + Surface subdivisions per segment (in [1, 1024], default 0) + + :type: int + + .. attribute:: tilt_interpolation + + The type of tilt interpolation for 3D, Bézier curves (default ``'LINEAR'``) + + :type: Literal['LINEAR', 'CARDINAL', 'BSPLINE', 'EASE'] + + .. attribute:: type + + The interpolation type for this curve element (default ``'POLY'``) + + :type: Literal['POLY', 'BEZIER', 'NURBS'] + + .. attribute:: use_bezier_u + + Make this nurbs curve or surface act like a Bézier spline in the U direction (default False) + + :type: bool + + .. attribute:: use_bezier_v + + Make this nurbs surface act like a Bézier spline in the V direction (default False) + + :type: bool + + .. attribute:: use_cyclic_u + + Make this curve or surface a closed loop in the U direction (default False) + + :type: bool + + .. attribute:: use_cyclic_v + + Make this surface a closed loop in the V direction (default False) + + :type: bool + + .. attribute:: use_endpoint_u + + Make this nurbs curve or surface meet the endpoints in the U direction (default False) + + :type: bool + + .. attribute:: use_endpoint_v + + Make this nurbs surface meet the endpoints in the V direction (default False) + + :type: bool + + .. attribute:: use_smooth + + Smooth the normals of the surface or beveled curve (default False) + + :type: bool + + .. method:: calc_length(*, resolution=0) + + Calculate spline length + + :param resolution: Resolution, Spline resolution to be used, 0 defaults to the resolution_u (in [0, 1024], optional) + :type resolution: int + :return: Length, Length of the polygonaly approximated spline (in [0, inf]) + :rtype: float + + .. method:: valid_message(direction) + + Return the message + + :param direction: Direction, The direction where 0-1 maps to U-V (in [0, 1]) + :type direction: int + :return: Return value, The message or an empty string when there is no error + :rtype: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Curve.splines` + - :class:`CurveSplines.active` + - :class:`CurveSplines.new` + - :class:`CurveSplines.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplineBezierPoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplineBezierPoints.rst new file mode 100644 index 0000000..5cbffad --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplineBezierPoints.rst @@ -0,0 +1,85 @@ +SplineBezierPoints(bpy_prop_collection) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: SplineBezierPoints(bpy_prop_collection) + + Collection of spline Bézier points + + .. method:: add(count) + + Add a number of points to this spline + + :param count: Number, Number of points to add to the spline (in [0, inf]) + :type count: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Spline.bezier_points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplineIKConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplineIKConstraint.rst new file mode 100644 index 0000000..f8f7d83 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplineIKConstraint.rst @@ -0,0 +1,193 @@ +SplineIKConstraint(Constraint) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: SplineIKConstraint(Constraint) + + Align 'n' bones along a curve + + .. attribute:: bulge + + Factor between volume variation and stretching (in [0, 100], default 0.0) + + :type: float + + .. attribute:: bulge_max + + Maximum volume stretching factor (in [1, 100], default 0.0) + + :type: float + + .. attribute:: bulge_min + + Minimum volume stretching factor (in [0, 1], default 0.0) + + :type: float + + .. attribute:: bulge_smooth + + Strength of volume stretching clamping (in [0, 1], default 0.0) + + :type: float + + .. attribute:: chain_count + + How many bones are included in the chain (in [1, 255], default 0) + + :type: int + + .. attribute:: joint_bindings + + (EXPERIENCED USERS ONLY) The relative positions of the joints along the chain, as percentages (array of 32 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: target + + Curve that controls this relationship + + :type: :class:`Object` | None + + .. attribute:: use_bulge_max + + Use upper limit for volume variation (default False) + + :type: bool + + .. attribute:: use_bulge_min + + Use lower limit for volume variation (default False) + + :type: bool + + .. attribute:: use_chain_offset + + Offset the entire chain relative to the root joint (default False) + + :type: bool + + .. attribute:: use_curve_radius + + Average radius of the endpoints is used to tweak the X and Z Scaling of the bones, on top of XZ Scale mode (default True) + + :type: bool + + .. attribute:: use_even_divisions + + Ignore the relative lengths of the bones when fitting to the curve (default False) + + :type: bool + + .. attribute:: use_original_scale + + Apply volume preservation over the original scaling (default False) + + :type: bool + + .. attribute:: xz_scale_mode + + Method used for determining the scaling of the X and Z axes of the bones (default ``'NONE'``) + + - ``NONE`` + None -- Don't scale the X and Z axes. + - ``BONE_ORIGINAL`` + Bone Original -- Use the original scaling of the bones. + - ``INVERSE_PRESERVE`` + Inverse Scale -- Scale of the X and Z axes is the inverse of the Y-Scale. + - ``VOLUME_PRESERVE`` + Volume Preservation -- Scale of the X and Z axes are adjusted to preserve the volume of the bones. + + :type: Literal['NONE', 'BONE_ORIGINAL', 'INVERSE_PRESERVE', 'VOLUME_PRESERVE'] + + .. attribute:: y_scale_mode + + Method used for determining the scaling of the Y axis of the bones, on top of the shape and scaling of the curve itself (default ``'NONE'``) + + - ``NONE`` + None -- Don't scale in the Y axis. + - ``FIT_CURVE`` + Fit Curve -- Scale the bones to fit the entire length of the curve. + - ``BONE_ORIGINAL`` + Bone Original -- Use the original Y scale of the bone. + + :type: Literal['NONE', 'FIT_CURVE', 'BONE_ORIGINAL'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplinePoint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplinePoint.rst new file mode 100644 index 0000000..d64df21 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplinePoint.rst @@ -0,0 +1,120 @@ +SplinePoint(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SplinePoint(bpy_struct) + + Spline point without handles + + .. attribute:: co + + Point coordinates (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: hide + + Visibility status (default False) + + :type: bool + + .. attribute:: radius + + Radius for beveling (in [0, inf], default 0.0) + + :type: float + + .. attribute:: select + + Selection status (default False) + + :type: bool + + .. attribute:: tilt + + Tilt in 3D View (in [-376.991, 376.991], default 0.0) + + :type: float + + .. attribute:: weight + + NURBS weight (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: weight_softbody + + Softbody goal weight (in [0.01, 100], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Spline.points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplinePoints.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplinePoints.rst new file mode 100644 index 0000000..104d2c8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SplinePoints.rst @@ -0,0 +1,85 @@ +SplinePoints(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: SplinePoints(bpy_prop_collection) + + Collection of spline points + + .. method:: add(count) + + Add a number of points to this spline + + :param count: Number, Number of points to add to the spline (in [0, inf]) + :type count: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Spline.points` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpotLight.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpotLight.rst new file mode 100644 index 0000000..11d5716 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpotLight.rst @@ -0,0 +1,217 @@ +SpotLight(Light) +================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Light` + +.. class:: SpotLight(Light) + + Directional cone Light + + .. attribute:: energy + + The energy this light would emit over its entire area if it wasn't limited by the spot angle, in units of radiant power (W) (in [-inf, inf], default 10.0) + + :type: float + + .. attribute:: shadow_buffer_clip_start + + Shadow map clip start, below which objects will not generate shadows (in [1e-06, inf], default 0.05) + + :type: float + + .. attribute:: shadow_filter_radius + + Blur shadow aliasing using Percentage Closer Filtering (in [0, inf], default 1.0) + + :type: float + + .. attribute:: shadow_jitter_overblur + + Apply shadow tracing to each jittered sample to reduce under-sampling artifacts (in [0, 100], default 10.0) + + :type: float + + .. attribute:: shadow_maximum_resolution + + Minimum size of a shadow map pixel. Higher values use less memory at the cost of shadow quality. (in [0, inf], default 0.001) + + :type: float + + .. attribute:: shadow_soft_size + + Light size for ray shadow sampling (Raytraced shadows) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: show_cone + + Display transparent cone in 3D view to visualize which objects are contained in it (default False) + + :type: bool + + .. attribute:: spot_blend + + The softness of the spotlight edge (in [0, 1], default 0.15) + + :type: float + + .. attribute:: spot_size + + Angular diameter of the spotlight beam (in [0.0174533, 3.14159], default 0.785398) + + :type: float + + .. attribute:: use_absolute_resolution + + Limit the resolution at 1 unit from the light origin instead of relative to the shadowed pixel (default False) + + :type: bool + + .. attribute:: use_shadow_jitter + + Enable jittered soft shadows to increase shadow precision (disabled in viewport unless enabled in the render settings). Has a high performance impact. (default False) + + :type: bool + + .. attribute:: use_soft_falloff + + Apply falloff to avoid sharp edges when the light geometry intersects with other objects (default True) + + :type: bool + + .. attribute:: use_square + + Cast a square spot light shape (default False) + + :type: bool + + .. method:: inline_shader_nodes() + + Get the inlined shader nodes of this light. This preprocesses the node tree + to remove nested groups, repeat zones and more. + + :return: The inlined shader nodes. + :rtype: :class:`bpy.types.InlineShaderNodes` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Light.type` + - :class:`Light.use_temperature` + - :class:`Light.color` + - :class:`Light.temperature` + - :class:`Light.temperature_color` + - :class:`Light.specular_factor` + - :class:`Light.diffuse_factor` + - :class:`Light.transmission_factor` + - :class:`Light.volume_factor` + - :class:`Light.use_custom_distance` + - :class:`Light.cutoff_distance` + - :class:`Light.use_shadow` + - :class:`Light.exposure` + - :class:`Light.normalize` + - :class:`Light.node_tree` + - :class:`Light.use_nodes` + - :class:`Light.animation_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Light.area` + - :class:`Light.inline_shader_nodes` + - :class:`Light.bl_rna_get_subclass` + - :class:`Light.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetColumn.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetColumn.rst new file mode 100644 index 0000000..6053c6f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetColumn.rst @@ -0,0 +1,90 @@ +SpreadsheetColumn(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SpreadsheetColumn(bpy_struct) + + Persistent data associated with a spreadsheet column + + .. data:: data_type + + The data type of the corresponding column visible in the spreadsheet (default ``'BOOLEAN'``, readonly) + + :type: Literal['INT32', 'FLOAT', 'BOOLEAN', 'INSTANCES'] + + .. data:: id + + Data used to identify the corresponding data from the data source (readonly) + + :type: :class:`SpreadsheetColumnID` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpreadsheetTable.columns` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetColumnID.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetColumnID.rst new file mode 100644 index 0000000..a11591f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetColumnID.rst @@ -0,0 +1,84 @@ +SpreadsheetColumnID(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SpreadsheetColumnID(bpy_struct) + + Data used to identify a spreadsheet column + + .. attribute:: name + + (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpreadsheetColumn.id` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetRowFilter.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetRowFilter.rst new file mode 100644 index 0000000..e11f786 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetRowFilter.rst @@ -0,0 +1,167 @@ +SpreadsheetRowFilter(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SpreadsheetRowFilter(bpy_struct) + + + .. attribute:: column_name + + (default "", never None) + + :type: str + + .. attribute:: enabled + + (default False) + + :type: bool + + .. attribute:: operation + + (default ``'EQUAL'``) + + :type: Literal['EQUAL', 'GREATER', 'LESS'] + + .. attribute:: show_expanded + + (default False) + + :type: bool + + .. attribute:: threshold + + How close float values need to be to be equal (in [0, inf], default 0.0) + + :type: float + + .. attribute:: value_boolean + + (default False) + + :type: bool + + .. attribute:: value_color + + (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: value_float + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: value_float2 + + (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: value_float3 + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: value_int + + (in [-inf, inf], default 0) + + :type: int + + .. attribute:: value_int2 + + (array of 2 items, in [-inf, inf], default (0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: value_int3 + + (array of 3 items, in [-inf, inf], default (0, 0, 0)) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: value_int8 + + (in [-128, 127], default 0) + + :type: int + + .. attribute:: value_string + + (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceSpreadsheet.row_filters` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTable.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTable.rst new file mode 100644 index 0000000..02ac38e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTable.rst @@ -0,0 +1,91 @@ +SpreadsheetTable(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: SpreadsheetTable(bpy_struct) + + Persistent data associated with a table + + .. data:: columns + + Columns within the table (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`SpreadsheetColumn`] + + .. data:: id + + Data used to identify the table (readonly) + + :type: :class:`SpreadsheetTableID` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceSpreadsheet.tables` + - :class:`SpreadsheetTables.active` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTableID.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTableID.rst new file mode 100644 index 0000000..b5b4b7c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTableID.rst @@ -0,0 +1,90 @@ +SpreadsheetTableID(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`SpreadsheetTableIDGeometry` + +.. class:: SpreadsheetTableID(bpy_struct) + + Data used to identify a spreadsheet table + + .. data:: type + + The type of the table identifier (default ``'GEOMETRY'``, readonly) + + - ``GEOMETRY`` + Geometry -- Table contains geometry data. + + :type: Literal['GEOMETRY'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpreadsheetTable.id` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTableIDGeometry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTableIDGeometry.rst new file mode 100644 index 0000000..e490f06 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTableIDGeometry.rst @@ -0,0 +1,120 @@ +SpreadsheetTableIDGeometry(SpreadsheetTableID) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`SpreadsheetTableID` + +.. class:: SpreadsheetTableIDGeometry(SpreadsheetTableID) + + + .. data:: attribute_domain + + Attribute domain to display (default ``'POINT'``, readonly) + + :type: Literal[:ref:`rna_enum_attribute_domain_items`] + + .. data:: geometry_component_type + + Part of the geometry to display data from (default ``'MESH'``, readonly) + + :type: Literal[:ref:`rna_enum_geometry_component_type_items`] + + .. data:: geometry_item_type + + Item Type (default ``'DOMAIN'``, readonly) + + - ``DOMAIN`` + Domain -- Domain data. + - ``BUNDLE`` + Bundle -- Bundle data. + + :type: Literal['DOMAIN', 'BUNDLE'] + + .. data:: layer_index + + Index of the Grease Pencil layer (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: object_eval_state + + (default ``'EVALUATED'``, readonly) + + - ``EVALUATED`` + Evaluated -- Use data from fully or partially evaluated object. + - ``ORIGINAL`` + Original -- Use data from original object without any modifiers applied. + - ``VIEWER_NODE`` + Viewer Node -- Use intermediate data from viewer node. + + :type: Literal['EVALUATED', 'ORIGINAL', 'VIEWER_NODE'] + + .. data:: viewer_path + + Path to the data that is displayed (readonly) + + :type: :class:`ViewerPath` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`SpreadsheetTableID.type` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`SpreadsheetTableID.bl_rna_get_subclass` + - :class:`SpreadsheetTableID.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTables.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTables.rst new file mode 100644 index 0000000..5b192d2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SpreadsheetTables.rst @@ -0,0 +1,84 @@ +SpreadsheetTables(bpy_prop_collection) +====================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: SpreadsheetTables(bpy_prop_collection) + + Active table and persisted state of previously displayed tables + + .. data:: active + + (readonly) + + :type: :class:`SpreadsheetTable` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceSpreadsheet.tables` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Stereo3dDisplay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Stereo3dDisplay.rst new file mode 100644 index 0000000..7809206 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Stereo3dDisplay.rst @@ -0,0 +1,108 @@ +Stereo3dDisplay(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Stereo3dDisplay(bpy_struct) + + Settings for stereo 3D display + + .. attribute:: anaglyph_type + + (default ``'RED_CYAN'``) + + :type: Literal[:ref:`rna_enum_stereo3d_anaglyph_type_items`] + + .. attribute:: display_mode + + (default ``'ANAGLYPH'``) + + :type: Literal[:ref:`rna_enum_stereo3d_display_items`] + + .. attribute:: interlace_type + + (default ``'ROW_INTERLEAVED'``) + + :type: Literal[:ref:`rna_enum_stereo3d_interlace_type_items`] + + .. attribute:: use_interlace_swap + + Swap left and right stereo channels (default False) + + :type: bool + + .. attribute:: use_sidebyside_crosseyed + + Right eye should see left image and vice versa (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Window.stereo_3d_display` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Stereo3dFormat.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Stereo3dFormat.rst new file mode 100644 index 0000000..3f25264 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Stereo3dFormat.rst @@ -0,0 +1,127 @@ +Stereo3dFormat(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Stereo3dFormat(bpy_struct) + + Settings for stereo output + + .. attribute:: anaglyph_type + + (default ``'RED_CYAN'``) + + :type: Literal[:ref:`rna_enum_stereo3d_anaglyph_type_items`] + + .. attribute:: display_mode + + (default ``'ANAGLYPH'``) + + - ``ANAGLYPH`` + Anaglyph -- Render views for left and right eyes as two differently filtered colors in a single image (anaglyph glasses are required). + - ``INTERLACE`` + Interlace -- Render views for left and right eyes interlaced in a single image (3D-ready monitor is required). + - ``SIDEBYSIDE`` + Side-by-Side -- Render views for left and right eyes side-by-side. + - ``TOPBOTTOM`` + Top-Bottom -- Render views for left and right eyes one above another. + + :type: Literal['ANAGLYPH', 'INTERLACE', 'SIDEBYSIDE', 'TOPBOTTOM'] + + .. attribute:: interlace_type + + (default ``'ROW_INTERLEAVED'``) + + :type: Literal[:ref:`rna_enum_stereo3d_interlace_type_items`] + + .. attribute:: use_interlace_swap + + Swap left and right stereo channels (default False) + + :type: bool + + .. attribute:: use_sidebyside_crosseyed + + Right eye should see left image and vice versa (default False) + + :type: bool + + .. attribute:: use_squeezed_frame + + Combine both views in a squeezed image (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Image.stereo_3d_format` + - :class:`ImageStrip.stereo_3d_format` + - :class:`MovieStrip.stereo_3d_format` + - :class:`ImageFormatSettings.stereo_3d_format` + - :class:`UILayout.template_image_stereo_3d` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StretchToConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StretchToConstraint.rst new file mode 100644 index 0000000..cae9037 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StretchToConstraint.rst @@ -0,0 +1,172 @@ +StretchToConstraint(Constraint) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: StretchToConstraint(Constraint) + + Stretch to meet the target object + + .. attribute:: bulge + + Factor between volume variation and stretching (in [0, 100], default 0.0) + + :type: float + + .. attribute:: bulge_max + + Maximum volume stretching factor (in [1, 100], default 0.0) + + :type: float + + .. attribute:: bulge_min + + Minimum volume stretching factor (in [0, 1], default 0.0) + + :type: float + + .. attribute:: bulge_smooth + + Strength of volume stretching clamping (in [0, 1], default 0.0) + + :type: float + + .. attribute:: head_tail + + Target along length of bone: Head is 0, Tail is 1 (in [0, 1], default 0.0) + + :type: float + + .. attribute:: keep_axis + + The rotation type and axis order to use (default ``'PLANE_X'``) + + - ``PLANE_X`` + XZ -- Rotate around local X, then Z. + - ``PLANE_Z`` + ZX -- Rotate around local Z, then X. + - ``SWING_Y`` + Swing -- Use the smallest single axis rotation, similar to Damped Track. + + :type: Literal['PLANE_X', 'PLANE_Z', 'SWING_Y'] + + .. attribute:: rest_length + + Length at rest position (in [0, 1000], default 0.0) + + :type: float + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: use_bbone_shape + + Follow shape of B-Bone segments when calculating Head/Tail position (default False) + + :type: bool + + .. attribute:: use_bulge_max + + Use upper limit for volume variation (default False) + + :type: bool + + .. attribute:: use_bulge_min + + Use lower limit for volume variation (default False) + + :type: bool + + .. attribute:: volume + + Maintain the object's volume as it stretches (default ``'VOLUME_XZX'``) + + :type: Literal['VOLUME_XZX', 'VOLUME_X', 'VOLUME_Z', 'NO_VOLUME'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StringAttribute.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StringAttribute.rst new file mode 100644 index 0000000..20f2f43 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StringAttribute.rst @@ -0,0 +1,84 @@ +StringAttribute(Attribute) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Attribute` + +.. class:: StringAttribute(Attribute) + + Geometry attribute that stores strings + + .. data:: data + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`StringAttributeValue`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Attribute.name` + - :class:`Attribute.data_type` + - :class:`Attribute.storage_type` + - :class:`Attribute.domain` + - :class:`Attribute.is_internal` + - :class:`Attribute.is_required` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Attribute.bl_rna_get_subclass` + - :class:`Attribute.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StringAttributeValue.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StringAttributeValue.rst new file mode 100644 index 0000000..358d9de --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StringAttributeValue.rst @@ -0,0 +1,84 @@ +StringAttributeValue(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: StringAttributeValue(bpy_struct) + + String value in geometry attribute + + .. attribute:: value + + (default b"", never None) + + :type: bytes + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`StringAttribute.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StringProperty.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StringProperty.rst new file mode 100644 index 0000000..40199e2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StringProperty.rst @@ -0,0 +1,124 @@ +StringProperty(Property) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Property` + +.. class:: StringProperty(Property) + + RNA text string property definition + + .. data:: default + + String default value (default "", readonly, never None) + + :type: str + + .. data:: length_max + + Maximum length of the string, 0 means unlimited (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Property.name` + - :class:`Property.identifier` + - :class:`Property.description` + - :class:`Property.translation_context` + - :class:`Property.type` + - :class:`Property.subtype` + - :class:`Property.srna` + - :class:`Property.unit` + - :class:`Property.icon` + - :class:`Property.is_readonly` + - :class:`Property.is_animatable` + - :class:`Property.is_overridable` + - :class:`Property.is_required` + - :class:`Property.is_argument_optional` + - :class:`Property.is_never_none` + - :class:`Property.is_hidden` + - :class:`Property.is_skip_save` + - :class:`Property.is_skip_preset` + - :class:`Property.is_output` + - :class:`Property.is_registered` + - :class:`Property.is_registered_optional` + - :class:`Property.is_runtime` + - :class:`Property.is_enum_flag` + - :class:`Property.is_library_editable` + - :class:`Property.is_path_output` + - :class:`Property.is_path_supports_blend_relative` + - :class:`Property.is_path_supports_templates` + - :class:`Property.is_deprecated` + - :class:`Property.deprecated_note` + - :class:`Property.deprecated_version` + - :class:`Property.deprecated_removal_version` + - :class:`Property.tags` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Property.bl_rna_get_subclass` + - :class:`Property.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Struct.name_property` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Strip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Strip.rst new file mode 100644 index 0000000..819b6f9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Strip.rst @@ -0,0 +1,412 @@ +Strip(bpy_struct) +================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`EffectStrip`, :class:`ImageStrip`, :class:`MaskStrip`, :class:`MetaStrip`, :class:`MovieClipStrip`, :class:`MovieStrip`, :class:`SceneStrip`, :class:`SoundStrip` + +.. class:: Strip(bpy_struct) + + A single container for content in the Video Sequence Editor + + .. attribute:: blend_alpha + + Percentage of how much the strip's colors affect other strips (in [0, 1], default 1.0) + + :type: float + + .. attribute:: blend_type + + Method for controlling how the strip combines with other strips (default ``'ALPHA_OVER'``) + + :type: Literal['REPLACE', 'CROSS', 'DARKEN', 'MULTIPLY', 'BURN', 'LINEAR_BURN', 'LIGHTEN', 'SCREEN', 'DODGE', 'ADD', 'OVERLAY', 'SOFT_LIGHT', 'HARD_LIGHT', 'VIVID_LIGHT', 'LINEAR_LIGHT', 'PIN_LIGHT', 'DIFFERENCE', 'EXCLUSION', 'SUBTRACT', 'HUE', 'SATURATION', 'COLOR', 'VALUE', 'ALPHA_OVER', 'ALPHA_UNDER', 'GAMMA_CROSS'] + + .. attribute:: channel + + Vertical position of the strip (in [1, 128], default 0) + + :type: int + + .. attribute:: color_tag + + Color tag for a strip (default ``'COLOR_01'``) + + :type: Literal[:ref:`rna_enum_strip_color_items`] + + .. data:: content_duration + + Length of the underlying strip source in frames, excluding handles (in [1, 1048574], default 0, readonly) + + :type: int + + .. data:: content_end + + Timeline frame where underlying strip source ends (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: content_start + + Timeline frame where underlying strip source begins (in [-inf, inf], default 0.0) + + :type: float + + .. data:: duration + + Length of the strip in frames from left handle to right handle (in [-inf, inf], default 0, readonly) + + :type: int + + .. attribute:: effect_fader + + Custom fade value (in [0, 1], default 0.0) + + :type: float + + .. data:: frame_duration + + The length of the contents of this strip before the handles are applied (in [1, 1048574], default 0, readonly) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_duration'. + + :type: int + + .. attribute:: frame_final_duration + + The length of the contents of this strip after the handles are applied (in [1, 1048574], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.duration'. + + :type: int + + .. attribute:: frame_final_end + + End frame displayed in the sequence editor after offsets are applied (in [-inf, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.right_handle'. + + :type: int + + .. attribute:: frame_final_start + + Start frame displayed in the sequence editor after offsets are applied, setting this is equivalent to moving the handle, not the actual start frame (in [-inf, inf], default 0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.left_handle'. + + :type: int + + .. attribute:: frame_offset_end + + Offset from the end of the strip in frames (in [-inf, inf], default 0.0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.right_handle_offset'. + + :type: float + + .. attribute:: frame_offset_start + + Offset from the start of the strip in frames (in [-inf, inf], default 0.0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.left_handle_offset'. + + :type: float + + .. attribute:: frame_start + + X position where the strip begins (in [-inf, inf], default 0.0) + + .. deprecated:: 5.10 removal planned in version 6.0 + + Replaced by '.content_start'. + + :type: float + + .. attribute:: left_handle + + Timeline frame of the left handle and the start frame of the strip (in [-inf, inf], default 0) + + :type: int + + .. attribute:: left_handle_offset + + Rightward frame offset of the left handle from the start of the strip content (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: lock + + Lock strip so that it cannot be transformed (default False) + + :type: bool + + .. data:: modifiers + + Modifiers affecting this strip (default None, readonly) + + :type: :class:`StripModifiers`\ [:class:`StripModifier`] + + .. attribute:: mute + + Disable strip so that it does not contribute any output (default False) + + :type: bool + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: right_handle + + Timeline frame of the right handle, which is the first frame where the strip no longer contributes to the output (in [-inf, inf], default 0) + + :type: int + + .. attribute:: right_handle_offset + + Leftward frame offset of the right handle from the end of the strip content (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: select + + Whether the strip is selected (default False) + + :type: bool + + .. attribute:: select_left_handle + + Whether the left handle is selected (default False) + + :type: bool + + .. attribute:: select_right_handle + + Whether the right handle is selected (default False) + + :type: bool + + .. attribute:: show_retiming_keys + + Show retiming keys, so they can be moved (default False) + + :type: bool + + .. data:: type + + (default ``'IMAGE'``, readonly) + + :type: Literal['IMAGE', 'META', 'SCENE', 'MOVIE', 'MOVIECLIP', 'MASK', 'SOUND', 'CROSS', 'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER', 'GAMMA_CROSS', 'MULTIPLY', 'WIPE', 'GLOW', 'COLOR', 'SPEED', 'MULTICAM', 'ADJUSTMENT', 'GAUSSIAN_BLUR', 'TEXT', 'COLORMIX'] + + .. attribute:: use_default_fade + + Fade effect using the built-in default (usually makes the transition as long as the effect strip) (default False) + + :type: bool + + .. attribute:: use_linear_modifiers + + Calculate modifiers in linear space instead of sequencer's space (default False) + + :type: bool + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. method:: strip_elem_from_frame(frame) + + Return the strip element from a given frame or None + + :param frame: Frame, The frame to get the strip element from (in [-1048574, 1048574]) + :type frame: int + :return: strip element of the current frame + :rtype: :class:`StripElement` + + .. method:: swap(other) + + Swap the position of this strip with another + + :param other: Other, Other strip to swap with (never None) + :type other: :class:`Strip` | None + + .. method:: move_to_meta(meta_sequence) + + Move this strip into a meta Strip + + :param meta_sequence: Destination Meta Strip, Meta to move the strip into (never None) + :type meta_sequence: :class:`Strip` | None + + .. method:: parent_meta() + + Returns parent meta Strip + + :return: Parent meta strip + :rtype: :class:`Strip` + + .. method:: invalidate_cache(type) + + Invalidate cached images for strip and all dependent strips + + :param type: Type, Cache Type (never None) + :type type: Literal['RAW', 'COMPOSITE'] + + .. method:: split(frame, split_method, *, ignore_connections=False) + + Split Strip + + :param frame: Frame where to split the strip (in [-inf, inf]) + :type frame: int + :param split_method: (never None) + :type split_method: Literal['SOFT', 'HARD'] + :param ignore_connections: Don't propagate split to connected strips (optional) + :type ignore_connections: bool + :return: Right side Strip + :rtype: :class:`Strip` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.active_strip` + - :mod:`bpy.context.selected_editable_strips` + - :mod:`bpy.context.selected_strips` + - :mod:`bpy.context.strip` + - :mod:`bpy.context.strips` + - :class:`AddStrip.input_1` + - :class:`AddStrip.input_2` + - :class:`AlphaOverStrip.input_1` + - :class:`AlphaOverStrip.input_2` + - :class:`AlphaUnderStrip.input_1` + - :class:`AlphaUnderStrip.input_2` + - :class:`ColorMixStrip.input_1` + - :class:`ColorMixStrip.input_2` + - :class:`CrossStrip.input_1` + - :class:`CrossStrip.input_2` + - :class:`GammaCrossStrip.input_1` + - :class:`GammaCrossStrip.input_2` + - :class:`GaussianBlurStrip.input_1` + - :class:`GlowStrip.input_1` + - :class:`MetaStrip.strips` + - :class:`MultiplyStrip.input_1` + - :class:`MultiplyStrip.input_2` + - :class:`SequenceEditor.active_strip` + - :class:`SequenceEditor.display_stack` + - :class:`SequenceEditor.meta_stack` + - :class:`SequenceEditor.strips` + - :class:`SequenceEditor.strips_all` + - :class:`SpeedControlStrip.input_1` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.split` + - :class:`Strip.swap` + - :class:`StripModifier.input_mask_strip` + - :class:`StripsMeta.new_clip` + - :class:`StripsMeta.new_effect` + - :class:`StripsMeta.new_effect` + - :class:`StripsMeta.new_effect` + - :class:`StripsMeta.new_image` + - :class:`StripsMeta.new_mask` + - :class:`StripsMeta.new_meta` + - :class:`StripsMeta.new_movie` + - :class:`StripsMeta.new_scene` + - :class:`StripsMeta.new_sound` + - :class:`StripsMeta.remove` + - :class:`StripsTopLevel.new_clip` + - :class:`StripsTopLevel.new_effect` + - :class:`StripsTopLevel.new_effect` + - :class:`StripsTopLevel.new_effect` + - :class:`StripsTopLevel.new_image` + - :class:`StripsTopLevel.new_mask` + - :class:`StripsTopLevel.new_meta` + - :class:`StripsTopLevel.new_movie` + - :class:`StripsTopLevel.new_scene` + - :class:`StripsTopLevel.new_sound` + - :class:`StripsTopLevel.remove` + - :class:`SubtractStrip.input_1` + - :class:`SubtractStrip.input_2` + - :class:`WipeStrip.input_1` + - :class:`WipeStrip.input_2` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripColorBalance.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripColorBalance.rst new file mode 100644 index 0000000..70ad6ba --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripColorBalance.rst @@ -0,0 +1,85 @@ +StripColorBalance(StripColorBalanceData) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripColorBalanceData` + +.. class:: StripColorBalance(StripColorBalanceData) + + Color balance parameters for a sequence strip + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripColorBalanceData.correction_method` + - :class:`StripColorBalanceData.lift` + - :class:`StripColorBalanceData.gamma` + - :class:`StripColorBalanceData.gain` + - :class:`StripColorBalanceData.slope` + - :class:`StripColorBalanceData.offset` + - :class:`StripColorBalanceData.power` + - :class:`StripColorBalanceData.invert_lift` + - :class:`StripColorBalanceData.invert_gamma` + - :class:`StripColorBalanceData.invert_gain` + - :class:`StripColorBalanceData.invert_slope` + - :class:`StripColorBalanceData.invert_offset` + - :class:`StripColorBalanceData.invert_power` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripColorBalanceData.bl_rna_get_subclass` + - :class:`StripColorBalanceData.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripColorBalanceData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripColorBalanceData.rst new file mode 100644 index 0000000..4d38798 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripColorBalanceData.rst @@ -0,0 +1,164 @@ +StripColorBalanceData(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`StripColorBalance` + +.. class:: StripColorBalanceData(bpy_struct) + + Color balance parameters for a sequence strip and its modifiers + + .. attribute:: correction_method + + (default ``'LIFT_GAMMA_GAIN'``) + + - ``LIFT_GAMMA_GAIN`` + Lift/Gamma/Gain. + - ``OFFSET_POWER_SLOPE`` + Offset/Power/Slope (ASC-CDL) -- ASC-CDL standard color correction. + + :type: Literal['LIFT_GAMMA_GAIN', 'OFFSET_POWER_SLOPE'] + + .. attribute:: gain + + Color balance gain (highlights) (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: gamma + + Color balance gamma (midtones) (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: invert_gain + + Invert the gain color (default False) + + :type: bool + + .. attribute:: invert_gamma + + Invert the gamma color (default False) + + :type: bool + + .. attribute:: invert_lift + + Invert the lift color (default False) + + :type: bool + + .. attribute:: invert_offset + + Invert the offset color (default False) + + :type: bool + + .. attribute:: invert_power + + Invert the power color (default False) + + :type: bool + + .. attribute:: invert_slope + + Invert the slope color (default False) + + :type: bool + + .. attribute:: lift + + Color balance lift (shadows) (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: offset + + Correction for entire tonal range (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: power + + Correction for midtones (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: slope + + Correction for highlights (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ColorBalanceModifier.color_balance` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripCrop.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripCrop.rst new file mode 100644 index 0000000..3363680 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripCrop.rst @@ -0,0 +1,108 @@ +StripCrop(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: StripCrop(bpy_struct) + + Cropping parameters for a sequence strip + + .. attribute:: max_x + + Number of pixels to crop from the right side (in [-inf, inf], default 0) + + :type: int + + .. attribute:: max_y + + Number of pixels to crop from the top (in [-inf, inf], default 0) + + :type: int + + .. attribute:: min_x + + Number of pixels to crop from the left side (in [-inf, inf], default 0) + + :type: int + + .. attribute:: min_y + + Number of pixels to crop from the bottom (in [-inf, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`EffectStrip.crop` + - :class:`ImageStrip.crop` + - :class:`MaskStrip.crop` + - :class:`MetaStrip.crop` + - :class:`MovieClipStrip.crop` + - :class:`MovieStrip.crop` + - :class:`SceneStrip.crop` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripElement.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripElement.rst new file mode 100644 index 0000000..550ab40 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripElement.rst @@ -0,0 +1,105 @@ +StripElement(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: StripElement(bpy_struct) + + Sequence strip data for a single frame + + .. attribute:: filename + + Name of the source file (default "", never None) + + :type: str + + .. data:: orig_fps + + Original frames per second (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: orig_height + + Original image height (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: orig_width + + Original image width (in [-inf, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ImageStrip.elements` + - :class:`MovieStrip.elements` + - :class:`Strip.strip_elem_from_frame` + - :class:`StripElements.append` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripElements.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripElements.rst new file mode 100644 index 0000000..8115f4e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripElements.rst @@ -0,0 +1,94 @@ +StripElements(bpy_prop_collection) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: StripElements(bpy_prop_collection) + + Collection of StripElement + + .. method:: append(filename) + + Push an image from ImageStrip.directory + + :param filename: Filepath to image (never None) + :type filename: str + :return: New StripElement + :rtype: :class:`StripElement` + + .. method:: pop(index) + + Pop an image off the collection + + :param index: Index of image to remove (in [-inf, inf]) + :type index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ImageStrip.elements` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripModifier.rst new file mode 100644 index 0000000..706f26b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripModifier.rst @@ -0,0 +1,155 @@ +StripModifier(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`BrightContrastModifier`, :class:`ColorBalanceModifier`, :class:`CurvesModifier`, :class:`EchoModifier`, :class:`HueCorrectModifier`, :class:`MaskStripModifier`, :class:`PitchModifier`, :class:`SequencerCompositorModifierData`, :class:`SequencerTonemapModifierData`, :class:`SoundEqualizerModifier`, :class:`WhiteBalanceModifier` + +.. class:: StripModifier(bpy_struct) + + Modifier for sequence strip + + .. attribute:: enable + + Enable this modifier (default True) + + :type: bool + + .. attribute:: input_mask_id + + Mask ID used as mask input for the modifier + + :type: :class:`Mask` | None + + .. attribute:: input_mask_strip + + Strip used as mask input for the modifier + + :type: :class:`Strip` | None + + .. attribute:: input_mask_type + + Type of input data used for mask (default ``'STRIP'``) + + - ``STRIP`` + Strip -- Use sequencer strip as mask input. + - ``ID`` + Mask -- Use mask ID as mask input. + + :type: Literal['STRIP', 'ID'] + + .. attribute:: is_active + + This modifier is active (default False) + + :type: bool + + .. attribute:: mask_time + + Time to use for the Mask animation (default ``'RELATIVE'``) + + - ``RELATIVE`` + Relative -- Mask animation is offset to start of strip. + - ``ABSOLUTE`` + Absolute -- Mask animation is in sync with scene frame. + + :type: Literal['RELATIVE', 'ABSOLUTE'] + + .. attribute:: mute + + Mute this modifier (default False) + + :type: bool + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: show_expanded + + Mute expanded settings for the modifier (default False) + + :type: bool + + .. data:: type + + (default ``'BRIGHT_CONTRAST'``, readonly) + + :type: Literal[:ref:`rna_enum_strip_modifier_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.strip_modifier` + - :class:`Strip.modifiers` + - :class:`StripModifiers.active` + - :class:`StripModifiers.new` + - :class:`StripModifiers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripModifiers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripModifiers.rst new file mode 100644 index 0000000..761bd30 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripModifiers.rst @@ -0,0 +1,107 @@ +StripModifiers(bpy_prop_collection) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: StripModifiers(bpy_prop_collection) + + Collection of strip modifiers + + .. attribute:: active + + The active strip modifier in the list + + :type: :class:`StripModifier` | None + + .. method:: new(name, type) + + Add a new modifier + + :param name: New name for the modifier (never None) + :type name: str + :param type: Modifier type to add + :type type: Literal[:ref:`rna_enum_strip_modifier_type_items`] + :return: Newly created modifier + :rtype: :class:`StripModifier` + + .. method:: remove(modifier) + + Remove an existing modifier from the strip + + :param modifier: Modifier to remove (never None) + :type modifier: :class:`StripModifier` | None + + .. method:: clear() + + Remove all modifiers from the strip + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Strip.modifiers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripProxy.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripProxy.rst new file mode 100644 index 0000000..71058bc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripProxy.rst @@ -0,0 +1,161 @@ +StripProxy(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: StripProxy(bpy_struct) + + Proxy parameters for a sequence strip + + .. attribute:: build_100 + + Build 100% proxy resolution (default False) + + :type: bool + + .. attribute:: build_25 + + Build 25% proxy resolution (default False) + + :type: bool + + .. attribute:: build_50 + + Build 50% proxy resolution (default False) + + :type: bool + + .. attribute:: build_75 + + Build 75% proxy resolution (default False) + + :type: bool + + .. attribute:: build_record_run + + Build record run time code index (default False) + + :type: bool + + .. attribute:: directory + + Location to store the proxy files (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: filepath + + Location of custom proxy file (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: quality + + Quality of proxies to build (in [0, 32767], default 0) + + :type: int + + .. attribute:: timecode + + Method for reading the inputs timecode (default ``'NONE'``) + + - ``NONE`` + None -- Ignore generated timecodes, seek in movie stream based on calculated timestamp. + - ``RECORD_RUN`` + Record Run -- Seek based on timestamps read from movie stream, giving the best match between scene and movie times. + - ``RECORD_RUN_NO_GAPS`` + Record Run No Gaps -- Effectively convert movie to an image sequence, ignoring incomplete or dropped frames, and changes in frame rate. + + :type: Literal['NONE', 'RECORD_RUN', 'RECORD_RUN_NO_GAPS'] + + .. attribute:: use_overwrite + + Overwrite existing proxy files when building (default True) + + :type: bool + + .. attribute:: use_proxy_custom_directory + + Use a custom directory to store data (default False) + + :type: bool + + .. attribute:: use_proxy_custom_file + + Use a custom file to read proxy data from (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`EffectStrip.proxy` + - :class:`ImageStrip.proxy` + - :class:`MetaStrip.proxy` + - :class:`MovieStrip.proxy` + - :class:`SceneStrip.proxy` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripTransform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripTransform.rst new file mode 100644 index 0000000..c520372 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripTransform.rst @@ -0,0 +1,139 @@ +StripTransform(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: StripTransform(bpy_struct) + + Transform parameters for a sequence strip + + .. attribute:: filter + + Type of filter to use for image transformation (default ``'AUTO'``) + + - ``AUTO`` + Auto -- Automatically choose filter based on scaling factor. + - ``NEAREST`` + Nearest -- Use nearest sample. + - ``BILINEAR`` + Bilinear -- Interpolate between 2×2 samples. + - ``CUBIC_MITCHELL`` + Cubic Mitchell -- Cubic Mitchell filter on 4×4 samples. + - ``CUBIC_BSPLINE`` + Cubic B-Spline -- Cubic B-Spline filter (blurry but no ringing) on 4×4 samples. + - ``BOX`` + Box -- Averages source image samples that fall under destination pixel. + + :type: Literal['AUTO', 'NEAREST', 'BILINEAR', 'CUBIC_MITCHELL', 'CUBIC_BSPLINE', 'BOX'] + + .. attribute:: offset_x + + Move along X axis (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: offset_y + + Move along Y axis (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: origin + + Origin of image for transformation (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: rotation + + Rotate around image center (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: scale_x + + Scale along X axis (in [0, inf], default 1.0) + + :type: float + + .. attribute:: scale_y + + Scale along Y axis (in [0, inf], default 1.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`EffectStrip.transform` + - :class:`ImageStrip.transform` + - :class:`MaskStrip.transform` + - :class:`MetaStrip.transform` + - :class:`MovieClipStrip.transform` + - :class:`MovieStrip.transform` + - :class:`SceneStrip.transform` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripsMeta.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripsMeta.rst new file mode 100644 index 0000000..8620d65 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripsMeta.rst @@ -0,0 +1,246 @@ +StripsMeta(bpy_prop_collection) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: StripsMeta(bpy_prop_collection) + + Collection of Strips + + .. method:: new_clip(name, clip, channel, frame_start) + + Add a new movie clip strip + + :param name: Name for the new strip (never None) + :type name: str + :param clip: Movie clip to add (never None) + :type clip: :class:`MovieClip` | None + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_mask(name, mask, channel, frame_start) + + Add a new mask strip + + :param name: Name for the new strip (never None) + :type name: str + :param mask: Mask to add (never None) + :type mask: :class:`Mask` | None + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_scene(name, scene, channel, frame_start) + + Add a new scene strip + + :param name: Name for the new strip (never None) + :type name: str + :param scene: Scene to add (never None) + :type scene: :class:`Scene` | None + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_image(name, filepath, channel, frame_start, *, fit_method='ORIGINAL') + + Add a new image strip + + :param name: Name for the new strip (never None) + :type name: str + :param filepath: Filepath to image (never None) + :type filepath: str + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :param fit_method: Image Fit Method, (optional) + :type fit_method: Literal[:ref:`rna_enum_strip_scale_method_items`] + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_movie(name, filepath, channel, frame_start, *, fit_method='ORIGINAL') + + Add a new movie strip + + :param name: Name for the new strip (never None) + :type name: str + :param filepath: Filepath to movie (never None) + :type filepath: str + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :param fit_method: Image Fit Method, (optional) + :type fit_method: Literal[:ref:`rna_enum_strip_scale_method_items`] + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_sound(name, filepath, channel, frame_start) + + Add a new sound strip + + :param name: Name for the new strip (never None) + :type name: str + :param filepath: Filepath to movie (never None) + :type filepath: str + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_meta(name, channel, frame_start) + + Add a new meta strip + + :param name: Name for the new strip (never None) + :type name: str + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_effect(name, type, channel, frame_start, *, length=0, input1=None, input2=None) + + Add a new effect strip + + :param name: Name for the new strip (never None) + :type name: str + :param type: Type, type for the new strip + + - ``CROSS`` + Crossfade -- Fade out of one video, fading into another. + - ``ADD`` + Add -- Add together color channels from two videos. + - ``SUBTRACT`` + Subtract -- Subtract one strip's color from another. + - ``ALPHA_OVER`` + Alpha Over -- Blend alpha on top of another video. + - ``ALPHA_UNDER`` + Alpha Under -- Blend alpha below another video. + - ``GAMMA_CROSS`` + Gamma Crossfade -- Crossfade with color correction. + - ``MULTIPLY`` + Multiply -- Multiply color channels from two videos. + - ``WIPE`` + Wipe -- Sweep a transition line across the frame. + - ``GLOW`` + Glow -- Add blur and brightness to light areas. + - ``COLOR`` + Color -- Add a simple color strip. + - ``SPEED`` + Speed -- Timewarp video strips, modifying playback speed. + - ``MULTICAM`` + Multicam Selector -- Control active camera angles. + - ``ADJUSTMENT`` + Adjustment Layer -- Apply nondestructive effects. + - ``GAUSSIAN_BLUR`` + Gaussian Blur -- Soften details along axes. + - ``TEXT`` + Text -- Add a simple text strip. + - ``COLORMIX`` + Color Mix -- Combine two strips using blend modes. + :type type: Literal['CROSS', 'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER', 'GAMMA_CROSS', 'MULTIPLY', 'WIPE', 'GLOW', 'COLOR', 'SPEED', 'MULTICAM', 'ADJUSTMENT', 'GAUSSIAN_BLUR', 'TEXT', 'COLORMIX'] + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-inf, inf]) + :type frame_start: int + :param length: Length of the strip in frames, or the length of each strip if multiple are added (in [-inf, inf], optional) + :type length: int + :param input1: First input strip for effect (optional) + :type input1: :class:`Strip` | None + :param input2: Second input strip for effect (optional) + :type input2: :class:`Strip` | None + :return: New Strip + :rtype: :class:`Strip` + + .. method:: remove(sequence) + + Remove a Strip + + :param sequence: Strip to remove (never None) + :type sequence: :class:`Strip` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`MetaStrip.strips` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripsTopLevel.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripsTopLevel.rst new file mode 100644 index 0000000..c2e5922 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StripsTopLevel.rst @@ -0,0 +1,246 @@ +StripsTopLevel(bpy_prop_collection) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: StripsTopLevel(bpy_prop_collection) + + Collection of Strips + + .. method:: new_clip(name, clip, channel, frame_start) + + Add a new movie clip strip + + :param name: Name for the new strip (never None) + :type name: str + :param clip: Movie clip to add (never None) + :type clip: :class:`MovieClip` | None + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_mask(name, mask, channel, frame_start) + + Add a new mask strip + + :param name: Name for the new strip (never None) + :type name: str + :param mask: Mask to add (never None) + :type mask: :class:`Mask` | None + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_scene(name, scene, channel, frame_start) + + Add a new scene strip + + :param name: Name for the new strip (never None) + :type name: str + :param scene: Scene to add (never None) + :type scene: :class:`Scene` | None + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_image(name, filepath, channel, frame_start, *, fit_method='ORIGINAL') + + Add a new image strip + + :param name: Name for the new strip (never None) + :type name: str + :param filepath: Filepath to image (never None) + :type filepath: str + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :param fit_method: Image Fit Method, (optional) + :type fit_method: Literal[:ref:`rna_enum_strip_scale_method_items`] + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_movie(name, filepath, channel, frame_start, *, fit_method='ORIGINAL') + + Add a new movie strip + + :param name: Name for the new strip (never None) + :type name: str + :param filepath: Filepath to movie (never None) + :type filepath: str + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :param fit_method: Image Fit Method, (optional) + :type fit_method: Literal[:ref:`rna_enum_strip_scale_method_items`] + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_sound(name, filepath, channel, frame_start) + + Add a new sound strip + + :param name: Name for the new strip (never None) + :type name: str + :param filepath: Filepath to movie (never None) + :type filepath: str + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_meta(name, channel, frame_start) + + Add a new meta strip + + :param name: Name for the new strip (never None) + :type name: str + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-1048574, 1048574]) + :type frame_start: int + :return: New Strip + :rtype: :class:`Strip` + + .. method:: new_effect(name, type, channel, frame_start, *, length=0, input1=None, input2=None) + + Add a new effect strip + + :param name: Name for the new strip (never None) + :type name: str + :param type: Type, type for the new strip + + - ``CROSS`` + Crossfade -- Fade out of one video, fading into another. + - ``ADD`` + Add -- Add together color channels from two videos. + - ``SUBTRACT`` + Subtract -- Subtract one strip's color from another. + - ``ALPHA_OVER`` + Alpha Over -- Blend alpha on top of another video. + - ``ALPHA_UNDER`` + Alpha Under -- Blend alpha below another video. + - ``GAMMA_CROSS`` + Gamma Crossfade -- Crossfade with color correction. + - ``MULTIPLY`` + Multiply -- Multiply color channels from two videos. + - ``WIPE`` + Wipe -- Sweep a transition line across the frame. + - ``GLOW`` + Glow -- Add blur and brightness to light areas. + - ``COLOR`` + Color -- Add a simple color strip. + - ``SPEED`` + Speed -- Timewarp video strips, modifying playback speed. + - ``MULTICAM`` + Multicam Selector -- Control active camera angles. + - ``ADJUSTMENT`` + Adjustment Layer -- Apply nondestructive effects. + - ``GAUSSIAN_BLUR`` + Gaussian Blur -- Soften details along axes. + - ``TEXT`` + Text -- Add a simple text strip. + - ``COLORMIX`` + Color Mix -- Combine two strips using blend modes. + :type type: Literal['CROSS', 'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER', 'GAMMA_CROSS', 'MULTIPLY', 'WIPE', 'GLOW', 'COLOR', 'SPEED', 'MULTICAM', 'ADJUSTMENT', 'GAUSSIAN_BLUR', 'TEXT', 'COLORMIX'] + :param channel: Channel, The channel for the new strip (in [1, 128]) + :type channel: int + :param frame_start: The start frame for the new strip (in [-inf, inf]) + :type frame_start: int + :param length: Length of the strip in frames, or the length of each strip if multiple are added (in [-inf, inf], optional) + :type length: int + :param input1: First input strip for effect (optional) + :type input1: :class:`Strip` | None + :param input2: Second input strip for effect (optional) + :type input2: :class:`Strip` | None + :return: New Strip + :rtype: :class:`Strip` + + .. method:: remove(sequence) + + Remove a Strip + + :param sequence: Strip to remove (never None) + :type sequence: :class:`Strip` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SequenceEditor.strips` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Struct.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Struct.rst new file mode 100644 index 0000000..6c803b8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Struct.rst @@ -0,0 +1,143 @@ +Struct(bpy_struct) +================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Struct(bpy_struct) + + RNA structure definition + + .. data:: base + + Struct definition this is derived from (readonly) + + :type: :class:`Struct` | None + + .. data:: description + + Description of the Struct's purpose (default "", readonly, never None) + + :type: str + + .. data:: functions + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Function`] + + .. data:: identifier + + Unique name used in the code and scripting (default "", readonly, never None) + + :type: str + + .. data:: name + + Human readable name (default "", readonly, never None) + + :type: str + + .. data:: name_property + + Property that gives the name of the struct (readonly) + + :type: :class:`StringProperty` | None + + .. data:: nested + + Struct in which this struct is always nested, and to which it logically belongs (readonly) + + :type: :class:`Struct` | None + + .. data:: properties + + Properties in the struct (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Property`] + + .. data:: property_tags + + Tags that properties can use to influence behavior (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`EnumPropertyItem`] + + .. data:: translation_context + + Translation context of the struct's name (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlenderRNA.structs` + - :class:`CollectionProperty.fixed_type` + - :class:`PointerProperty.fixed_type` + - :class:`Property.srna` + - :class:`Struct.base` + - :class:`Struct.nested` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StucciTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StucciTexture.rst new file mode 100644 index 0000000..31f4475 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StucciTexture.rst @@ -0,0 +1,212 @@ +StucciTexture(Texture) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Texture` + +.. class:: StucciTexture(Texture) + + Procedural noise texture + + .. attribute:: noise_basis + + Noise basis used for turbulence (default ``'BLENDER_ORIGINAL'``) + + - ``BLENDER_ORIGINAL`` + Blender Original -- Noise algorithm - Blender original: Smooth interpolated noise. + - ``ORIGINAL_PERLIN`` + Original Perlin -- Noise algorithm - Original Perlin: Smooth interpolated noise. + - ``IMPROVED_PERLIN`` + Improved Perlin -- Noise algorithm - Improved Perlin: Smooth interpolated noise. + - ``VORONOI_F1`` + Voronoi F1 -- Noise algorithm - Voronoi F1: Returns distance to the closest feature point. + - ``VORONOI_F2`` + Voronoi F2 -- Noise algorithm - Voronoi F2: Returns distance to the 2nd closest feature point. + - ``VORONOI_F3`` + Voronoi F3 -- Noise algorithm - Voronoi F3: Returns distance to the 3rd closest feature point. + - ``VORONOI_F4`` + Voronoi F4 -- Noise algorithm - Voronoi F4: Returns distance to the 4th closest feature point. + - ``VORONOI_F2_F1`` + Voronoi F2-F1 -- Noise algorithm - Voronoi F1-F2. + - ``VORONOI_CRACKLE`` + Voronoi Crackle -- Noise algorithm - Voronoi Crackle: Voronoi tessellation with sharp edges. + - ``CELL_NOISE`` + Cell Noise -- Noise algorithm - Cell Noise: Square cell tessellation. + + :type: Literal['BLENDER_ORIGINAL', 'ORIGINAL_PERLIN', 'IMPROVED_PERLIN', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2_F1', 'VORONOI_CRACKLE', 'CELL_NOISE'] + + .. attribute:: noise_scale + + Scaling for noise input (in [0.0001, inf], default 0.25) + + :type: float + + .. attribute:: noise_type + + (default ``'SOFT_NOISE'``) + + - ``SOFT_NOISE`` + Soft -- Generate soft noise (smooth transitions). + - ``HARD_NOISE`` + Hard -- Generate hard noise (sharp transitions). + + :type: Literal['SOFT_NOISE', 'HARD_NOISE'] + + .. attribute:: stucci_type + + (default ``'PLASTIC'``) + + - ``PLASTIC`` + Plastic -- Use standard stucci. + - ``WALL_IN`` + Wall In -- Create Dimples. + - ``WALL_OUT`` + Wall Out -- Create Ridges. + + :type: Literal['PLASTIC', 'WALL_IN', 'WALL_OUT'] + + .. attribute:: turbulence + + Turbulence of the noise (in [0.0001, inf], default 5.0) + + :type: float + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Texture.type` + - :class:`Texture.use_clamp` + - :class:`Texture.use_color_ramp` + - :class:`Texture.color_ramp` + - :class:`Texture.intensity` + - :class:`Texture.contrast` + - :class:`Texture.saturation` + - :class:`Texture.factor_red` + - :class:`Texture.factor_green` + - :class:`Texture.factor_blue` + - :class:`Texture.use_preview_alpha` + - :class:`Texture.use_nodes` + - :class:`Texture.node_tree` + - :class:`Texture.animation_data` + - :class:`Texture.users_material` + - :class:`Texture.users_object_modifier` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Texture.evaluate` + - :class:`Texture.bl_rna_get_subclass` + - :class:`Texture.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StudioLight.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StudioLight.rst new file mode 100644 index 0000000..2bead4a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StudioLight.rst @@ -0,0 +1,130 @@ +StudioLight(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: StudioLight(bpy_struct) + + Studio light + + .. data:: has_specular_highlight_pass + + Studio light image file has separate "diffuse" and "specular" passes (default False, readonly) + + :type: bool + + .. data:: index + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: is_user_defined + + (default False, readonly) + + :type: bool + + .. data:: light_ambient + + Color of the ambient light that uniformly lit the scene (array of 3 items, in [0, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Color` + + .. data:: name + + (default "", readonly, never None) + + :type: str + + .. data:: path + + (default "", readonly, never None) + + :type: str + + .. data:: solid_lights + + Lights used to display objects in solid draw mode (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`UserSolidLight`] + + .. data:: type + + (default ``'STUDIO'``, readonly) + + :type: Literal['STUDIO', 'WORLD', 'MATCAP'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.studio_lights` + - :class:`StudioLights.load` + - :class:`StudioLights.new` + - :class:`StudioLights.remove` + - :class:`View3DShading.selected_studio_light` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StudioLights.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StudioLights.rst new file mode 100644 index 0000000..f373809 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.StudioLights.rst @@ -0,0 +1,110 @@ +StudioLights(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: StudioLights(bpy_prop_collection) + + Collection of studio lights + + .. method:: load(path, type) + + Load studiolight from file + + :param path: File Path, File path where the studio light file can be found (never None) + :type path: str + :param type: Type, The type for the new studio light + :type type: Literal['STUDIO', 'WORLD', 'MATCAP'] + :return: Newly created StudioLight + :rtype: :class:`StudioLight` + + .. method:: new(path) + + Create studiolight from default lighting + + :param path: Path, Path to the file that will contain the lighting info (without extension) (never None) + :type path: str + :return: Newly created StudioLight + :rtype: :class:`StudioLight` + + .. method:: remove(studio_light) + + Remove a studio light + + :param studio_light: The studio light to remove (never None) + :type studio_light: :class:`StudioLight` | None + + .. method:: refresh() + + Refresh Studio Lights from disk + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.studio_lights` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SubsurfModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SubsurfModifier.rst new file mode 100644 index 0000000..92dc114 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SubsurfModifier.rst @@ -0,0 +1,191 @@ +SubsurfModifier(Modifier) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: SubsurfModifier(Modifier) + + Subdivision surface modifier + + .. attribute:: adaptive_object_edge_length + + Target object space edge length for adaptive subdivision (in [0.0001, 1000], default 0.01) + + :type: float + + .. attribute:: adaptive_pixel_size + + Target polygon pixel size for adaptive subdivision (in [0.1, 1000], default 1.0) + + :type: float + + .. attribute:: adaptive_space + + How to adaptively subdivide the mesh (default ``'PIXEL'``) + + - ``PIXEL`` + Pixel -- Subdivide polygons to reach a specified pixel size on screen. + - ``OBJECT`` + Object -- Subdivide to reach a specified edge length in object space. This is required to use adaptive subdivision for instanced meshes. + + :type: Literal['PIXEL', 'OBJECT'] + + .. attribute:: boundary_smooth + + Controls how open boundaries are smoothed (default ``'ALL'``) + + :type: Literal[:ref:`rna_enum_subdivision_boundary_smooth_items`] + + .. attribute:: levels + + Number of subdivisions to perform in the 3D viewport (in [0, 11], default 1) + + :type: int + + .. attribute:: open_adaptive_subdivision_panel + + (default False) + + :type: bool + + .. attribute:: open_advanced_panel + + (default False) + + :type: bool + + .. attribute:: quality + + Accuracy of vertex positions, lower value is faster but less precise (in [1, 10], default 3) + + :type: int + + .. attribute:: render_levels + + Number of subdivisions to perform when rendering (in [0, 11], default 2) + + :type: int + + .. attribute:: show_only_control_edges + + Skip displaying interior subdivided edges (default True) + + :type: bool + + .. attribute:: subdivision_type + + Select type of subdivision algorithm (default ``'CATMULL_CLARK'``) + + - ``CATMULL_CLARK`` + Catmull-Clark -- Create a smooth curved surface using the Catmull-Clark subdivision scheme. + - ``SIMPLE`` + Simple -- Subdivide faces without changing shape. + + :type: Literal['CATMULL_CLARK', 'SIMPLE'] + + .. attribute:: use_adaptive_subdivision + + Adaptively subdivide mesh based on camera distance (default False) + + :type: bool + + .. attribute:: use_creases + + Use mesh crease information to sharpen edges or corners (default True) + + :type: bool + + .. attribute:: use_custom_normals + + Interpolates existing custom normals to resulting mesh (default False) + + :type: bool + + .. attribute:: use_limit_surface + + Place vertices at the surface that would be produced with infinite levels of subdivision (smoothest possible shape) (default True) + + :type: bool + + .. attribute:: uv_smooth + + Controls how smoothing is applied to UVs (default ``'PRESERVE_BOUNDARIES'``) + + :type: Literal[:ref:`rna_enum_subdivision_uv_smooth_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SubtractStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SubtractStrip.rst new file mode 100644 index 0000000..0329c0d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SubtractStrip.rst @@ -0,0 +1,144 @@ +SubtractStrip(EffectStrip) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: SubtractStrip(EffectStrip) + + Subtract Strip + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. attribute:: input_2 + + Second input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SunLight.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SunLight.rst new file mode 100644 index 0000000..01d1e20 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SunLight.rst @@ -0,0 +1,211 @@ +SunLight(Light) +=============== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Light` + +.. class:: SunLight(Light) + + Constant direction parallel ray Light + + .. attribute:: angle + + Angular diameter of the Sun as seen from the Earth (in [0, 3.14159], default 0.00918043) + + :type: float + + .. attribute:: energy + + Sunlight strength in watts per meter squared (W/m²) (in [-inf, inf], default 10.0) + + :type: float + + .. attribute:: shadow_buffer_clip_start + + Shadow map clip start, below which objects will not generate shadows (in [1e-06, inf], default 0.05) + + :type: float + + .. attribute:: shadow_cascade_count + + Number of texture used by the cascaded shadow map (in [1, 4], default 4) + + :type: int + + .. attribute:: shadow_cascade_exponent + + Higher value increase resolution towards the viewpoint (in [0, 1], default 0.8) + + :type: float + + .. attribute:: shadow_cascade_fade + + How smooth is the transition between each cascade (in [0, 1], default 0.1) + + :type: float + + .. attribute:: shadow_cascade_max_distance + + End distance of the cascaded shadow map (only in perspective view) (in [0, inf], default 200.0) + + :type: float + + .. attribute:: shadow_filter_radius + + Blur shadow aliasing using Percentage Closer Filtering (in [0, inf], default 1.0) + + :type: float + + .. attribute:: shadow_jitter_overblur + + Apply shadow tracing to each jittered sample to reduce under-sampling artifacts (in [0, 100], default 10.0) + + :type: float + + .. attribute:: shadow_maximum_resolution + + Minimum size of a shadow map pixel. Higher values use less memory at the cost of shadow quality. (in [0, inf], default 0.001) + + :type: float + + .. attribute:: shadow_soft_size + + Light size for ray shadow sampling (Raytraced shadows) (in [0, inf], default 0.0) + + :type: float + + .. attribute:: use_shadow_jitter + + Enable jittered soft shadows to increase shadow precision (disabled in viewport unless enabled in the render settings). Has a high performance impact. (default False) + + :type: bool + + .. method:: inline_shader_nodes() + + Get the inlined shader nodes of this light. This preprocesses the node tree + to remove nested groups, repeat zones and more. + + :return: The inlined shader nodes. + :rtype: :class:`bpy.types.InlineShaderNodes` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Light.type` + - :class:`Light.use_temperature` + - :class:`Light.color` + - :class:`Light.temperature` + - :class:`Light.temperature_color` + - :class:`Light.specular_factor` + - :class:`Light.diffuse_factor` + - :class:`Light.transmission_factor` + - :class:`Light.volume_factor` + - :class:`Light.use_custom_distance` + - :class:`Light.cutoff_distance` + - :class:`Light.use_shadow` + - :class:`Light.exposure` + - :class:`Light.normalize` + - :class:`Light.node_tree` + - :class:`Light.use_nodes` + - :class:`Light.animation_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Light.area` + - :class:`Light.inline_shader_nodes` + - :class:`Light.bl_rna_get_subclass` + - :class:`Light.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SurfaceCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SurfaceCurve.rst new file mode 100644 index 0000000..639372e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SurfaceCurve.rst @@ -0,0 +1,156 @@ +SurfaceCurve(Curve) +=================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Curve` + +.. class:: SurfaceCurve(Curve) + + Curve data-block used for storing surfaces + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Curve.shape_keys` + - :class:`Curve.splines` + - :class:`Curve.path_duration` + - :class:`Curve.use_path` + - :class:`Curve.use_path_follow` + - :class:`Curve.use_path_clamp` + - :class:`Curve.use_stretch` + - :class:`Curve.use_deform_bounds` + - :class:`Curve.use_radius` + - :class:`Curve.bevel_mode` + - :class:`Curve.bevel_profile` + - :class:`Curve.bevel_resolution` + - :class:`Curve.offset` + - :class:`Curve.extrude` + - :class:`Curve.bevel_depth` + - :class:`Curve.resolution_u` + - :class:`Curve.resolution_v` + - :class:`Curve.render_resolution_u` + - :class:`Curve.render_resolution_v` + - :class:`Curve.eval_time` + - :class:`Curve.bevel_object` + - :class:`Curve.taper_object` + - :class:`Curve.dimensions` + - :class:`Curve.fill_mode` + - :class:`Curve.fill_solver` + - :class:`Curve.fill_rule` + - :class:`Curve.twist_mode` + - :class:`Curve.taper_radius_mode` + - :class:`Curve.bevel_factor_mapping_start` + - :class:`Curve.bevel_factor_mapping_end` + - :class:`Curve.twist_smooth` + - :class:`Curve.use_fill_caps` + - :class:`Curve.use_map_taper` + - :class:`Curve.use_auto_texspace` + - :class:`Curve.texspace_location` + - :class:`Curve.texspace_size` + - :class:`Curve.materials` + - :class:`Curve.bevel_factor_start` + - :class:`Curve.bevel_factor_end` + - :class:`Curve.is_editmode` + - :class:`Curve.animation_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Curve.transform` + - :class:`Curve.validate_material_indices` + - :class:`Curve.update_gpu_tag` + - :class:`Curve.bl_rna_get_subclass` + - :class:`Curve.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SurfaceDeformModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SurfaceDeformModifier.rst new file mode 100644 index 0000000..a728c49 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SurfaceDeformModifier.rst @@ -0,0 +1,126 @@ +SurfaceDeformModifier(Modifier) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: SurfaceDeformModifier(Modifier) + + + .. attribute:: falloff + + Controls how much nearby polygons influence deformation (in [2, 16], default 4.0) + + :type: float + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. data:: is_bound + + Whether geometry has been bound to target mesh (default False, readonly) + + :type: bool + + .. attribute:: strength + + Strength of modifier deformations (in [-100, 100], default 1.0) + + :type: float + + .. attribute:: target + + Mesh object to deform with + + :type: :class:`Object` | None + + .. attribute:: use_sparse_bind + + Only record binding data for vertices matching the vertex group at the time of bind (default False) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name for selecting/weighting the affected areas (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SurfaceModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SurfaceModifier.rst new file mode 100644 index 0000000..5ce5a15 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.SurfaceModifier.rst @@ -0,0 +1,85 @@ +SurfaceModifier(Modifier) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: SurfaceModifier(Modifier) + + Surface modifier defining modifier stack position used for surface fields + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TEXTURE_UL_texpaintslots.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TEXTURE_UL_texpaintslots.rst new file mode 100644 index 0000000..9e46efc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TEXTURE_UL_texpaintslots.rst @@ -0,0 +1,92 @@ +TEXTURE_UL_texpaintslots(UIList) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: TEXTURE_UL_texpaintslots(UIList) + + + .. method:: draw_item(_context, layout, _data, item, _icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TEXTURE_UL_texslots.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TEXTURE_UL_texslots.rst new file mode 100644 index 0000000..b8b73e8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TEXTURE_UL_texslots.rst @@ -0,0 +1,92 @@ +TEXTURE_UL_texslots(UIList) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: TEXTURE_UL_texslots(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TexMapping.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TexMapping.rst new file mode 100644 index 0000000..78a2d0c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TexMapping.rst @@ -0,0 +1,169 @@ +TexMapping(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: TexMapping(bpy_struct) + + Texture coordinate mapping settings + + .. attribute:: mapping + + (default ``'FLAT'``) + + - ``FLAT`` + Flat -- Map X and Y coordinates directly. + - ``CUBE`` + Cube -- Map using the normal vector. + - ``TUBE`` + Tube -- Map with Z as central axis. + - ``SPHERE`` + Sphere -- Map with Z as central axis. + + :type: Literal['FLAT', 'CUBE', 'TUBE', 'SPHERE'] + + .. attribute:: mapping_x + + (default ``'NONE'``) + + :type: Literal['NONE', 'X', 'Y', 'Z'] + + .. attribute:: mapping_y + + (default ``'NONE'``) + + :type: Literal['NONE', 'X', 'Y', 'Z'] + + .. attribute:: mapping_z + + (default ``'NONE'``) + + :type: Literal['NONE', 'X', 'Y', 'Z'] + + .. attribute:: max + + Maximum value for clipping (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: min + + Minimum value for clipping (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: rotation + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: scale + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: translation + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: use_max + + Whether to use maximum clipping value (default False) + + :type: bool + + .. attribute:: use_min + + Whether to use minimum clipping value (default False) + + :type: bool + + .. attribute:: vector_type + + Type of vector that the mapping transforms (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_mapping_type_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ShaderNodeTexBrick.texture_mapping` + - :class:`ShaderNodeTexChecker.texture_mapping` + - :class:`ShaderNodeTexEnvironment.texture_mapping` + - :class:`ShaderNodeTexGabor.texture_mapping` + - :class:`ShaderNodeTexGradient.texture_mapping` + - :class:`ShaderNodeTexImage.texture_mapping` + - :class:`ShaderNodeTexMagic.texture_mapping` + - :class:`ShaderNodeTexNoise.texture_mapping` + - :class:`ShaderNodeTexSky.texture_mapping` + - :class:`ShaderNodeTexVoronoi.texture_mapping` + - :class:`ShaderNodeTexWave.texture_mapping` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TexPaintSlot.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TexPaintSlot.rst new file mode 100644 index 0000000..196b22a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TexPaintSlot.rst @@ -0,0 +1,102 @@ +TexPaintSlot(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: TexPaintSlot(bpy_struct) + + Slot that contains information about texture painting + + .. data:: icon_value + + Paint slot icon (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: is_valid + + Slot has a valid image and UV map (default False, readonly) + + :type: bool + + .. data:: name + + Name of the slot (default "", readonly, never None) + + :type: str + + .. attribute:: uv_layer + + Name of UV map (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Material.texture_paint_slots` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Text.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Text.rst new file mode 100644 index 0000000..09c2a3e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Text.rst @@ -0,0 +1,291 @@ +Text(ID) +======== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Text(ID) + + Text data-block referencing an external or packed text file + + .. attribute:: current_character + + Index of current character in current line, and also start index of character in selection if one exists (in [0, inf], default 0) + + :type: int + + .. data:: current_line + + Current line, and start line of selection if one exists (readonly, never None) + + :type: :class:`TextLine` + + .. attribute:: current_line_index + + Index of current TextLine in TextLine collection (in [-inf, inf], default 0) + + :type: int + + .. attribute:: filepath + + Filename of the text file (default "", never None) + + :type: str + + .. attribute:: indentation + + Use tabs or spaces for indentation (default ``'TABS'``) + + - ``TABS`` + Tabs -- Indent using tabs. + - ``SPACES`` + Spaces -- Indent using spaces. + + :type: Literal['TABS', 'SPACES'] + + .. data:: is_dirty + + Text file has been edited since last save (default False, readonly) + + :type: bool + + .. data:: is_in_memory + + Text file is in memory, without a corresponding file on disk (default False, readonly) + + :type: bool + + .. data:: is_modified + + Text file on disk is different than the one in memory (default False, readonly) + + :type: bool + + .. data:: lines + + Lines of text (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`TextLine`] + + .. attribute:: select_end_character + + Index of character after end of selection in the selection end line (in [0, inf], default 0) + + :type: int + + .. data:: select_end_line + + End line of selection (readonly, never None) + + :type: :class:`TextLine` + + .. attribute:: select_end_line_index + + Index of last TextLine in selection (in [-inf, inf], default 0) + + :type: int + + .. attribute:: use_module + + Run this text as a Python script on loading (default False) + + :type: bool + + .. method:: clear() + + clear the text block + + + .. method:: write(text) + + write text at the cursor location and advance to the end of the text block + + :param text: New text for this data-block (never None) + :type text: str + + .. method:: from_string(text) + + Replace text with this string. + + :param text: (never None) + :type text: str + + .. method:: as_string() + + Return the text as a string + + :return: (never None) + :rtype: str + + .. method:: is_syntax_highlight_supported() + + Returns True if the editor supports syntax highlighting for the current text data-block + + :rtype: bool + + .. method:: select_set(line_start, char_start, line_end, char_end) + + Set selection range by line and character index + + :param line_start: Start Line, (in [-inf, inf]) + :type line_start: int + :param char_start: Start Character, (in [-inf, inf]) + :type char_start: int + :param line_end: End Line, (in [-inf, inf]) + :type line_end: int + :param char_end: End Character, (in [-inf, inf]) + :type char_end: int + + .. method:: cursor_set(line, *, character=0, select=False) + + Set cursor by line and (optionally) character index + + :param line: Line, (in [0, inf]) + :type line: int + :param character: Character, (in [0, inf], optional) + :type character: int + :param select: Select when moving the cursor (optional) + :type select: bool + + .. method:: as_module() + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + + .. method:: region_as_string(*, range=None) + + :param range: The region of text to be returned, defaulting to the selection when no range is passed. + Each int pair represents a line and column: ((start_line, start_column), (end_line, end_column)) + The values match Python's slicing logic (negative values count backwards from the end, the end value is not inclusive). + :type range: tuple[tuple[int, int], tuple[int, int]] | None + :return: The specified region as a string. + :rtype: str + + + .. method:: region_from_string(body, /, *, range=None) + + :param body: The text to be inserted. + :type body: str + :param range: The region of text to be returned, defaulting to the selection when no range is passed. + Each int pair represents a line and column: ((start_line, start_column), (end_line, end_column)) + The values match Python's slicing logic (negative values count backwards from the end, the end value is not inclusive). + :type range: tuple[tuple[int, int], tuple[int, int]] | None + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.edit_text` + - :class:`BlendData.texts` + - :class:`BlendDataTexts.load` + - :class:`BlendDataTexts.new` + - :class:`BlendDataTexts.remove` + - :class:`Camera.custom_shader` + - :class:`FreestyleModuleSettings.script` + - :class:`NodeFrame.text` + - :class:`NodeSocketText.default_value` + - :class:`NodeTreeInterfaceSocketText.default_value` + - :class:`ShaderNodeScript.script` + - :class:`ShaderNodeTexIES.ies` + - :class:`SpaceTextEditor.text` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextBox.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextBox.rst new file mode 100644 index 0000000..5e276b2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextBox.rst @@ -0,0 +1,102 @@ +TextBox(bpy_struct) +=================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: TextBox(bpy_struct) + + Text bounding box for layout + + .. attribute:: height + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: width + + (in [0, inf], default 0.0) + + :type: float + + .. attribute:: x + + (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: y + + (in [-inf, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`TextCurve.text_boxes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextCharacterFormat.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextCharacterFormat.rst new file mode 100644 index 0000000..f331bb4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextCharacterFormat.rst @@ -0,0 +1,115 @@ +TextCharacterFormat(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: TextCharacterFormat(bpy_struct) + + Text character formatting settings + + .. attribute:: kerning + + Spacing between characters (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: material_index + + Material slot index of this character (in [0, inf], default 0) + + :type: int + + .. attribute:: use_bold + + (default False) + + :type: bool + + .. attribute:: use_italic + + (default False) + + :type: bool + + .. attribute:: use_small_caps + + (default False) + + :type: bool + + .. attribute:: use_underline + + (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`TextCurve.body_format` + - :class:`TextCurve.edit_format` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextCurve.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextCurve.rst new file mode 100644 index 0000000..58e3c10 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextCurve.rst @@ -0,0 +1,357 @@ +TextCurve(Curve) +================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Curve` + +.. class:: TextCurve(Curve) + + Curve data-block used for storing text + + .. attribute:: active_textbox + + (in [-inf, inf], default 0) + + :type: int + + .. attribute:: align_x + + Text horizontal alignment from the object or text box center (default ``'LEFT'``) + + - ``LEFT`` + Left -- Align text to the left. + - ``CENTER`` + Center -- Center text. + - ``RIGHT`` + Right -- Align text to the right. + - ``JUSTIFY`` + Justify -- Align to the left and the right. + - ``FLUSH`` + Flush -- Align to the left and the right, with equal character spacing. + + :type: Literal['LEFT', 'CENTER', 'RIGHT', 'JUSTIFY', 'FLUSH'] + + .. attribute:: align_y + + Text vertical alignment from the object center (default ``'TOP_BASELINE'``) + + - ``TOP`` + Top -- Align text to the top. + - ``TOP_BASELINE`` + Top Baseline -- Align text to the top line's baseline. + - ``CENTER`` + Middle -- Align text to the middle. + - ``BOTTOM_BASELINE`` + Bottom Baseline -- Align text to the bottom line's baseline. + - ``BOTTOM`` + Bottom -- Align text to the bottom. + + :type: Literal['TOP', 'TOP_BASELINE', 'CENTER', 'BOTTOM_BASELINE', 'BOTTOM'] + + .. attribute:: body + + Content of this text object (default "", never None) + + :type: str + + .. data:: body_format + + Stores the style of each character (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`TextCharacterFormat`] + + .. data:: edit_format + + Editing settings character formatting (readonly) + + :type: :class:`TextCharacterFormat` | None + + .. attribute:: family + + Use objects as font characters (give font objects a common name followed by the character they represent, eg. 'family-a', 'family-b', etc, set this setting to 'family-', and turn on Vertex Instancing) (default "", never None) + + :type: str + + .. attribute:: follow_curve + + Curve deforming text object + + :type: :class:`Object` | None + + .. attribute:: font + + :type: :class:`VectorFont` | None + + .. attribute:: font_bold + + :type: :class:`VectorFont` | None + + .. attribute:: font_bold_italic + + :type: :class:`VectorFont` | None + + .. attribute:: font_italic + + :type: :class:`VectorFont` | None + + .. data:: has_selection + + Whether there is any text selected (default False, readonly) + + :type: bool + + .. data:: is_select_bold + + Whether the selected text is bold (default False, readonly) + + :type: bool + + .. data:: is_select_italic + + Whether the selected text is italics (default False, readonly) + + :type: bool + + .. data:: is_select_smallcaps + + Whether the selected text is small caps (default False, readonly) + + :type: bool + + .. data:: is_select_underline + + Whether the selected text is underlined (default False, readonly) + + :type: bool + + .. attribute:: offset_x + + Horizontal offset from the object origin (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: offset_y + + Vertical offset from the object origin (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: overflow + + Handle the text behavior when it does not fit in the text boxes (default ``'NONE'``) + + - ``NONE`` + Overflow -- Let the text overflow outside the text boxes. + - ``SCALE`` + Scale to Fit -- Scale down the text to fit inside the text boxes. + - ``TRUNCATE`` + Truncate -- Truncate the text that would go outside the text boxes. + + :type: Literal['NONE', 'SCALE', 'TRUNCATE'] + + .. attribute:: shear + + Italic angle of the characters (in [-1, 1], default 0.0) + + :type: float + + .. attribute:: size + + (in [0.0001, 10000], default 1.0) + + :type: float + + .. attribute:: small_caps_scale + + Scale of small capitals (in [-inf, inf], default 0.75) + + :type: float + + .. attribute:: space_character + + (in [0, 10], default 1.0) + + :type: float + + .. attribute:: space_line + + (in [0, 10], default 1.0) + + :type: float + + .. attribute:: space_word + + (in [0, 10], default 1.0) + + :type: float + + .. data:: text_boxes + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`TextBox`] + + .. attribute:: underline_height + + (in [0, 0.8], default 0.05) + + :type: float + + .. attribute:: underline_position + + Vertical position of underline (in [-0.2, 0.8], default 0.0) + + :type: float + + .. attribute:: use_fast_edit + + Don't fill polygons while editing (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Curve.shape_keys` + - :class:`Curve.splines` + - :class:`Curve.path_duration` + - :class:`Curve.use_path` + - :class:`Curve.use_path_follow` + - :class:`Curve.use_path_clamp` + - :class:`Curve.use_stretch` + - :class:`Curve.use_deform_bounds` + - :class:`Curve.use_radius` + - :class:`Curve.bevel_mode` + - :class:`Curve.bevel_profile` + - :class:`Curve.bevel_resolution` + - :class:`Curve.offset` + - :class:`Curve.extrude` + - :class:`Curve.bevel_depth` + - :class:`Curve.resolution_u` + - :class:`Curve.resolution_v` + - :class:`Curve.render_resolution_u` + - :class:`Curve.render_resolution_v` + - :class:`Curve.eval_time` + - :class:`Curve.bevel_object` + - :class:`Curve.taper_object` + - :class:`Curve.dimensions` + - :class:`Curve.fill_mode` + - :class:`Curve.fill_solver` + - :class:`Curve.fill_rule` + - :class:`Curve.twist_mode` + - :class:`Curve.taper_radius_mode` + - :class:`Curve.bevel_factor_mapping_start` + - :class:`Curve.bevel_factor_mapping_end` + - :class:`Curve.twist_smooth` + - :class:`Curve.use_fill_caps` + - :class:`Curve.use_map_taper` + - :class:`Curve.use_auto_texspace` + - :class:`Curve.texspace_location` + - :class:`Curve.texspace_size` + - :class:`Curve.materials` + - :class:`Curve.bevel_factor_start` + - :class:`Curve.bevel_factor_end` + - :class:`Curve.is_editmode` + - :class:`Curve.animation_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Curve.transform` + - :class:`Curve.validate_material_indices` + - :class:`Curve.update_gpu_tag` + - :class:`Curve.bl_rna_get_subclass` + - :class:`Curve.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextLine.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextLine.rst new file mode 100644 index 0000000..3589a5e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextLine.rst @@ -0,0 +1,86 @@ +TextLine(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: TextLine(bpy_struct) + + Line of text in a Text data-block + + .. attribute:: body + + Text in the line (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Text.current_line` + - :class:`Text.lines` + - :class:`Text.select_end_line` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextStrip.rst new file mode 100644 index 0000000..ec93ef7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextStrip.rst @@ -0,0 +1,270 @@ +TextStrip(EffectStrip) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: TextStrip(EffectStrip) + + Sequence strip creating text + + .. attribute:: alignment_x + + Horizontal text alignment (default ``'LEFT'``) + + :type: Literal['LEFT', 'CENTER', 'RIGHT'] + + .. attribute:: anchor_x + + Horizontal position of the text box relative to Location (default ``'LEFT'``) + + :type: Literal['LEFT', 'CENTER', 'RIGHT'] + + .. attribute:: anchor_y + + Vertical position of the text box relative to Location (default ``'TOP'``) + + :type: Literal['TOP', 'CENTER', 'BOTTOM'] + + .. attribute:: box_color + + (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: box_margin + + Box margin as factor of image width (in [0, 1], default 0.01) + + :type: float + + .. attribute:: box_roundness + + Box corner radius as a factor of box height (in [0, 1], default 0.0) + + :type: float + + .. attribute:: color + + Text color (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: font + + Font of the text. Falls back to the UI font by default. + + :type: :class:`VectorFont` | None + + .. attribute:: font_size + + Size of the text (in [0, 2000], default 0.0) + + :type: float + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: location + + Location of the text (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: outline_color + + (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: outline_width + + (in [0, 1], default 0.05) + + :type: float + + .. attribute:: shadow_angle + + (in [0, 6.28319], default 1.13446) + + :type: float + + .. attribute:: shadow_blur + + (in [0, 1], default 0.0) + + :type: float + + .. attribute:: shadow_color + + (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: shadow_offset + + (in [0, 1], default 0.04) + + :type: float + + .. attribute:: text + + Text that will be displayed (default "", never None) + + :type: str + + .. attribute:: use_bold + + Display text as bold (default False) + + :type: bool + + .. attribute:: use_box + + Display colored box behind text (default False) + + :type: bool + + .. attribute:: use_italic + + Display text as italic (default False) + + :type: bool + + .. attribute:: use_outline + + Display outline around text (default False) + + :type: bool + + .. attribute:: use_shadow + + Display shadow behind text (default False) + + :type: bool + + .. attribute:: wrap_width + + Word wrap width as factor, zero disables (in [0, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Texture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Texture.rst new file mode 100644 index 0000000..56fb7b9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Texture.rst @@ -0,0 +1,255 @@ +Texture(ID) +=========== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +subclasses --- +:class:`BlendTexture`, :class:`CloudsTexture`, :class:`DistortedNoiseTexture`, :class:`ImageTexture`, :class:`MagicTexture`, :class:`MarbleTexture`, :class:`MusgraveTexture`, :class:`NoiseTexture`, :class:`StucciTexture`, :class:`VoronoiTexture`, :class:`WoodTexture` + +.. class:: Texture(ID) + + Texture data-block used by materials, lights, worlds and brushes + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. data:: color_ramp + + (readonly) + + :type: :class:`ColorRamp` | None + + .. attribute:: contrast + + Adjust the contrast of the texture (in [0, 5], default 1.0) + + :type: float + + .. attribute:: factor_blue + + (in [0, 2], default 1.0) + + :type: float + + .. attribute:: factor_green + + (in [0, 2], default 1.0) + + :type: float + + .. attribute:: factor_red + + (in [0, 2], default 1.0) + + :type: float + + .. attribute:: intensity + + Adjust the brightness of the texture (in [0, 2], default 1.0) + + :type: float + + .. data:: node_tree + + Node tree for node-based textures (readonly) + + :type: :class:`NodeTree` | None + + .. attribute:: saturation + + Adjust the saturation of colors in the texture (in [0, 2], default 1.0) + + :type: float + + .. attribute:: type + + (default ``'IMAGE'``) + + :type: Literal[:ref:`rna_enum_texture_type_items`] + + .. attribute:: use_clamp + + Set negative texture RGB and intensity values to zero, for some uses like displacement this option can be disabled to get the full range (default False) + + :type: bool + + .. attribute:: use_color_ramp + + Map the texture intensity to the color ramp. Note that the alpha value is used for image textures, enable "Calculate Alpha" for images without an alpha channel. (default False) + + :type: bool + + .. attribute:: use_nodes + + Make this a node-based texture (default False) + + :type: bool + + .. attribute:: use_preview_alpha + + Show Alpha in Preview Render (default False) + + :type: bool + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. method:: evaluate(value) + + Evaluate the texture at the given coordinate and returns the result + + :param value: The coordinates (x,y,z) of the texture, in case of a 3D texture, the z value is the slice of the texture that is evaluated. For 2D textures such as images, the z value is ignored., (array of 3 items, in [-inf, inf]) + :type value: :class:`mathutils.Vector` | Sequence[float] + :return: The result of the texture where (x,y,z,w) are (red, green, blue, intensity). For grayscale textures, often intensity only will be used., (array of 4 items, in [-inf, inf]) + :rtype: :class:`mathutils.Vector` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.texture` + - :class:`BlendData.textures` + - :class:`BlendDataTextures.new` + - :class:`BlendDataTextures.remove` + - :class:`Brush.mask_texture` + - :class:`Brush.texture` + - :class:`DisplaceModifier.texture` + - :class:`DynamicPaintSurface.init_texture` + - :class:`FieldSettings.texture` + - :class:`FluidFlowSettings.noise_texture` + - :class:`FreestyleLineStyle.active_texture` + - :class:`NodeSocketTexture.default_value` + - :class:`NodeTreeInterfaceSocketTexture.default_value` + - :class:`ParticleSettings.active_texture` + - :class:`TextureNodeTexture.texture` + - :class:`TextureSlot.texture` + - :class:`VertexWeightEditModifier.mask_texture` + - :class:`VertexWeightMixModifier.mask_texture` + - :class:`VertexWeightProximityModifier.mask_texture` + - :class:`VolumeDisplaceModifier.texture` + - :class:`WarpModifier.texture` + - :class:`WaveModifier.texture` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNode.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNode.rst new file mode 100644 index 0000000..11fba44 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNode.rst @@ -0,0 +1,130 @@ +TextureNode(NodeInternal) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal` + +subclasses --- +:class:`TextureNodeAt`, :class:`TextureNodeBricks`, :class:`TextureNodeChecker`, :class:`TextureNodeCombineColor`, :class:`TextureNodeCompose`, :class:`TextureNodeCoordinates`, :class:`TextureNodeCurveRGB`, :class:`TextureNodeCurveTime`, :class:`TextureNodeDecompose`, :class:`TextureNodeDistance`, :class:`TextureNodeGroup`, :class:`TextureNodeHueSaturation`, :class:`TextureNodeImage`, :class:`TextureNodeInvert`, :class:`TextureNodeMath`, :class:`TextureNodeMixRGB`, :class:`TextureNodeOutput`, :class:`TextureNodeRGBToBW`, :class:`TextureNodeRotate`, :class:`TextureNodeScale`, :class:`TextureNodeSeparateColor`, :class:`TextureNodeTexBlend`, :class:`TextureNodeTexClouds`, :class:`TextureNodeTexDistNoise`, :class:`TextureNodeTexMagic`, :class:`TextureNodeTexMarble`, :class:`TextureNodeTexMusgrave`, :class:`TextureNodeTexNoise`, :class:`TextureNodeTexStucci`, :class:`TextureNodeTexVoronoi`, :class:`TextureNodeTexWood`, :class:`TextureNodeTexture`, :class:`TextureNodeTranslate`, :class:`TextureNodeValToNor`, :class:`TextureNodeValToRGB`, :class:`TextureNodeViewer` + +.. class:: TextureNode(NodeInternal) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeAt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeAt.rst new file mode 100644 index 0000000..7715831 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeAt.rst @@ -0,0 +1,155 @@ +TextureNodeAt(TextureNode) +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeAt(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeBricks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeBricks.rst new file mode 100644 index 0000000..2f968e7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeBricks.rst @@ -0,0 +1,179 @@ +TextureNodeBricks(TextureNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeBricks(TextureNode) + + + .. attribute:: offset + + Determines the brick offset of the various rows (in [0, 1], default 0.0) + + :type: float + + .. attribute:: offset_frequency + + Offset every N rows (in [2, 99], default 0) + + :type: int + + .. attribute:: squash + + Factor to adjust the brick's width for particular rows determined by the Offset Frequency (in [0, 99], default 0.0) + + :type: float + + .. attribute:: squash_frequency + + Squash every N rows (in [2, 99], default 0) + + :type: int + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeChecker.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeChecker.rst new file mode 100644 index 0000000..f388c37 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeChecker.rst @@ -0,0 +1,155 @@ +TextureNodeChecker(TextureNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeChecker(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCombineColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCombineColor.rst new file mode 100644 index 0000000..c8f8540 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCombineColor.rst @@ -0,0 +1,161 @@ +TextureNodeCombineColor(TextureNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeCombineColor(TextureNode) + + + .. attribute:: mode + + Mode of color processing (default ``'RGB'``) + + :type: Literal[:ref:`rna_enum_node_combsep_color_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCompose.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCompose.rst new file mode 100644 index 0000000..5002607 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCompose.rst @@ -0,0 +1,155 @@ +TextureNodeCompose(TextureNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeCompose(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCoordinates.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCoordinates.rst new file mode 100644 index 0000000..c86b616 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCoordinates.rst @@ -0,0 +1,155 @@ +TextureNodeCoordinates(TextureNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeCoordinates(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCurveRGB.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCurveRGB.rst new file mode 100644 index 0000000..cf44218 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCurveRGB.rst @@ -0,0 +1,161 @@ +TextureNodeCurveRGB(TextureNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeCurveRGB(TextureNode) + + + .. data:: mapping + + (readonly) + + :type: :class:`CurveMapping` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCurveTime.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCurveTime.rst new file mode 100644 index 0000000..f356362 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeCurveTime.rst @@ -0,0 +1,161 @@ +TextureNodeCurveTime(TextureNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeCurveTime(TextureNode) + + + .. data:: curve + + (readonly) + + :type: :class:`CurveMapping` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeDecompose.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeDecompose.rst new file mode 100644 index 0000000..fed4057 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeDecompose.rst @@ -0,0 +1,155 @@ +TextureNodeDecompose(TextureNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeDecompose(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeDistance.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeDistance.rst new file mode 100644 index 0000000..6f66b2f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeDistance.rst @@ -0,0 +1,155 @@ +TextureNodeDistance(TextureNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeDistance(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeGroup.rst new file mode 100644 index 0000000..9fe02e5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeGroup.rst @@ -0,0 +1,159 @@ +TextureNodeGroup(TextureNode) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeGroup(TextureNode) + + + .. attribute:: node_tree + + :type: :class:`NodeTree` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeHueSaturation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeHueSaturation.rst new file mode 100644 index 0000000..01e3c60 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeHueSaturation.rst @@ -0,0 +1,155 @@ +TextureNodeHueSaturation(TextureNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeHueSaturation(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeImage.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeImage.rst new file mode 100644 index 0000000..8e48792 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeImage.rst @@ -0,0 +1,165 @@ +TextureNodeImage(TextureNode) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeImage(TextureNode) + + + .. attribute:: image + + :type: :class:`Image` | None + + .. data:: image_user + + Parameters defining the image duration, offset and related settings (readonly) + + :type: :class:`ImageUser` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeInvert.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeInvert.rst new file mode 100644 index 0000000..2d61ac0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeInvert.rst @@ -0,0 +1,155 @@ +TextureNodeInvert(TextureNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeInvert(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeMath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeMath.rst new file mode 100644 index 0000000..6ad8ab8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeMath.rst @@ -0,0 +1,167 @@ +TextureNodeMath(TextureNode) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeMath(TextureNode) + + + .. attribute:: operation + + (default ``'ADD'``) + + :type: Literal[:ref:`rna_enum_node_math_items`] + + .. attribute:: use_clamp + + Clamp result of the node to 0.0 to 1.0 range (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeMixRGB.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeMixRGB.rst new file mode 100644 index 0000000..ecc6ce2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeMixRGB.rst @@ -0,0 +1,173 @@ +TextureNodeMixRGB(TextureNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeMixRGB(TextureNode) + + + .. attribute:: blend_type + + (default ``'MIX'``) + + :type: Literal[:ref:`rna_enum_ramp_blend_items`] + + .. attribute:: use_alpha + + Include alpha of second input in this operation (default False) + + :type: bool + + .. attribute:: use_clamp + + Clamp result of the node to 0.0 to 1.0 range (default False) + + :type: bool + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeOutput.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeOutput.rst new file mode 100644 index 0000000..096c376 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeOutput.rst @@ -0,0 +1,161 @@ +TextureNodeOutput(TextureNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeOutput(TextureNode) + + + .. attribute:: filepath + + (default "", never None) + + :type: str + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeRGBToBW.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeRGBToBW.rst new file mode 100644 index 0000000..99e7abf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeRGBToBW.rst @@ -0,0 +1,155 @@ +TextureNodeRGBToBW(TextureNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeRGBToBW(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeRotate.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeRotate.rst new file mode 100644 index 0000000..94b6eb7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeRotate.rst @@ -0,0 +1,155 @@ +TextureNodeRotate(TextureNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeRotate(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeScale.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeScale.rst new file mode 100644 index 0000000..7105f08 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeScale.rst @@ -0,0 +1,155 @@ +TextureNodeScale(TextureNode) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeScale(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeSeparateColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeSeparateColor.rst new file mode 100644 index 0000000..dfc0e25 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeSeparateColor.rst @@ -0,0 +1,161 @@ +TextureNodeSeparateColor(TextureNode) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeSeparateColor(TextureNode) + + + .. attribute:: mode + + Mode of color processing (default ``'RGB'``) + + :type: Literal[:ref:`rna_enum_node_combsep_color_items`] + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexBlend.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexBlend.rst new file mode 100644 index 0000000..1d6eae3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexBlend.rst @@ -0,0 +1,155 @@ +TextureNodeTexBlend(TextureNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTexBlend(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexClouds.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexClouds.rst new file mode 100644 index 0000000..b955b2d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexClouds.rst @@ -0,0 +1,155 @@ +TextureNodeTexClouds(TextureNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTexClouds(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexDistNoise.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexDistNoise.rst new file mode 100644 index 0000000..b084e78 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexDistNoise.rst @@ -0,0 +1,155 @@ +TextureNodeTexDistNoise(TextureNode) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTexDistNoise(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexMagic.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexMagic.rst new file mode 100644 index 0000000..9606778 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexMagic.rst @@ -0,0 +1,155 @@ +TextureNodeTexMagic(TextureNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTexMagic(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexMarble.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexMarble.rst new file mode 100644 index 0000000..a9c2e99 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexMarble.rst @@ -0,0 +1,155 @@ +TextureNodeTexMarble(TextureNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTexMarble(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexMusgrave.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexMusgrave.rst new file mode 100644 index 0000000..6d84837 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexMusgrave.rst @@ -0,0 +1,155 @@ +TextureNodeTexMusgrave(TextureNode) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTexMusgrave(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexNoise.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexNoise.rst new file mode 100644 index 0000000..28de747 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexNoise.rst @@ -0,0 +1,155 @@ +TextureNodeTexNoise(TextureNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTexNoise(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexStucci.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexStucci.rst new file mode 100644 index 0000000..1134de3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexStucci.rst @@ -0,0 +1,155 @@ +TextureNodeTexStucci(TextureNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTexStucci(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexVoronoi.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexVoronoi.rst new file mode 100644 index 0000000..b179e47 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexVoronoi.rst @@ -0,0 +1,155 @@ +TextureNodeTexVoronoi(TextureNode) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTexVoronoi(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexWood.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexWood.rst new file mode 100644 index 0000000..a8eee67 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexWood.rst @@ -0,0 +1,155 @@ +TextureNodeTexWood(TextureNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTexWood(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexture.rst new file mode 100644 index 0000000..7d607b5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTexture.rst @@ -0,0 +1,165 @@ +TextureNodeTexture(TextureNode) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTexture(TextureNode) + + + .. attribute:: node_output + + For node-based textures, which output node to use (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: texture + + :type: :class:`Texture` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTranslate.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTranslate.rst new file mode 100644 index 0000000..9c5bbb0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTranslate.rst @@ -0,0 +1,155 @@ +TextureNodeTranslate(TextureNode) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeTranslate(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTree.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTree.rst new file mode 100644 index 0000000..0ccdd53 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeTree.rst @@ -0,0 +1,134 @@ +TextureNodeTree(NodeTree) +========================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`NodeTree` + +.. class:: TextureNodeTree(NodeTree) + + Node tree consisting of linked nodes used for textures + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`NodeTree.color_tag` + - :class:`NodeTree.default_group_node_width` + - :class:`NodeTree.view_center` + - :class:`NodeTree.description` + - :class:`NodeTree.animation_data` + - :class:`NodeTree.nodes` + - :class:`NodeTree.links` + - :class:`NodeTree.annotation` + - :class:`NodeTree.type` + - :class:`NodeTree.interface` + - :class:`NodeTree.bl_idname` + - :class:`NodeTree.bl_label` + - :class:`NodeTree.bl_description` + - :class:`NodeTree.bl_icon` + - :class:`NodeTree.bl_use_group_interface` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`NodeTree.interface_update` + - :class:`NodeTree.contains_tree` + - :class:`NodeTree.poll` + - :class:`NodeTree.update` + - :class:`NodeTree.get_from_context` + - :class:`NodeTree.valid_socket_type` + - :class:`NodeTree.debug_lazy_function_graph` + - :class:`NodeTree.bl_rna_get_subclass` + - :class:`NodeTree.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeValToNor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeValToNor.rst new file mode 100644 index 0000000..087488a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeValToNor.rst @@ -0,0 +1,155 @@ +TextureNodeValToNor(TextureNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeValToNor(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeValToRGB.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeValToRGB.rst new file mode 100644 index 0000000..5ab6ccd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeValToRGB.rst @@ -0,0 +1,161 @@ +TextureNodeValToRGB(TextureNode) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeValToRGB(TextureNode) + + + .. data:: color_ramp + + (readonly) + + :type: :class:`ColorRamp` | None + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeViewer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeViewer.rst new file mode 100644 index 0000000..61301e8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureNodeViewer.rst @@ -0,0 +1,155 @@ +TextureNodeViewer(TextureNode) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`, :class:`TextureNode` + +.. class:: TextureNodeViewer(TextureNode) + + + .. classmethod:: is_registered_node_type() + + True if a registered node type + + :return: Result + :rtype: bool + + .. classmethod:: input_template(index) + + Input socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: output_template(index) + + Output socket template + + :param index: Index, (in [0, inf]) + :type index: int + :return: result + :rtype: :class:`NodeInternalSocketTemplate` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Node.type` + - :class:`Node.location` + - :class:`Node.location_absolute` + - :class:`Node.width` + - :class:`Node.height` + - :class:`Node.dimensions` + - :class:`Node.name` + - :class:`Node.label` + - :class:`Node.inputs` + - :class:`Node.outputs` + - :class:`Node.internal_links` + - :class:`Node.parent` + - :class:`Node.warning_propagation` + - :class:`Node.use_custom_color` + - :class:`Node.color` + - :class:`Node.color_tag` + - :class:`Node.select` + - :class:`Node.show_options` + - :class:`Node.show_preview` + - :class:`Node.hide` + - :class:`Node.mute` + - :class:`Node.show_texture` + - :class:`Node.bl_idname` + - :class:`Node.bl_label` + - :class:`Node.bl_description` + - :class:`Node.bl_icon` + - :class:`Node.bl_static_type` + - :class:`Node.bl_width_default` + - :class:`Node.bl_width_min` + - :class:`Node.bl_width_max` + - :class:`Node.bl_height_default` + - :class:`Node.bl_height_min` + - :class:`Node.bl_height_max` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Node.bl_system_properties_get` + - :class:`Node.socket_value_update` + - :class:`Node.is_registered_node_type` + - :class:`Node.poll` + - :class:`Node.poll_instance` + - :class:`Node.update` + - :class:`Node.insert_link` + - :class:`Node.init` + - :class:`Node.copy` + - :class:`Node.free` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`Node.draw_label` + - :class:`Node.debug_zone_body_lazy_function_graph` + - :class:`Node.debug_zone_lazy_function_graph` + - :class:`Node.poll` + - :class:`Node.bl_rna_get_subclass` + - :class:`Node.bl_rna_get_subclass_py` + - :class:`NodeInternal.poll` + - :class:`NodeInternal.poll_instance` + - :class:`NodeInternal.update` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeInternal.bl_rna_get_subclass` + - :class:`NodeInternal.bl_rna_get_subclass_py` + - :class:`TextureNode.poll` + - :class:`TextureNode.bl_rna_get_subclass` + - :class:`TextureNode.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureSlot.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureSlot.rst new file mode 100644 index 0000000..0b92d0c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TextureSlot.rst @@ -0,0 +1,130 @@ +TextureSlot(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`BrushTextureSlot`, :class:`LineStyleTextureSlot`, :class:`ParticleSettingsTextureSlot` + +.. class:: TextureSlot(bpy_struct) + + Texture slot defining the mapping and influence of a texture + + .. attribute:: blend_type + + Mode used to apply the texture (default ``'MIX'``) + + :type: Literal['MIX', 'DARKEN', 'MULTIPLY', 'LIGHTEN', 'SCREEN', 'ADD', 'OVERLAY', 'SOFT_LIGHT', 'LINEAR_LIGHT', 'DIFFERENCE', 'SUBTRACT', 'DIVIDE', 'HUE', 'SATURATION', 'COLOR', 'VALUE'] + + .. attribute:: color + + Default color for textures that don't return RGB or when RGB to intensity is enabled (array of 3 items, in [0, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: default_value + + Value to use for Ref, Spec, Amb, Emit, Alpha, RayMir, TransLu and Hard (in [-inf, inf], default 1.0) + + :type: float + + .. data:: name + + Texture slot name (default "", readonly, never None) + + :type: str + + .. attribute:: offset + + Fine tune of the texture mapping X, Y and Z locations (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: output_node + + Which output node to use, for node-based textures (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. attribute:: scale + + Set scaling for the texture's X, Y and Z sizes (array of 3 items, in [-inf, inf], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: texture + + Texture data-block used by this texture slot + + :type: :class:`Texture` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.texture_slot` + - :class:`UILayout.template_preview` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Theme.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Theme.rst new file mode 100644 index 0000000..b2cb68e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Theme.rst @@ -0,0 +1,240 @@ +Theme(bpy_struct) +================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Theme(bpy_struct) + + User interface styling and color settings + + .. data:: bone_color_sets + + (default None, readonly, never None) + + :type: :class:`bpy_prop_collection`\ [:class:`ThemeBoneColorSet`] + + .. data:: clip_editor + + (readonly, never None) + + :type: :class:`ThemeClipEditor` + + .. data:: collection_color + + (default None, readonly, never None) + + :type: :class:`bpy_prop_collection`\ [:class:`ThemeCollectionColor`] + + .. data:: common + + Theme properties shared by different editors (readonly, never None) + + :type: :class:`ThemeCommon` + + .. data:: console + + (readonly, never None) + + :type: :class:`ThemeConsole` + + .. data:: dopesheet_editor + + (readonly, never None) + + :type: :class:`ThemeDopeSheet` + + .. data:: file_browser + + (readonly, never None) + + :type: :class:`ThemeFileBrowser` + + .. attribute:: filepath + + The path to the preset loaded into this theme (if any) (default "", never None) + + :type: str + + .. data:: graph_editor + + (readonly, never None) + + :type: :class:`ThemeGraphEditor` + + .. data:: image_editor + + (readonly, never None) + + :type: :class:`ThemeImageEditor` + + .. data:: info + + (readonly, never None) + + :type: :class:`ThemeInfo` + + .. attribute:: name + + Name of the theme (default "", never None) + + :type: str + + .. data:: nla_editor + + (readonly, never None) + + :type: :class:`ThemeNLAEditor` + + .. data:: node_editor + + (readonly, never None) + + :type: :class:`ThemeNodeEditor` + + .. data:: outliner + + (readonly, never None) + + :type: :class:`ThemeOutliner` + + .. data:: preferences + + (readonly, never None) + + :type: :class:`ThemePreferences` + + .. data:: properties + + (readonly, never None) + + :type: :class:`ThemeProperties` + + .. data:: regions + + Theme properties for common editor regions (readonly, never None) + + :type: :class:`ThemeRegions` + + .. data:: sequence_editor + + (readonly, never None) + + :type: :class:`ThemeSequenceEditor` + + .. data:: spreadsheet + + (readonly, never None) + + :type: :class:`ThemeSpreadsheet` + + .. data:: statusbar + + (readonly, never None) + + :type: :class:`ThemeStatusBar` + + .. data:: strip_color + + (default None, readonly, never None) + + :type: :class:`bpy_prop_collection`\ [:class:`ThemeStripColor`] + + .. data:: text_editor + + (readonly, never None) + + :type: :class:`ThemeTextEditor` + + .. attribute:: theme_area + + (default ``'USER_INTERFACE'``) + + :type: Literal['USER_INTERFACE', 'STYLE', 'REGIONS', 'COMMON', 'VIEW_3D', 'DOPESHEET_EDITOR', 'FILE_BROWSER', 'GRAPH_EDITOR', 'IMAGE_EDITOR', 'INFO', 'CLIP_EDITOR', 'NODE_EDITOR', 'NLA_EDITOR', 'OUTLINER', 'PREFERENCES', 'PROPERTIES', 'CONSOLE', 'SPREADSHEET', 'STATUSBAR', 'TEXT_EDITOR', 'TOPBAR', 'SEQUENCE_EDITOR', 'BONE_COLOR_SETS'] + + .. data:: topbar + + (readonly, never None) + + :type: :class:`ThemeTopBar` + + .. data:: user_interface + + (readonly, never None) + + :type: :class:`ThemeUserInterface` + + .. data:: view_3d + + (readonly, never None) + + :type: :class:`ThemeView3D` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.themes` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeBoneColorSet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeBoneColorSet.rst new file mode 100644 index 0000000..095d406 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeBoneColorSet.rst @@ -0,0 +1,104 @@ +ThemeBoneColorSet(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeBoneColorSet(bpy_struct) + + Theme settings for bone color sets + + .. attribute:: active + + Color used for active bones (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: normal + + Color used for the surface of bones (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: select + + Color used for selected bones (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: show_colored_constraints + + Allow the use of colors indicating constraints/keyed status (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ActionGroup.colors` + - :class:`BoneColor.custom` + - :class:`Theme.bone_color_sets` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeClipEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeClipEditor.rst new file mode 100644 index 0000000..582ada9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeClipEditor.rst @@ -0,0 +1,162 @@ +ThemeClipEditor(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeClipEditor(bpy_struct) + + Theme settings for the Movie Clip Editor + + .. attribute:: active_marker + + Color of active marker (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: disabled_marker + + Color of disabled marker (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: grid + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: locked_marker + + Color of locked marker (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: marker + + Color of marker (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: marker_outline + + Color of marker's outline (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: metadatabg + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: metadatatext + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: path_after + + Color of path after current frame (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: path_before + + Color of path before current frame (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: path_keyframe_after + + Color of keyframes on a path after current frame (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: path_keyframe_before + + Color of keyframes on a path before current frame (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: selected_marker + + Color of selected marker (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.clip_editor` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCollectionColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCollectionColor.rst new file mode 100644 index 0000000..9b8e1f3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCollectionColor.rst @@ -0,0 +1,84 @@ +ThemeCollectionColor(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeCollectionColor(bpy_struct) + + Theme settings for collection colors + + .. attribute:: color + + Collection Color Tag (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.collection_color` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCommon.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCommon.rst new file mode 100644 index 0000000..83196db --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCommon.rst @@ -0,0 +1,90 @@ +ThemeCommon(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeCommon(bpy_struct) + + Theme properties shared by different editors + + .. data:: anim + + (readonly, never None) + + :type: :class:`ThemeCommonAnim` + + .. data:: curves + + (readonly, never None) + + :type: :class:`ThemeCommonCurves` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.common` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCommonAnim.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCommonAnim.rst new file mode 100644 index 0000000..779cc1c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCommonAnim.rst @@ -0,0 +1,216 @@ +ThemeCommonAnim(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeCommonAnim(bpy_struct) + + Shared animation theme properties + + .. attribute:: channel + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: channel_group + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: channel_group_active + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: channel_selected + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: channels + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: channels_sub + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: keyframe + + Color of regular keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_breakdown + + Color of breakdown keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_breakdown_selected + + Color of selected breakdown keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_extreme + + Color of extreme keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_extreme_selected + + Color of selected extreme keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_generated + + Color of generated keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_generated_selected + + Color of selected generated keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_jitter + + Color of jitter keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_jitter_selected + + Color of selected jitter keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_moving_hold + + Color of moving hold keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_moving_hold_selected + + Color of selected moving hold keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_selected + + Color of selected keyframe (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: long_key + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: long_key_selected + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: playhead + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: preview_range + + Color of preview range overlay (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: scene_strip_range + + Color of scene strip range overlay (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeCommon.anim` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCommonCurves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCommonCurves.rst new file mode 100644 index 0000000..778c7b3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeCommonCurves.rst @@ -0,0 +1,156 @@ +ThemeCommonCurves(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeCommonCurves(bpy_struct) + + Shared curve theme properties + + .. attribute:: handle_align + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_auto + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_auto_clamped + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_free + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_sel_align + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_sel_auto + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_sel_auto_clamped + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_sel_free + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_sel_vect + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_vect + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_vertex + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_vertex_select + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: handle_vertex_size + + (in [1, 100], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeCommon.curves` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeConsole.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeConsole.rst new file mode 100644 index 0000000..3d56ae2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeConsole.rst @@ -0,0 +1,120 @@ +ThemeConsole(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeConsole(bpy_struct) + + Theme settings for the Console + + .. attribute:: cursor + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: line_error + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: line_info + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: line_input + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: line_output + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: select + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.console` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeDopeSheet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeDopeSheet.rst new file mode 100644 index 0000000..1df05d9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeDopeSheet.rst @@ -0,0 +1,138 @@ +ThemeDopeSheet(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeDopeSheet(bpy_struct) + + Theme settings for the Dope Sheet + + .. attribute:: anim_interpolation_constant + + Color of lines showing constant interpolation mode (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: anim_interpolation_linear + + Color of lines showing linear interpolation mode (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: anim_interpolation_other + + Color of lines showing easings & dynamic interpolation mode (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: grid + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_border + + Color of keyframe border (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: keyframe_border_selected + + Color of selected keyframe border (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: keyframe_scale_factor + + Scale factor for adjusting the height of keyframes (in [0.8, 5], default 1.0) + + :type: float + + .. attribute:: simulated_frames + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. attribute:: summary + + Color of summary channel (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.dopesheet_editor` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeFileBrowser.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeFileBrowser.rst new file mode 100644 index 0000000..431cefc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeFileBrowser.rst @@ -0,0 +1,96 @@ +ThemeFileBrowser(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeFileBrowser(bpy_struct) + + Theme settings for the File Browser + + .. attribute:: row_alternate + + Overlay color on every other row (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: selected_file + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.file_browser` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeFontStyle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeFontStyle.rst new file mode 100644 index 0000000..3178435 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeFontStyle.rst @@ -0,0 +1,122 @@ +ThemeFontStyle(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeFontStyle(bpy_struct) + + Theme settings for Font + + .. attribute:: character_weight + + Weight of the characters. 100-900, 400 is normal. (in [100, 900], default 400) + + :type: int + + .. attribute:: points + + Font size in points (in [6, 32], default 0.0) + + :type: float + + .. attribute:: shadow + + Shadow type (0 none, 3, 5 blur, 6 outline) (in [0, 6], default 0) + + :type: int + + .. attribute:: shadow_alpha + + (in [0, 1], default 0.0) + + :type: float + + .. attribute:: shadow_offset_x + + Shadow offset in pixels (in [-10, 10], default 0) + + :type: int + + .. attribute:: shadow_offset_y + + Shadow offset in pixels (in [-10, 10], default 0) + + :type: int + + .. attribute:: shadow_value + + Shadow color in gray value (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeStyle.panel_title` + - :class:`ThemeStyle.tooltip` + - :class:`ThemeStyle.widget` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeGradientColors.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeGradientColors.rst new file mode 100644 index 0000000..0d618f7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeGradientColors.rst @@ -0,0 +1,103 @@ +ThemeGradientColors(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeGradientColors(bpy_struct) + + Theme settings for background colors and gradient + + .. attribute:: background_type + + Type of background in the 3D viewport (default ``'SINGLE_COLOR'``) + + - ``SINGLE_COLOR`` + Single Color -- Use a solid color as viewport background. + - ``LINEAR`` + Linear Gradient -- Use a screen space vertical linear gradient as viewport background. + - ``RADIAL`` + Vignette -- Use a radial gradient as viewport background. + + :type: Literal['SINGLE_COLOR', 'LINEAR', 'RADIAL'] + + .. attribute:: gradient + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: high_gradient + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeSpaceGradient.gradients` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeGraphEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeGraphEditor.rst new file mode 100644 index 0000000..8dc8490 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeGraphEditor.rst @@ -0,0 +1,114 @@ +ThemeGraphEditor(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeGraphEditor(bpy_struct) + + Theme settings for the graph editor + + .. attribute:: grid + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. attribute:: vertex + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: vertex_active + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: vertex_select + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: vertex_size + + (in [1, 32], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.graph_editor` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeImageEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeImageEditor.rst new file mode 100644 index 0000000..509c548 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeImageEditor.rst @@ -0,0 +1,216 @@ +ThemeImageEditor(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeImageEditor(bpy_struct) + + Theme settings for the Image Editor + + .. attribute:: edge_select + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: edge_width + + (in [1, 32], default 0) + + :type: int + + .. attribute:: editmesh_active + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: face + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: face_mode_select + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: face_select + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: facedot_size + + (in [1, 10], default 0) + + :type: int + + .. attribute:: grid + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: metadatabg + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: metadatatext + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: preview_stitch_active + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: preview_stitch_edge + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: preview_stitch_face + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: preview_stitch_stitchable + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: preview_stitch_unstitchable + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: preview_stitch_vert + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: scope_back + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. attribute:: uv_shadow + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: vertex + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: vertex_select + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: vertex_size + + (in [1, 32], default 0) + + :type: int + + .. attribute:: wire_edit + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.image_editor` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeInfo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeInfo.rst new file mode 100644 index 0000000..af3f4f7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeInfo.rst @@ -0,0 +1,150 @@ +ThemeInfo(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeInfo(bpy_struct) + + Theme settings for Info + + .. attribute:: info_debug + + Background color of Debug icon (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: info_debug_text + + Foreground color of Debug icon (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: info_error_text + + Foreground color of Error icon (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: info_info_text + + Foreground color of Info icon (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: info_operator + + Background color of Operator icon (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: info_operator_text + + Foreground color of Operator icon (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: info_property + + Background color of Property icon (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: info_property_text + + Foreground color of Property icon (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: info_selected + + Background color of selected line (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: info_selected_text + + Text color of selected line (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: info_warning_text + + Foreground color of Warning icon (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.info` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeNLAEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeNLAEditor.rst new file mode 100644 index 0000000..168af8d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeNLAEditor.rst @@ -0,0 +1,174 @@ +ThemeNLAEditor(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeNLAEditor(bpy_struct) + + Theme settings for the NLA Editor + + .. attribute:: active_action + + Animation data-block has active action (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: active_action_unset + + Animation data-block does not have active action (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: grid + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_border + + Color of keyframe border (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: keyframe_border_selected + + Color of selected keyframe border (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: meta_strips + + Unselected Meta Strip (for grouping related strips) (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: meta_strips_selected + + Selected Meta Strip (for grouping related strips) (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: sound_strips + + Unselected Sound Strip (for timing speaker sounds) (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: sound_strips_selected + + Selected Sound Strip (for timing speaker sounds) (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. attribute:: strips + + Unselected Action-Clip Strip (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: strips_selected + + Selected Action-Clip Strip (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: transition_strips + + Unselected Transition Strip (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: transition_strips_selected + + Selected Transition Strip (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: tweak + + Color for strip/action being "tweaked" or edited (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: tweak_duplicate + + Warning/error indicator color for strips referencing the strip being tweaked (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.nla_editor` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeNodeEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeNodeEditor.rst new file mode 100644 index 0000000..cd2dd27 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeNodeEditor.rst @@ -0,0 +1,270 @@ +ThemeNodeEditor(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeNodeEditor(bpy_struct) + + Theme settings for the Node Editor + + .. attribute:: attribute_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: closure_zone + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: color_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: converter_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: dash_alpha + + Opacity for the dashed lines in wires (in [0, 1], default 0.5) + + :type: float + + .. attribute:: distor_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: filter_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: foreach_geometry_element_zone + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: frame_node + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: geometry_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: grid + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: grid_levels + + Number of subdivisions for the dot grid displayed in the background (in [0, 3], default 3) + + :type: int + + .. attribute:: group_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: group_socket_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: input_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: matte_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: node_active + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: node_backdrop + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: node_outline + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: node_selected + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: noodle_curving + + Curving of the noodle (in [0, 10], default 5) + + :type: int + + .. attribute:: output_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: repeat_zone + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: script_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: shader_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: simulation_zone + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. attribute:: texture_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: vector_node + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: wire + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: wire_inner + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: wire_select + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.node_editor` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeOutliner.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeOutliner.rst new file mode 100644 index 0000000..0112a77 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeOutliner.rst @@ -0,0 +1,126 @@ +ThemeOutliner(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeOutliner(bpy_struct) + + Theme settings for the Outliner + + .. attribute:: active + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: active_object + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: edited_object + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: match + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: row_alternate + + Overlay color on every other row (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: selected_highlight + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: selected_object + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.outliner` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemePreferences.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemePreferences.rst new file mode 100644 index 0000000..956645b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemePreferences.rst @@ -0,0 +1,90 @@ +ThemePreferences(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemePreferences(bpy_struct) + + Theme settings for the Blender Preferences + + .. attribute:: match + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.preferences` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeProperties.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeProperties.rst new file mode 100644 index 0000000..e986c88 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeProperties.rst @@ -0,0 +1,90 @@ +ThemeProperties(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeProperties(bpy_struct) + + Theme settings for the Properties + + .. attribute:: match + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.properties` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegions.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegions.rst new file mode 100644 index 0000000..ab3ebbd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegions.rst @@ -0,0 +1,102 @@ +ThemeRegions(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeRegions(bpy_struct) + + Theme settings for regions that are common among editors + + .. data:: asset_shelf + + (readonly, never None) + + :type: :class:`ThemeRegionsAssetShelf` + + .. data:: channels + + (readonly, never None) + + :type: :class:`ThemeRegionsChannels` + + .. data:: scrubbing + + (readonly, never None) + + :type: :class:`ThemeRegionsScrubbing` + + .. data:: sidebars + + (readonly, never None) + + :type: :class:`ThemeRegionsSidebars` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.regions` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsAssetShelf.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsAssetShelf.rst new file mode 100644 index 0000000..cc67a24 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsAssetShelf.rst @@ -0,0 +1,90 @@ +ThemeRegionsAssetShelf(bpy_struct) +================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeRegionsAssetShelf(bpy_struct) + + Theme settings for asset shelves + + .. attribute:: back + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: header_back + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeRegions.asset_shelf` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsChannels.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsChannels.rst new file mode 100644 index 0000000..20474c5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsChannels.rst @@ -0,0 +1,95 @@ +ThemeRegionsChannels(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeRegionsChannels(bpy_struct) + + + .. attribute:: back + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: text + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: text_selected + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeRegions.channels` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsScrubbing.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsScrubbing.rst new file mode 100644 index 0000000..ce46cf1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsScrubbing.rst @@ -0,0 +1,101 @@ +ThemeRegionsScrubbing(bpy_struct) +================================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeRegionsScrubbing(bpy_struct) + + + .. attribute:: back + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: text + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: time_marker + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: time_marker_selected + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeRegions.scrubbing` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsSidebars.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsSidebars.rst new file mode 100644 index 0000000..48ba7c7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeRegionsSidebars.rst @@ -0,0 +1,89 @@ +ThemeRegionsSidebars(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeRegionsSidebars(bpy_struct) + + + .. attribute:: back + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: tab_back + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeRegions.sidebars` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSequenceEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSequenceEditor.rst new file mode 100644 index 0000000..f56bfcf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSequenceEditor.rst @@ -0,0 +1,216 @@ +ThemeSequenceEditor(bpy_struct) +=============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeSequenceEditor(bpy_struct) + + Theme settings for the Sequence Editor + + .. attribute:: active_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: audio_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: color_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: effect_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: grid + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: image_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: keyframe_border + + Color of keyframe border (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: keyframe_border_selected + + Color of selected keyframe border (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: mask_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: meta_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: metadatabg + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: metadatatext + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: movie_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: movieclip_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: preview_back + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: row_alternate + + Overlay color on every other row (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: scene_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: selected_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: selected_text + + Text strip editing selection (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. attribute:: text_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: text_strip_cursor + + Text strip editing cursor (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: transition_strip + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.sequence_editor` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSpaceGeneric.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSpaceGeneric.rst new file mode 100644 index 0000000..017681e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSpaceGeneric.rst @@ -0,0 +1,135 @@ +ThemeSpaceGeneric(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeSpaceGeneric(bpy_struct) + + + .. attribute:: back + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: header + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: header_text + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: header_text_hi + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: text + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: text_hi + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: title + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeClipEditor.space` + - :class:`ThemeConsole.space` + - :class:`ThemeDopeSheet.space` + - :class:`ThemeFileBrowser.space` + - :class:`ThemeGraphEditor.space` + - :class:`ThemeImageEditor.space` + - :class:`ThemeInfo.space` + - :class:`ThemeNLAEditor.space` + - :class:`ThemeNodeEditor.space` + - :class:`ThemeOutliner.space` + - :class:`ThemePreferences.space` + - :class:`ThemeProperties.space` + - :class:`ThemeSequenceEditor.space` + - :class:`ThemeSpreadsheet.space` + - :class:`ThemeStatusBar.space` + - :class:`ThemeTextEditor.space` + - :class:`ThemeTopBar.space` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSpaceGradient.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSpaceGradient.rst new file mode 100644 index 0000000..fd475c4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSpaceGradient.rst @@ -0,0 +1,119 @@ +ThemeSpaceGradient(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeSpaceGradient(bpy_struct) + + + .. data:: gradients + + (readonly, never None) + + :type: :class:`ThemeGradientColors` + + .. attribute:: header + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: header_text + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: header_text_hi + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: text + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: text_hi + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: title + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeView3D.space` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSpreadsheet.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSpreadsheet.rst new file mode 100644 index 0000000..cbd9690 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeSpreadsheet.rst @@ -0,0 +1,90 @@ +ThemeSpreadsheet(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeSpreadsheet(bpy_struct) + + Theme settings for the Spreadsheet + + .. attribute:: row_alternate + + Overlay color on every other row (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.spreadsheet` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeStatusBar.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeStatusBar.rst new file mode 100644 index 0000000..598080f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeStatusBar.rst @@ -0,0 +1,84 @@ +ThemeStatusBar(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeStatusBar(bpy_struct) + + Theme settings for the Status Bar + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.statusbar` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeStripColor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeStripColor.rst new file mode 100644 index 0000000..42e3350 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeStripColor.rst @@ -0,0 +1,84 @@ +ThemeStripColor(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeStripColor(bpy_struct) + + Theme settings for strip colors + + .. attribute:: color + + Strip Color (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.strip_color` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeStyle.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeStyle.rst new file mode 100644 index 0000000..e326591 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeStyle.rst @@ -0,0 +1,96 @@ +ThemeStyle(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeStyle(bpy_struct) + + Theme settings for style sets + + .. data:: panel_title + + (readonly, never None) + + :type: :class:`ThemeFontStyle` + + .. data:: tooltip + + (readonly, never None) + + :type: :class:`ThemeFontStyle` + + .. data:: widget + + (readonly, never None) + + :type: :class:`ThemeFontStyle` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Preferences.ui_styles` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeTextEditor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeTextEditor.rst new file mode 100644 index 0000000..fd71dd6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeTextEditor.rst @@ -0,0 +1,156 @@ +ThemeTextEditor(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeTextEditor(bpy_struct) + + Theme settings for the Text Editor + + .. attribute:: cursor + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: line_numbers + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: line_numbers_background + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: selected_text + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. attribute:: syntax_builtin + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: syntax_comment + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: syntax_numbers + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: syntax_preprocessor + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: syntax_reserved + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: syntax_special + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: syntax_string + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: syntax_symbols + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.text_editor` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeTopBar.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeTopBar.rst new file mode 100644 index 0000000..23a6f14 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeTopBar.rst @@ -0,0 +1,84 @@ +ThemeTopBar(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeTopBar(bpy_struct) + + Theme settings for the Top Bar + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGeneric` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.topbar` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeUserInterface.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeUserInterface.rst new file mode 100644 index 0000000..efe9c88 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeUserInterface.rst @@ -0,0 +1,444 @@ +ThemeUserInterface(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeUserInterface(bpy_struct) + + Theme settings for user interface elements + + .. attribute:: axis_w + + W-axis for quaternion and axis-angle rotations (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: axis_x + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: axis_y + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: axis_z + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: editor_border + + Color of the border between editors (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: editor_outline + + Color of the outline of each editor, except the active one (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: editor_outline_active + + Color of the outline of the active editor (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: gizmo_a + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: gizmo_b + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: gizmo_hi + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: gizmo_primary + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: gizmo_secondary + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: gizmo_view_align + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: icon_alpha + + Transparency of icons in the interface, to reduce contrast (in [0, 1], default 0.0) + + :type: float + + .. attribute:: icon_autokey + + Color of Auto Keying indicator when enabled (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: icon_border_intensity + + Control the intensity of the border around themes icons (in [0, 1], default 0.0) + + :type: float + + .. attribute:: icon_collection + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: icon_folder + + Color of folders in the file browser (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: icon_modifier + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: icon_object + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: icon_object_data + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: icon_saturation + + Saturation of icons in the interface (in [0, 1], default 0.0) + + :type: float + + .. attribute:: icon_scene + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: icon_shading + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: menu_shadow_fac + + Blending factor for panel and menu shadows (in [0.01, 1], default 0.0) + + :type: float + + .. attribute:: menu_shadow_width + + Width of panel and menu shadows, set to zero to disable (in [0, 24], default 0) + + :type: int + + .. attribute:: panel_active + + Color of the outline of top-level panels that are active (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: panel_back + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: panel_header + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: panel_outline + + Color of the outline of top-level panels (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: panel_roundness + + Roundness of the corners of panels and sub-panels (in [0, 1], default 0.4) + + :type: float + + .. attribute:: panel_sub_back + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: panel_text + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: panel_title + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: transparent_checker_primary + + Primary color of checkerboard pattern indicating transparent areas (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: transparent_checker_secondary + + Secondary color of checkerboard pattern indicating transparent areas (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: transparent_checker_size + + Size of checkerboard pattern indicating transparent areas (in [2, 48], default 0) + + :type: int + + .. data:: wcol_box + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_curve + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_list_item + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_menu + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_menu_back + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_menu_item + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_num + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_numslider + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_option + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_pie_menu + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_progress + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_pulldown + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_radio + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_regular + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_scroll + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_state + + (readonly, never None) + + :type: :class:`ThemeWidgetStateColors` + + .. data:: wcol_tab + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_text + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_toggle + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_tool + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_toolbar_item + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. data:: wcol_tooltip + + (readonly, never None) + + :type: :class:`ThemeWidgetColors` + + .. attribute:: widget_emboss + + Color of the 1px shadow line underlying widgets (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: widget_text_cursor + + Color of the text insertion cursor (caret) (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.user_interface` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeView3D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeView3D.rst new file mode 100644 index 0000000..0fb0d0d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeView3D.rst @@ -0,0 +1,450 @@ +ThemeView3D(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeView3D(bpy_struct) + + Theme settings for the 3D viewport + + .. attribute:: after_current_frame + + The color for things after the current frame (for onion skinning, motion paths, etc.) (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: before_current_frame + + The color for things before the current frame (for onion skinning, motion paths, etc.) (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: bevel + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: bone_locked_weight + + Shade for bones corresponding to a locked weight group during painting (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: bone_pose + + Outline color of selected pose bones (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: bone_pose_active + + Outline color of active pose bones (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: bone_solid + + Default color of the solid shapes of bones (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: bundle_solid + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: camera + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: camera_passepartout + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: camera_path + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: clipping_border_3d + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: crease + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: edge_mode_select + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: edge_select + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: edge_width + + (in [1, 32], default 0) + + :type: int + + .. attribute:: editmesh_active + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: empty + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: extra_edge_angle + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: extra_edge_len + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: extra_face_angle + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: extra_face_area + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: face + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: face_back + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: face_front + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: face_mode_select + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: face_retopology + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: face_select + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: facedot_size + + (in [1, 10], default 0) + + :type: int + + .. attribute:: freestyle + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: gp_vertex + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: gp_vertex_select + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: gp_vertex_size + + (in [1, 10], default 0) + + :type: int + + .. attribute:: gp_wire_edit + + Grease Pencil wireframe color when in edit mode (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: grid + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: grid_major + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: light + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: normal + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: nurb_sel_uline + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: nurb_sel_vline + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: nurb_uline + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: nurb_vline + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: object_active + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: object_origin_size + + Diameter in pixels for object/light origin display (in [4, 10], default 0) + + :type: int + + .. attribute:: object_selected + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: outline_width + + (in [1, 5], default 0) + + :type: int + + .. attribute:: seam + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: sharp + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: skin_root + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. data:: space + + Settings for space (readonly, never None) + + :type: :class:`ThemeSpaceGradient` + + .. attribute:: speaker + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: split_normal + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: text_grease_pencil + + Color for indicating Grease Pencil keyframes (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: transform + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: vertex + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: vertex_normal + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: vertex_select + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: vertex_size + + (in [1, 32], default 0) + + :type: int + + .. attribute:: vertex_unreferenced + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: view_overlay + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: wire + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: wire_edit + + Color for wireframe when in edit mode, but edge selection is active (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Theme.view_3d` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeWidgetColors.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeWidgetColors.rst new file mode 100644 index 0000000..5af2134 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeWidgetColors.rst @@ -0,0 +1,164 @@ +ThemeWidgetColors(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeWidgetColors(bpy_struct) + + Theme settings for widget color sets + + .. attribute:: inner + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: inner_sel + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: item + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: outline + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: outline_sel + + (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: roundness + + Amount of edge rounding (in [0, 1], default 0.0) + + :type: float + + .. attribute:: shadedown + + (in [-100, 100], default 0) + + :type: int + + .. attribute:: shadetop + + (in [-100, 100], default 0) + + :type: int + + .. attribute:: show_shaded + + (default False) + + :type: bool + + .. attribute:: text + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: text_sel + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeUserInterface.wcol_box` + - :class:`ThemeUserInterface.wcol_curve` + - :class:`ThemeUserInterface.wcol_list_item` + - :class:`ThemeUserInterface.wcol_menu` + - :class:`ThemeUserInterface.wcol_menu_back` + - :class:`ThemeUserInterface.wcol_menu_item` + - :class:`ThemeUserInterface.wcol_num` + - :class:`ThemeUserInterface.wcol_numslider` + - :class:`ThemeUserInterface.wcol_option` + - :class:`ThemeUserInterface.wcol_pie_menu` + - :class:`ThemeUserInterface.wcol_progress` + - :class:`ThemeUserInterface.wcol_pulldown` + - :class:`ThemeUserInterface.wcol_radio` + - :class:`ThemeUserInterface.wcol_regular` + - :class:`ThemeUserInterface.wcol_scroll` + - :class:`ThemeUserInterface.wcol_tab` + - :class:`ThemeUserInterface.wcol_text` + - :class:`ThemeUserInterface.wcol_toggle` + - :class:`ThemeUserInterface.wcol_tool` + - :class:`ThemeUserInterface.wcol_toolbar_item` + - :class:`ThemeUserInterface.wcol_tooltip` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeWidgetStateColors.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeWidgetStateColors.rst new file mode 100644 index 0000000..7297e63 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ThemeWidgetStateColors.rst @@ -0,0 +1,168 @@ +ThemeWidgetStateColors(bpy_struct) +================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ThemeWidgetStateColors(bpy_struct) + + Theme settings for widget state colors + + .. attribute:: blend + + (in [0, 1], default 0.0) + + :type: float + + .. attribute:: error + + Color for error items (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: info + + Color for informational items (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: inner_anim + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: inner_anim_sel + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: inner_changed + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: inner_changed_sel + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: inner_driven + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: inner_driven_sel + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: inner_key + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: inner_key_sel + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: inner_overridden + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: inner_overridden_sel + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: success + + Color for successful items (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: warning + + Color for warning items (array of 4 items, in [0, 1], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ThemeUserInterface.wcol_state` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TimelineMarker.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TimelineMarker.rst new file mode 100644 index 0000000..f7202cb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TimelineMarker.rst @@ -0,0 +1,117 @@ +TimelineMarker(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: TimelineMarker(bpy_struct) + + Marker for noting points in the timeline + + .. attribute:: camera + + Camera that becomes active on this frame + + :type: :class:`Object` | None + + .. attribute:: frame + + The frame on which the timeline marker appears (in [-inf, inf], default 0) + + :type: int + + .. attribute:: name + + (default "", never None) + + :type: str + + .. attribute:: select + + Marker selection state (default False) + + :type: bool + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Action.pose_markers` + - :class:`ActionPoseMarkers.active` + - :class:`ActionPoseMarkers.new` + - :class:`ActionPoseMarkers.remove` + - :class:`Scene.timeline_markers` + - :class:`TimelineMarkers.new` + - :class:`TimelineMarkers.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TimelineMarkers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TimelineMarkers.rst new file mode 100644 index 0000000..9793897 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TimelineMarkers.rst @@ -0,0 +1,101 @@ +TimelineMarkers(bpy_prop_collection) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: TimelineMarkers(bpy_prop_collection) + + Collection of timeline markers + + .. method:: new(name, *, frame=1) + + Add a timeline marker + + :param name: New name for the marker (not unique) (never None) + :type name: str + :param frame: The frame for the new marker (in [-1048574, 1048574], optional) + :type frame: int + :return: Newly created timeline marker + :rtype: :class:`TimelineMarker` + + .. method:: remove(marker) + + Remove a timeline marker + + :param marker: Timeline marker to remove (never None) + :type marker: :class:`TimelineMarker` | None + + .. method:: clear() + + Remove all timeline markers + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.timeline_markers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Timer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Timer.rst new file mode 100644 index 0000000..aa25f27 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Timer.rst @@ -0,0 +1,97 @@ +Timer(bpy_struct) +================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Timer(bpy_struct) + + Window event timer + + .. data:: time_delta + + Time since last step in seconds (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: time_duration + + Time since the timer started seconds (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: time_step + + (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WindowManager.event_timer_add` + - :class:`WindowManager.event_timer_remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ToolSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ToolSettings.rst new file mode 100644 index 0000000..cb4451a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ToolSettings.rst @@ -0,0 +1,990 @@ +ToolSettings(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ToolSettings(bpy_struct) + + + .. attribute:: anim_fix_to_cam_use_loc + + Create location keys when fixing to the scene camera (default True) + + :type: bool + + .. attribute:: anim_fix_to_cam_use_rot + + Create rotation keys when fixing to the scene camera (default True) + + :type: bool + + .. attribute:: anim_fix_to_cam_use_scale + + Create scale keys when fixing to the scene camera (default True) + + :type: bool + + .. attribute:: anim_mirror_bone + + Bone to use for the mirroring (default "", never None) + + :type: str + + .. attribute:: anim_mirror_object + + Object to mirror over. Leave empty and name a bone to always mirror over that bone of the active armature + + :type: :class:`Object` | None + + .. attribute:: anim_relative_object + + Object to which matrices are made relative + + :type: :class:`Object` | None + + .. attribute:: annotation_stroke_placement_view2d + + (default ``'IMAGE'``) + + - ``IMAGE`` + Image -- Stick stroke to the image. + - ``VIEW`` + View -- Stick stroke to the view. + + :type: Literal['IMAGE', 'VIEW'] + + .. attribute:: annotation_stroke_placement_view3d + + How annotation strokes are orientated in 3D space (default ``'CURSOR'``) + + - ``CURSOR`` + 3D Cursor -- Draw stroke at 3D cursor location. + - ``VIEW`` + View -- Stick stroke to the view. + - ``SURFACE`` + Surface -- Stick stroke to surfaces. + + :type: Literal['CURSOR', 'VIEW', 'SURFACE'] + + .. attribute:: annotation_thickness + + Thickness of annotation strokes (in [1, 10], default 3) + + :type: int + + .. attribute:: auto_keying_mode + + Mode of automatic keyframe insertion for objects, bones and masks (default ``'ADD_REPLACE_KEYS'``) + + :type: Literal['ADD_REPLACE_KEYS', 'REPLACE_KEYS'] + + .. data:: curve_paint_settings + + (readonly, never None) + + :type: :class:`CurvePaintSettings` + + .. data:: curves_sculpt + + (readonly) + + :type: :class:`CurvesSculpt` | None + + .. data:: custom_bevel_profile_preset + + Used for defining a profile's path (readonly) + + :type: :class:`CurveProfile` | None + + .. attribute:: double_threshold + + Threshold distance for Auto Merge (in [0, 1], default 0.001) + + :type: float + + .. data:: gpencil_interpolate + + Settings for Grease Pencil interpolation tools (readonly) + + :type: :class:`GPencilInterpolateSettings` | None + + .. data:: gpencil_paint + + (readonly) + + :type: :class:`GpPaint` | None + + .. data:: gpencil_sculpt + + Settings for stroke sculpting tools and brushes (readonly) + + :type: :class:`GPencilSculptSettings` | None + + .. data:: gpencil_sculpt_paint + + (readonly) + + :type: :class:`GpSculptPaint` | None + + .. attribute:: gpencil_selectmode_edit + + (default ``'POINT'``) + + :type: Literal[:ref:`rna_enum_grease_pencil_selectmode_items`] + + .. attribute:: gpencil_stroke_placement_view3d + + (default ``'ORIGIN'``) + + - ``ORIGIN`` + Origin -- Draw stroke at Object origin. + - ``CURSOR`` + 3D Cursor -- Draw stroke at 3D cursor location. + - ``SURFACE`` + Surface -- Stick stroke to surfaces. + - ``STROKE`` + Stroke -- Stick stroke to other strokes. + + :type: Literal['ORIGIN', 'CURSOR', 'SURFACE', 'STROKE'] + + .. attribute:: gpencil_stroke_snap_mode + + (default ``'NONE'``) + + - ``NONE`` + All Points -- Snap to all points. + - ``ENDS`` + End Points -- Snap to first and last points and interpolate. + - ``FIRST`` + First Point -- Snap to first point. + + :type: Literal['NONE', 'ENDS', 'FIRST'] + + .. attribute:: gpencil_surface_offset + + Offset along the normal when drawing on surfaces (in [-inf, inf], default 0.15) + + :type: float + + .. data:: gpencil_vertex_paint + + (readonly) + + :type: :class:`GpVertexPaint` | None + + .. data:: gpencil_weight_paint + + (readonly) + + :type: :class:`GpWeightPaint` | None + + .. data:: image_paint + + (readonly) + + :type: :class:`ImagePaint` | None + + .. attribute:: keyframe_type + + Type of keyframes to create when inserting keyframes (default ``'KEYFRAME'``) + + :type: Literal[:ref:`rna_enum_beztriple_keyframe_type_items`] + + .. attribute:: lock_markers + + Prevent marker editing (default False) + + :type: bool + + .. attribute:: lock_object_mode + + Restrict selection to objects using the same mode as the active object, to prevent accidental mode switch when selecting (default True) + + :type: bool + + .. attribute:: mesh_select_mode + + Which mesh elements selection works on (array of 3 items, default (False, False, False)) + + :type: :class:`bpy_prop_array`\ [bool] + + .. attribute:: normal_vector + + Normal vector used to copy, add or multiply (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. data:: paint_mode + + (readonly) + + :type: :class:`PaintModeSettings` | None + + .. data:: particle_edit + + (readonly) + + :type: :class:`ParticleEdit` | None + + .. attribute:: plane_axis + + The axis used for placing the base region (default ``'Z'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: plane_axis_auto + + Select the closest axis when placing objects (surface overrides) (default True) + + :type: bool + + .. attribute:: plane_depth + + The initial depth used when placing the cursor (default ``'SURFACE'``) + + - ``SURFACE`` + Surface -- Start placing on the surface, using the 3D cursor position as a fallback. + - ``CURSOR_PLANE`` + Cursor Plane -- Start placement using a point projected onto the orientation axis at the 3D cursor position. + - ``CURSOR_VIEW`` + Cursor View -- Start placement using a point projected onto the view plane at the 3D cursor position. + + :type: Literal['SURFACE', 'CURSOR_PLANE', 'CURSOR_VIEW'] + + .. attribute:: plane_orientation + + The initial depth used when placing the cursor (default ``'SURFACE'``) + + - ``SURFACE`` + Surface -- Use the surface normal (using the transform orientation as a fallback). + - ``DEFAULT`` + Default -- Use the current transform orientation. + + :type: Literal['SURFACE', 'DEFAULT'] + + .. attribute:: playhead_snap_distance + + Maximum distance for snapping in pixels (in [-inf, inf], default 20) + + :type: int + + .. attribute:: proportional_distance + + Display size for proportional editing circle (in [1e-05, 5000], default 1.0) + + :type: float + + .. attribute:: proportional_edit_falloff + + Falloff type for proportional editing mode (default ``'SMOOTH'``) + + :type: Literal[:ref:`rna_enum_proportional_falloff_items`] + + .. attribute:: proportional_size + + Display size for proportional editing circle (in [1e-05, 5000], default 1.0) + + :type: float + + .. data:: sculpt + + (readonly) + + :type: :class:`Sculpt` | None + + .. data:: sequencer_tool_settings + + (readonly, never None) + + :type: :class:`SequencerToolSettings` + + .. attribute:: show_uv_local_view + + Display only faces with the currently displayed image assigned (default False) + + :type: bool + + .. attribute:: snap_angle_increment_2d + + Angle used for rotation increments in 2D editors (in [0, 3.14159], default 0.0872665) + + :type: float + + .. attribute:: snap_angle_increment_2d_precision + + Precision angle used for rotation increments in 2D editors (in [0, 3.14159], default 0.0174533) + + :type: float + + .. attribute:: snap_angle_increment_3d + + Angle used for rotation increments in 3D editors (in [0, 3.14159], default 0.0872665) + + :type: float + + .. attribute:: snap_angle_increment_3d_precision + + Precision angle used for rotation increments in 3D editors (in [0, 3.14159], default 0.0174533) + + :type: float + + .. attribute:: snap_anim_element + + Type of element to snap to (default ``'FRAME'``) + + :type: Literal[:ref:`rna_enum_snap_animation_element_items`] + + .. attribute:: snap_elements + + Type of element to snap to (default {``'INCREMENT'``}) + + :type: set[Literal[:ref:`rna_enum_snap_element_items`]] + + .. attribute:: snap_elements_base + + Type of element for the "Snap Base" to snap to (default {``'INCREMENT'``}) + + - ``INCREMENT`` + Increment -- Snap to increments. + - ``GRID`` + Grid -- Snap to grid. + - ``VERTEX`` + Vertex -- Snap to vertices. + - ``EDGE`` + Edge -- Snap to edges. + - ``FACE`` + Face -- Snap by projecting onto faces. + - ``VOLUME`` + Volume -- Snap to volume. + - ``EDGE_MIDPOINT`` + Edge Center -- Snap to the middle of edges. + - ``EDGE_PERPENDICULAR`` + Edge Perpendicular -- Snap to the nearest point on an edge. + - ``FACE_MIDPOINT`` + Face Center -- Snap to the middle of faces. + + :type: set[Literal['INCREMENT', 'GRID', 'VERTEX', 'EDGE', 'FACE', 'VOLUME', 'EDGE_MIDPOINT', 'EDGE_PERPENDICULAR', 'FACE_MIDPOINT']] + + .. attribute:: snap_elements_individual + + Type of element for individual transformed elements to snap to (default set()) + + - ``FACE_PROJECT`` + Face Project -- Snap by projecting onto faces. + - ``FACE_NEAREST`` + Face Nearest -- Snap to nearest point on faces. + + :type: set[Literal['FACE_PROJECT', 'FACE_NEAREST']] + + .. attribute:: snap_elements_tool + + The target to use while snapping (default ``'GEOMETRY'``) + + - ``GEOMETRY`` + Geometry -- Snap to all geometry. + - ``DEFAULT`` + Default -- Use the current snap settings. + + :type: Literal['GEOMETRY', 'DEFAULT'] + + .. attribute:: snap_face_nearest_steps + + Number of steps to break transformation into for face nearest snapping (in [1, 100], default 1) + + :type: int + + .. attribute:: snap_playhead_element + + Type of element to snap to (default {``'KEY'``, ``'Strip'``}) + + - ``FRAME`` + Frames -- Snap to frame increments. + - ``SECOND`` + Seconds -- Snap to second increments. + - ``MARKER`` + Markers -- Snap to markers. + - ``KEY`` + Keyframes -- Snap to keyframes. + - ``Strip`` + Strips -- Snap to Strips. + + :type: set[Literal['FRAME', 'SECOND', 'MARKER', 'KEY', 'Strip']] + + .. attribute:: snap_playhead_frame_step + + At which interval to snap to frames (in [1, 32768], default 2) + + :type: int + + .. attribute:: snap_playhead_second_step + + At which interval to snap to seconds (in [1, 32768], default 1) + + :type: int + + .. attribute:: snap_target + + Which part to snap onto the target (default ``'CLOSEST'``) + + :type: Literal[:ref:`rna_enum_snap_source_items`] + + .. attribute:: snap_uv_element + + Type of element to snap to (default {``'INCREMENT'``}) + + - ``INCREMENT`` + Increment -- Snap to increments of grid. + - ``GRID`` + Grid -- Snap to grid. + - ``VERTEX`` + Vertex -- Snap to vertices. + + :type: set[Literal['INCREMENT', 'GRID', 'VERTEX']] + + .. data:: statvis + + (readonly, never None) + + :type: :class:`MeshStatVis` + + .. attribute:: transform_pivot_point + + Pivot center for rotation/scaling (default ``'MEDIAN_POINT'``) + + - ``BOUNDING_BOX_CENTER`` + Bounding Box Center -- Pivot around bounding box center of selected object(s). + - ``CURSOR`` + 3D Cursor -- Pivot around the 3D cursor. + - ``INDIVIDUAL_ORIGINS`` + Individual Origins -- Pivot around each object's own origin. + - ``MEDIAN_POINT`` + Median Point -- Pivot around the median point of selected objects. + - ``ACTIVE_ELEMENT`` + Active Element -- Pivot around active object. + + :type: Literal['BOUNDING_BOX_CENTER', 'CURSOR', 'INDIVIDUAL_ORIGINS', 'MEDIAN_POINT', 'ACTIVE_ELEMENT'] + + .. attribute:: use_annotation_project_only_selected + + Project the strokes only onto selected objects (default False) + + :type: bool + + .. attribute:: use_annotation_stroke_endpoints + + Only use the first and last parts of the stroke for snapping (default False) + + :type: bool + + .. attribute:: use_auto_normalize + + Ensure all bone-deforming vertex groups add up to 1.0 while weight painting or assigning to vertices (default False) + + :type: bool + + .. attribute:: use_edge_path_live_unwrap + + Changing edge seams recalculates UV unwrap (default False) + + :type: bool + + .. attribute:: use_gpencil_automerge_strokes + + Join the last drawn stroke with previous strokes in the active layer by distance (default False) + + :type: bool + + .. attribute:: use_gpencil_draw_additive + + When creating new frames, the strokes from the previous/active frame are included as the basis for the new one (default False) + + :type: bool + + .. attribute:: use_gpencil_draw_onback + + New strokes are drawn below of all strokes in the layer (default False) + + :type: bool + + .. attribute:: use_gpencil_project_only_selected + + Project the strokes only onto selected objects (default False) + + :type: bool + + .. attribute:: use_gpencil_select_mask_point + + Only sculpt selected stroke points (default False) + + :type: bool + + .. attribute:: use_gpencil_select_mask_segment + + Only sculpt selected stroke points between other strokes (default False) + + :type: bool + + .. attribute:: use_gpencil_select_mask_stroke + + Only sculpt selected strokes (default False) + + :type: bool + + .. attribute:: use_gpencil_thumbnail_list + + Show compact list of colors instead of thumbnails (default True) + + :type: bool + + .. attribute:: use_gpencil_vertex_select_mask_point + + Only paint selected stroke points (default False) + + :type: bool + + .. attribute:: use_gpencil_vertex_select_mask_segment + + Only paint selected stroke points between other strokes (default False) + + :type: bool + + .. attribute:: use_gpencil_vertex_select_mask_stroke + + Only paint selected strokes (default False) + + :type: bool + + .. attribute:: use_gpencil_weight_data_add + + Weight data for new strokes is added according to the current vertex group and weight. If no vertex group selected, weight is not added. (default False) + + :type: bool + + .. attribute:: use_grease_pencil_multi_frame_editing + + Enable multi-frame editing (default False) + + :type: bool + + .. attribute:: use_keyframe_cycle_aware + + For channels with cyclic extrapolation, keyframe insertion is automatically remapped inside the cycle time range, and keeps ends in sync. Curves newly added to actions with a Manual Frame Range and Cyclic Animation are automatically made cyclic. (default False) + + :type: bool + + .. attribute:: use_keyframe_insert_auto + + Automatic keyframe insertion for objects, bones and masks (default True) + + :type: bool + + .. attribute:: use_keyframe_insert_keyingset + + Automatic keyframe insertion using active Keying Set only (default False) + + :type: bool + + .. attribute:: use_lock_relative + + Display bone-deforming groups as if all locked deform groups were deleted, and the remaining ones were re-normalized (default False) + + :type: bool + + .. attribute:: use_mesh_automerge + + Automatically merge vertices moved to the same location (default False) + + :type: bool + + .. attribute:: use_mesh_automerge_and_split + + Automatically split edges and faces (default False) + + :type: bool + + .. attribute:: use_multipaint + + Paint across the weights of all selected bones, maintaining their relative influence (default False) + + :type: bool + + .. attribute:: use_proportional_action + + Proportional editing in action editor (default False) + + :type: bool + + .. attribute:: use_proportional_connected + + Proportional Editing using connected geometry only (default False) + + :type: bool + + .. attribute:: use_proportional_edit + + Proportional edit mode (default False) + + :type: bool + + .. attribute:: use_proportional_edit_mask + + Proportional editing mask mode (default False) + + :type: bool + + .. attribute:: use_proportional_edit_objects + + Proportional editing object mode (default False) + + :type: bool + + .. attribute:: use_proportional_fcurve + + Proportional editing in F-Curve editor (default False) + + :type: bool + + .. attribute:: use_proportional_projected + + Proportional Editing using screen space locations (default False) + + :type: bool + + .. attribute:: use_record_with_nla + + Add a new NLA Track + Strip for every loop/pass made over the animation to allow non-destructive tweaking (default False) + + :type: bool + + .. attribute:: use_snap + + Snap during transform (default False) + + :type: bool + + .. attribute:: use_snap_align_rotation + + Align rotation with the snapping target (default False) + + :type: bool + + .. attribute:: use_snap_anim + + Enable snapping when transforming keyframes (default True) + + :type: bool + + .. attribute:: use_snap_backface_culling + + Exclude back facing geometry from snapping (default False) + + :type: bool + + .. attribute:: use_snap_driver + + Enable snapping when transforming keys in the Driver Editor (default False) + + :type: bool + + .. attribute:: use_snap_driver_absolute + + Snap to full values (default False) + + :type: bool + + .. attribute:: use_snap_edit + + Snap onto non-active objects in edit mode (edit mode only) (default True) + + :type: bool + + .. attribute:: use_snap_grid_absolute + + Absolute grid alignment while translating (based on the pivot center) (default False) + + :type: bool + + .. attribute:: use_snap_node + + Snap Node during transform (default False) + + :type: bool + + .. attribute:: use_snap_nonedit + + Snap onto objects not in edit mode (edit mode only) (default True) + + :type: bool + + .. attribute:: use_snap_peel_object + + Consider objects as whole when finding volume center (default False) + + :type: bool + + .. attribute:: use_snap_playhead + + Snap playhead when scrubbing (default False) + + :type: bool + + .. attribute:: use_snap_rotate + + Rotate is affected by the snapping settings (default False) + + :type: bool + + .. attribute:: use_snap_scale + + Scale is affected by snapping settings (default False) + + :type: bool + + .. attribute:: use_snap_selectable + + Snap only onto objects that are selectable (default False) + + :type: bool + + .. attribute:: use_snap_self + + Snap onto itself only if enabled (edit mode only) (default True) + + :type: bool + + .. attribute:: use_snap_sequencer + + Snap strips during transform (default True) + + :type: bool + + .. attribute:: use_snap_time_absolute + + Absolute time alignment when transforming keyframes (default False) + + :type: bool + + .. attribute:: use_snap_to_same_target + + Snap only to target that source was initially near ("Face Nearest" only) (default False) + + :type: bool + + .. attribute:: use_snap_translate + + Move is affected by snapping settings (default True) + + :type: bool + + .. attribute:: use_snap_uv + + Snap UV during transform (default False) + + :type: bool + + .. attribute:: use_transform_correct_face_attributes + + Correct data such as UVs and color attributes when transforming (default False) + + :type: bool + + .. attribute:: use_transform_correct_keep_connected + + During the Face Attributes correction, merge attributes connected to the same vertex (default False) + + :type: bool + + .. attribute:: use_transform_data_origin + + Transform object origins, while leaving the shape in place (default False) + + :type: bool + + .. attribute:: use_transform_pivot_point_align + + Only transform object locations, without affecting rotation or scaling (default False) + + :type: bool + + .. attribute:: use_transform_skip_children + + Transform the parents, leaving the children in place (default False) + + :type: bool + + .. attribute:: use_uv_custom_region + + Custom defined region (default False) + + :type: bool + + .. attribute:: use_uv_select_island + + Island selection (default False) + + :type: bool + + .. attribute:: use_uv_select_sync + + Keep UV and edit mode mesh selection in sync (default True) + + :type: bool + + .. data:: uv_sculpt + + (readonly) + + :type: :class:`UvSculpt` | None + + .. attribute:: uv_sculpt_all_islands + + Brush operates on all islands (default False) + + :type: bool + + .. attribute:: uv_sculpt_lock_borders + + Disable editing of boundary edges (default False) + + :type: bool + + .. attribute:: uv_select_mode + + UV selection and display mode (default ``'VERTEX'``) + + :type: Literal[:ref:`rna_enum_mesh_select_mode_uv_items`] + + .. attribute:: uv_sticky_select_mode + + Method for extending UV vertex selection (default ``'SHARED_LOCATION'``) + + - ``DISABLED`` + Disabled -- Sticky vertex selection disabled. + - ``SHARED_LOCATION`` + Shared Location -- Select UVs that are at the same location and share a mesh vertex. + - ``SHARED_VERTEX`` + Shared Vertex -- Select UVs that share a mesh vertex, whether or not they are at the same location. + + :type: Literal['DISABLED', 'SHARED_LOCATION', 'SHARED_VERTEX'] + + .. attribute:: vertex_group_subset + + Filter Vertex groups for Display (default ``'ALL'``) + + - ``ALL`` + All -- All Vertex Groups. + - ``BONE_DEFORM`` + Deform -- Vertex Groups assigned to Deform Bones. + - ``OTHER_DEFORM`` + Other -- Vertex Groups assigned to non Deform Bones. + + :type: Literal['ALL', 'BONE_DEFORM', 'OTHER_DEFORM'] + + .. attribute:: vertex_group_user + + Display unweighted vertices (default ``'ACTIVE'``) + + - ``NONE`` + None. + - ``ACTIVE`` + Active -- Show vertices with no weights in the active group. + - ``ALL`` + All -- Show vertices with no weights in any group. + + :type: Literal['NONE', 'ACTIVE', 'ALL'] + + .. attribute:: vertex_group_weight + + Weight to assign in vertex groups (in [0, 1], default 1.0) + + :type: float + + .. data:: vertex_paint + + (readonly) + + :type: :class:`VertexPaint` | None + + .. data:: weight_paint + + (readonly) + + :type: :class:`VertexPaint` | None + + .. attribute:: workspace_tool_type + + Action when dragging in the viewport (default ``'FALLBACK'``) + + :type: Literal['DEFAULT', 'FALLBACK'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.tool_settings` + - :class:`Context.tool_settings` + - :class:`Scene.tool_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TrackToConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TrackToConstraint.rst new file mode 100644 index 0000000..2418240 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TrackToConstraint.rst @@ -0,0 +1,129 @@ +TrackToConstraint(Constraint) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: TrackToConstraint(Constraint) + + Aim the constrained object toward the target + + .. attribute:: head_tail + + Target along length of bone: Head is 0, Tail is 1 (in [0, 1], default 0.0) + + :type: float + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: track_axis + + Axis that points to the target object (default ``'TRACK_X'``) + + :type: Literal['TRACK_X', 'TRACK_Y', 'TRACK_Z', 'TRACK_NEGATIVE_X', 'TRACK_NEGATIVE_Y', 'TRACK_NEGATIVE_Z'] + + .. attribute:: up_axis + + Axis that points upward (default ``'UP_X'``) + + :type: Literal['UP_X', 'UP_Y', 'UP_Z'] + + .. attribute:: use_bbone_shape + + Follow shape of B-Bone segments when calculating Head/Tail position (default False) + + :type: bool + + .. attribute:: use_target_z + + Target's Z axis, not World Z axis, will constrain the Up direction (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformCacheConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformCacheConstraint.rst new file mode 100644 index 0000000..878d8c1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformCacheConstraint.rst @@ -0,0 +1,97 @@ +TransformCacheConstraint(Constraint) +==================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: TransformCacheConstraint(Constraint) + + Look up transformation from an external file + + .. attribute:: cache_file + + :type: :class:`CacheFile` | None + + .. attribute:: object_path + + Path to the object in the Alembic archive used to lookup the transform matrix (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformConstraint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformConstraint.rst new file mode 100644 index 0000000..7033602 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformConstraint.rst @@ -0,0 +1,415 @@ +TransformConstraint(Constraint) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Constraint` + +.. class:: TransformConstraint(Constraint) + + Map transformations of the target to the object + + .. attribute:: from_max_x + + Top range of X axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_max_x_rot + + Top range of X axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_max_x_scale + + Top range of X axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_max_y + + Top range of Y axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_max_y_rot + + Top range of Y axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_max_y_scale + + Top range of Y axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_max_z + + Top range of Z axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_max_z_rot + + Top range of Z axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_max_z_scale + + Top range of Z axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_min_x + + Bottom range of X axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_min_x_rot + + Bottom range of X axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_min_x_scale + + Bottom range of X axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_min_y + + Bottom range of Y axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_min_y_rot + + Bottom range of Y axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_min_y_scale + + Bottom range of Y axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_min_z + + Bottom range of Z axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_min_z_rot + + Bottom range of Z axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_min_z_scale + + Bottom range of Z axis source motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: from_rotation_mode + + Specify the type of rotation channels to use (default ``'AUTO'``) + + :type: Literal[:ref:`rna_enum_driver_target_rotation_mode_items`] + + .. attribute:: map_from + + The transformation type to use from the target (default ``'LOCATION'``) + + :type: Literal['LOCATION', 'ROTATION', 'SCALE'] + + .. attribute:: map_to + + The transformation type to affect on the constrained object (default ``'LOCATION'``) + + :type: Literal['LOCATION', 'ROTATION', 'SCALE'] + + .. attribute:: map_to_x_from + + The source axis constrained object's X axis uses (default ``'X'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: map_to_y_from + + The source axis constrained object's Y axis uses (default ``'X'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: map_to_z_from + + The source axis constrained object's Z axis uses (default ``'X'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: mix_mode + + Specify how to combine the new location with original (default ``'ADD'``) + + - ``REPLACE`` + Replace -- Replace component values. + - ``ADD`` + Add -- Add component values together. + + :type: Literal['REPLACE', 'ADD'] + + .. attribute:: mix_mode_rot + + Specify how to combine the new rotation with original (default ``'ADD'``) + + - ``REPLACE`` + Replace -- Replace component values. + - ``ADD`` + Add -- Add component values together. + - ``BEFORE`` + Before Original -- Apply new rotation before original, as if it was on a parent. + - ``AFTER`` + After Original -- Apply new rotation after original, as if it was on a child. + + :type: Literal['REPLACE', 'ADD', 'BEFORE', 'AFTER'] + + .. attribute:: mix_mode_scale + + Specify how to combine the new scale with original (default ``'REPLACE'``) + + - ``REPLACE`` + Replace -- Replace component values. + - ``MULTIPLY`` + Multiply -- Multiply component values together. + + :type: Literal['REPLACE', 'MULTIPLY'] + + .. attribute:: subtarget + + Armature bone, mesh or lattice vertex group, ... (default "", never None) + + :type: str + + .. attribute:: target + + Target object + + :type: :class:`Object` | None + + .. attribute:: to_euler_order + + Explicitly specify the output euler rotation order (default ``'AUTO'``) + + - ``AUTO`` + Default -- Euler using the default rotation order. + - ``XYZ`` + XYZ Euler -- Euler using the XYZ rotation order. + - ``XZY`` + XZY Euler -- Euler using the XZY rotation order. + - ``YXZ`` + YXZ Euler -- Euler using the YXZ rotation order. + - ``YZX`` + YZX Euler -- Euler using the YZX rotation order. + - ``ZXY`` + ZXY Euler -- Euler using the ZXY rotation order. + - ``ZYX`` + ZYX Euler -- Euler using the ZYX rotation order. + + :type: Literal['AUTO', 'XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'] + + .. attribute:: to_max_x + + Top range of X axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_max_x_rot + + Top range of X axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_max_x_scale + + Top range of X axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_max_y + + Top range of Y axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_max_y_rot + + Top range of Y axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_max_y_scale + + Top range of Y axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_max_z + + Top range of Z axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_max_z_rot + + Top range of Z axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_max_z_scale + + Top range of Z axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_min_x + + Bottom range of X axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_min_x_rot + + Bottom range of X axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_min_x_scale + + Bottom range of X axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_min_y + + Bottom range of Y axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_min_y_rot + + Bottom range of Y axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_min_y_scale + + Bottom range of Y axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_min_z + + Bottom range of Z axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_min_z_rot + + Bottom range of Z axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: to_min_z_scale + + Bottom range of Z axis destination motion (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: use_motion_extrapolate + + Extrapolate ranges (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Constraint.name` + - :class:`Constraint.type` + - :class:`Constraint.is_override_data` + - :class:`Constraint.owner_space` + - :class:`Constraint.target_space` + - :class:`Constraint.space_object` + - :class:`Constraint.space_subtarget` + - :class:`Constraint.mute` + - :class:`Constraint.enabled` + - :class:`Constraint.show_expanded` + - :class:`Constraint.is_valid` + - :class:`Constraint.active` + - :class:`Constraint.influence` + - :class:`Constraint.error_location` + - :class:`Constraint.error_rotation` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Constraint.bl_rna_get_subclass` + - :class:`Constraint.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformOrientation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformOrientation.rst new file mode 100644 index 0000000..f90835d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformOrientation.rst @@ -0,0 +1,89 @@ +TransformOrientation(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: TransformOrientation(bpy_struct) + + + .. attribute:: matrix + + (multi-dimensional array of 3 * 3 items, in [-inf, inf], default ((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: name + + Name of the custom transform orientation (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`TransformOrientationSlot.custom_orientation` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformOrientationSlot.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformOrientationSlot.rst new file mode 100644 index 0000000..eeaf8af --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TransformOrientationSlot.rst @@ -0,0 +1,95 @@ +TransformOrientationSlot(bpy_struct) +==================================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: TransformOrientationSlot(bpy_struct) + + + .. data:: custom_orientation + + (readonly) + + :type: :class:`TransformOrientation` | None + + .. attribute:: type + + Transformation orientation (default ``'GLOBAL'``) + + :type: Literal[:ref:`rna_enum_transform_orientation_items`] + + .. attribute:: use + + Use scene orientation instead of a custom setting (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.transform_orientation_slots` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TriangulateModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TriangulateModifier.rst new file mode 100644 index 0000000..9ac4eba --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.TriangulateModifier.rst @@ -0,0 +1,112 @@ +TriangulateModifier(Modifier) +============================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: TriangulateModifier(Modifier) + + Triangulate Mesh + + .. attribute:: keep_custom_normals + + Try to preserve custom normals. + Warning: Depending on chosen triangulation method, shading may not be fully preserved, "Fixed" method usually gives the best result here + + (default False) + + :type: bool + + .. attribute:: min_vertices + + Triangulate only polygons with vertex count greater than or equal to this number (in [4, inf], default 4) + + :type: int + + .. attribute:: ngon_method + + Method for splitting the n-gons into triangles (default ``'BEAUTY'``) + + :type: Literal[:ref:`rna_enum_modifier_triangulate_ngon_method_items`] + + .. attribute:: quad_method + + Method for splitting the quads into triangles (default ``'SHORTEST_DIAGONAL'``) + + :type: Literal[:ref:`rna_enum_modifier_triangulate_quad_method_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UDIMTile.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UDIMTile.rst new file mode 100644 index 0000000..008b130 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UDIMTile.rst @@ -0,0 +1,142 @@ +UDIMTile(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UDIMTile(bpy_struct) + + Properties of the UDIM tile + + .. data:: channels + + Number of channels in the tile pixels buffer (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: generated_color + + Fill color for the generated image (array of 4 items, in [0, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: generated_height + + Generated image height (in [1, 65536], default 0) + + :type: int + + .. attribute:: generated_type + + Generated image type (default ``'BLANK'``) + + :type: Literal[:ref:`rna_enum_image_generated_type_items`] + + .. attribute:: generated_width + + Generated image width (in [1, 65536], default 0) + + :type: int + + .. data:: is_generated_tile + + Is this image tile generated (default False, readonly) + + :type: bool + + .. attribute:: label + + Tile label (default "", never None) + + :type: str + + .. attribute:: number + + Number of the position that this tile covers (in [-inf, inf], default 0) + + :type: int + + .. data:: size + + Width and height of the tile buffer in pixels, zero when image data cannot be loaded (array of 2 items, in [-inf, inf], default (0, 0), readonly) + + :type: :class:`bpy_prop_array`\ [int] + + .. attribute:: use_generated_float + + Generate floating-point buffer (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Image.tiles` + - :class:`UDIMTiles.active` + - :class:`UDIMTiles.get` + - :class:`UDIMTiles.new` + - :class:`UDIMTiles.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UDIMTiles.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UDIMTiles.rst new file mode 100644 index 0000000..0e52724 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UDIMTiles.rst @@ -0,0 +1,117 @@ +UDIMTiles(bpy_prop_collection) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: UDIMTiles(bpy_prop_collection) + + Collection of UDIM tiles + + .. attribute:: active + + Active Image Tile (never None) + + :type: :class:`UDIMTile` + + .. attribute:: active_index + + Active index in tiles array (in [0, inf], default 0) + + :type: int + + .. method:: new(tile_number, *, label="") + + Add a tile to the image + + :param tile_number: Number of the newly created tile (in [1, inf]) + :type tile_number: int + :param label: Optional label for the tile (optional, never None) + :type label: str + :return: Newly created image tile + :rtype: :class:`UDIMTile` + + .. method:: get(tile_number) + + Get a tile based on its tile number + + :param tile_number: Number of the tile (in [0, inf]) + :type tile_number: int + :return: The tile + :rtype: :class:`UDIMTile` + + .. method:: remove(tile) + + Remove an image tile + + :param tile: Image tile to remove (never None) + :type tile: :class:`UDIMTile` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Image.tiles` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UILayout.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UILayout.rst new file mode 100644 index 0000000..b288e96 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UILayout.rst @@ -0,0 +1,1618 @@ +UILayout(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UILayout(bpy_struct) + + User interface layout in a panel or header + + .. attribute:: activate_init + + When true, buttons defined in popups will be activated on first display (use so you can type into a field without having to click on it first) (default False) + + :type: bool + + .. attribute:: active + + (default False) + + :type: bool + + .. attribute:: active_default + + When true, an operator button defined after this will be activated when pressing return(use with popup dialogs) (default False) + + :type: bool + + .. attribute:: alert + + (default False) + + :type: bool + + .. attribute:: alignment + + (default ``'EXPAND'``) + + :type: Literal['EXPAND', 'LEFT', 'CENTER', 'RIGHT'] + + .. data:: direction + + (default ``'HORIZONTAL'``, readonly) + + :type: Literal['HORIZONTAL', 'VERTICAL'] + + .. attribute:: emboss + + (default ``'NORMAL'``) + + - ``NORMAL`` + Regular -- Draw standard button emboss style. + - ``NONE`` + None -- Draw only text and icons. + - ``PULLDOWN_MENU`` + Pull-down Menu -- Draw pull-down menu style. + - ``PIE_MENU`` + Pie Menu -- Draw radial menu style. + - ``NONE_OR_STATUS`` + None or Status -- Draw with no emboss unless the button has a coloring status like an animation state. + + :type: Literal['NORMAL', 'NONE', 'PULLDOWN_MENU', 'PIE_MENU', 'NONE_OR_STATUS'] + + .. attribute:: enabled + + When false, this (sub)layout is grayed out (default False) + + :type: bool + + .. attribute:: operator_context + + Typically set to 'INVOKE_REGION_WIN', except some cases in :class:`bpy.types.Menu` when it's set to 'EXEC_REGION_WIN'. (default ``'INVOKE_DEFAULT'``) + + :type: Literal[:ref:`rna_enum_operator_context_items`] + + .. attribute:: scale_x + + Scale factor along the X for items in this (sub)layout (in [0, inf], default 0.0) + + :type: float + + .. attribute:: scale_y + + Scale factor along the Y for items in this (sub)layout (in [0, inf], default 0.0) + + :type: float + + .. attribute:: ui_units_x + + Fixed size along the X for items in this (sub)layout (in [0, inf], default 0.0) + + :type: float + + .. attribute:: ui_units_y + + Fixed size along the Y for items in this (sub)layout (in [0, inf], default 0.0) + + :type: float + + .. attribute:: use_property_decorate + + (default False) + + :type: bool + + .. attribute:: use_property_split + + (default False) + + :type: bool + + .. method:: row(*, align=False, heading="", heading_ctxt="", translate=True) + + Sub-layout. Items placed in this sublayout are placed next to each other in a row. + + :param align: Align buttons to each other (optional) + :type align: bool + :param heading: Heading, Label to insert into the layout for this sub-layout (optional, never None) + :type heading: str + :param heading_ctxt: Override automatic translation context of the given heading (optional, never None) + :type heading_ctxt: str + :param translate: Translate the given heading, when UI translation is enabled (optional) + :type translate: bool + :return: Sub-layout to put items in + :rtype: :class:`UILayout` + + .. method:: column(*, align=False, heading="", heading_ctxt="", translate=True) + + Sub-layout. Items placed in this sublayout are placed under each other in a column. + + :param align: Align buttons to each other (optional) + :type align: bool + :param heading: Heading, Label to insert into the layout for this sub-layout (optional, never None) + :type heading: str + :param heading_ctxt: Override automatic translation context of the given heading (optional, never None) + :type heading_ctxt: str + :param translate: Translate the given heading, when UI translation is enabled (optional) + :type translate: bool + :return: Sub-layout to put items in + :rtype: :class:`UILayout` + + .. method:: panel(idname, *, default_closed=False) + + Creates a collapsible panel. Whether it is open or closed is stored in the region using the given idname. This can only be used when the panel has the full width of the panel region available to it. So it can't be used in e.g. in a box or columns. + + :param idname: Identifier of the panel (never None) + :type idname: str + :param default_closed: Open by Default, When true, the panel will be open the first time it is shown (optional) + :type default_closed: bool + :return: + ``layout_header``, Sub-layout to put items in, :class:`UILayout` + + ``layout_body``, Sub-layout to put items in. Will be none if the panel is collapsed., :class:`UILayout` + + :rtype: tuple[:class:`UILayout`, :class:`UILayout`] + + .. method:: panel_prop(data, property) + + Similar to ``.panel(...)`` but instead of storing whether it is open or closed in the region, it is stored in the provided boolean property. This should be used when multiple instances of the same panel can exist. For example one for every item in a collection property or list. This can only be used when the panel has the full width of the panel region available to it. So it can't be used in e.g. in a box or columns. + + :param data: Data from which to take the open-state property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of the boolean property that determines whether the panel is open or closed (never None) + :type property: str + :return: + ``layout_header``, Sub-layout to put items in, :class:`UILayout` + + ``layout_body``, Sub-layout to put items in. Will be none if the panel is collapsed., :class:`UILayout` + + :rtype: tuple[:class:`UILayout`, :class:`UILayout`] + + .. method:: column_flow(*, columns=0, align=False) + + column_flow + + :param columns: Number of columns, 0 is automatic (in [0, inf], optional) + :type columns: int + :param align: Align buttons to each other (optional) + :type align: bool + :return: Sub-layout to put items in + :rtype: :class:`UILayout` + + .. method:: grid_flow(*, row_major=False, columns=0, even_columns=False, even_rows=False, align=False) + + grid_flow + + :param row_major: Fill row by row, instead of column by column (optional) + :type row_major: bool + :param columns: Number of columns, positive are absolute fixed numbers, 0 is automatic, negative are automatic multiple numbers along major axis (e.g. -2 will only produce 2, 4, 6 etc. columns for row major layout, and 2, 4, 6 etc. rows for column major layout). (in [-inf, inf], optional) + :type columns: int + :param even_columns: All columns will have the same width (optional) + :type even_columns: bool + :param even_rows: All rows will have the same height (optional) + :type even_rows: bool + :param align: Align buttons to each other (optional) + :type align: bool + :return: Sub-layout to put items in + :rtype: :class:`UILayout` + + .. method:: box() + + Sublayout (items placed in this sublayout are placed under each other in a column and are surrounded by a box) + + :return: Sub-layout to put items in + :rtype: :class:`UILayout` + + .. method:: split(*, factor=0.0, align=False) + + split + + :param factor: Percentage, Percentage of width to split at (leave unset for automatic calculation) (in [0, 1], optional) + :type factor: float + :param align: Align buttons to each other (optional) + :type align: bool + :return: Sub-layout to put items in + :rtype: :class:`UILayout` + + .. method:: menu_pie() + + Sublayout. Items placed in this sublayout are placed in a radial fashion around the menu center). + + :return: Sub-layout to put items in + :rtype: :class:`UILayout` + + .. classmethod:: icon(data) + + Return the custom icon for this data, use it e.g. to get materials or texture icons. + + :param data: Data from which to take the icon (never None) + :type data: :class:`AnyType` | None + :return: Icon identifier (in [0, inf]) + :rtype: int + + .. classmethod:: enum_item_name(data, property, identifier) + + Return the UI name for this enum item + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param identifier: Identifier of the enum item (never None) + :type identifier: str + :return: UI name of the enum item (never None) + :rtype: str + + .. classmethod:: enum_item_description(data, property, identifier) + + Return the UI description for this enum item + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param identifier: Identifier of the enum item (never None) + :type identifier: str + :return: UI description of the enum item (never None) + :rtype: str + + .. classmethod:: enum_item_icon(data, property, identifier) + + Return the icon for this enum item + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param identifier: Identifier of the enum item (never None) + :type identifier: str + :return: Icon identifier (in [0, inf]) + :rtype: int + + .. method:: prop(data, property, *, text="", text_ctxt="", translate=True, icon='NONE', placeholder="", expand=False, slider=False, toggle=-1, icon_only=False, event=False, full_event=False, emboss=True, index=-1, icon_value=0, invert_checkbox=False) + + Item. Exposes an RNA item and places it into the layout. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param placeholder: Hint describing the expected value when empty (optional) + :type placeholder: str + :param expand: Expand button to show more detail (optional) + :type expand: bool + :param slider: Use slider widget for numeric values (optional) + :type slider: bool + :param toggle: Use toggle widget for boolean values, or a checkbox when disabled (the default is -1 which uses toggle only when an icon is displayed) (in [-1, 1], optional) + :type toggle: int + :param icon_only: Draw only icons in buttons, no text (optional) + :type icon_only: bool + :param event: Use button to input key events (optional) + :type event: bool + :param full_event: Use button to input full events including modifiers (optional) + :type full_event: bool + :param emboss: Draw the button itself, not just the icon/text. When false, corresponds to the 'NONE_OR_STATUS' layout emboss type. (optional) + :type emboss: bool + :param index: The index of this button, when set a single member of an array can be accessed, when set to -1 all array members are used (in [-2, inf], optional) + :type index: int + :param icon_value: Icon Value, Override automatic icon of the item (in [0, inf], optional) + :type icon_value: int + :param invert_checkbox: Draw checkbox value inverted (optional) + :type invert_checkbox: bool + + .. method:: props_enum(data, property) + + props_enum + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: prop_menu_enum(data, property, *, text="", text_ctxt="", translate=True, icon='NONE') + + prop_menu_enum + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + + .. method:: prop_with_popover(data, property, *, text="", text_ctxt="", translate=True, icon='NONE', icon_only=False, panel) + + prop_with_popover + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param icon_only: Draw only icons in tabs, no text (optional) + :type icon_only: bool + :param panel: Identifier of the panel (never None) + :type panel: str + + .. method:: prop_with_menu(data, property, *, text="", text_ctxt="", translate=True, icon='NONE', icon_only=False, menu) + + prop_with_menu + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param icon_only: Draw only icons in tabs, no text (optional) + :type icon_only: bool + :param menu: Identifier of the menu (never None) + :type menu: str + + .. method:: prop_tabs_enum(data, property, *, data_highlight=None, property_highlight="", icon_only=False, expand_as='DEFAULT') + + prop_tabs_enum + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param data_highlight: Data from which to take highlight property (optional, never None) + :type data_highlight: :class:`AnyType` | None + :param property_highlight: Identifier of highlight property in data (optional, never None) + :type property_highlight: str + :param icon_only: Draw only icons in tabs, no text (optional) + :type icon_only: bool + :param expand_as: (optional) + :type expand_as: Literal['DEFAULT', 'ROW'] + + .. method:: prop_enum(data, property, value, *, text="", text_ctxt="", translate=True, icon='NONE') + + prop_enum + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param value: Enum property value (never None) + :type value: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + + .. method:: prop_search(data, property, search_data, search_property, *, text="", text_ctxt="", translate=True, icon='NONE', results_are_suggestions=False, item_search_property="") + + prop_search + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param search_data: Data from which to take collection to search in (never None) + :type search_data: :class:`AnyType` | None + :param search_property: Identifier of search collection property (never None) + :type search_property: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param results_are_suggestions: Accept inputs that do not match any item (optional) + :type results_are_suggestions: bool + :param item_search_property: Identifier of the string property in each collection's items to use for searching (defaults to the items' type 'name property') (optional, never None) + :type item_search_property: str + + .. method:: prop_decorator(data, property, *, index=-1) + + prop_decorator + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param index: The index of this button, when set a single member of an array can be accessed, when set to -1 all array members are used (in [-2, inf], optional) + :type index: int + + .. method:: operator(operator, *, text="", text_ctxt="", translate=True, icon='NONE', emboss=True, depress=False, icon_value=0, search_weight=0.0) + + Item. Places a button into the layout to call an Operator. + + :param operator: Identifier of the operator (never None) + :type operator: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param emboss: Draw the button itself, not just the icon/text (optional) + :type emboss: bool + :param depress: Draw pressed in (optional) + :type depress: bool + :param icon_value: Icon Value, Override automatic icon of the item (in [0, inf], optional) + :type icon_value: int + :param search_weight: Search Weight, Influences the sorting when using menu-seach (in [-inf, inf], optional) + :type search_weight: float + :return: Operator properties to fill in + :rtype: :class:`OperatorProperties` + + .. method:: operator_menu_hold(operator, *, text="", text_ctxt="", translate=True, icon='NONE', emboss=True, depress=False, icon_value=0, menu) + + Item. Places a button into the layout to call an Operator. + + :param operator: Identifier of the operator (never None) + :type operator: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param emboss: Draw the button itself, not just the icon/text (optional) + :type emboss: bool + :param depress: Draw pressed in (optional) + :type depress: bool + :param icon_value: Icon Value, Override automatic icon of the item (in [0, inf], optional) + :type icon_value: int + :param menu: Identifier of the menu (never None) + :type menu: str + :return: Operator properties to fill in + :rtype: :class:`OperatorProperties` + + .. method:: operator_enum(operator, property, *, icon_only=False) + + operator_enum + + :param operator: Identifier of the operator (never None) + :type operator: str + :param property: Identifier of property in operator (never None) + :type property: str + :param icon_only: Draw only icons in buttons, no text (optional) + :type icon_only: bool + + .. method:: operator_menu_enum(operator, property, *, text="", text_ctxt="", translate=True, icon='NONE') + + operator_menu_enum + + :param operator: Identifier of the operator (never None) + :type operator: str + :param property: Identifier of property in operator (never None) + :type property: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :return: Operator properties to fill in + :rtype: :class:`OperatorProperties` + + .. method:: label(*, text="", text_ctxt="", translate=True, icon='NONE', icon_value=0) + + Item. Displays text and/or icon in the layout. + + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param icon_value: Icon Value, Override automatic icon of the item (in [0, inf], optional) + :type icon_value: int + + .. method:: menu(menu, *, text="", text_ctxt="", translate=True, icon='NONE', icon_value=0) + + menu + + :param menu: Identifier of the menu (never None) + :type menu: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param icon_value: Icon Value, Override automatic icon of the item (in [0, inf], optional) + :type icon_value: int + + .. method:: menu_contents(menu) + + menu_contents + + :param menu: Identifier of the menu (never None) + :type menu: str + + .. method:: popover(panel, *, text="", text_ctxt="", translate=True, icon='NONE', icon_value=0, direction='VERTICAL') + + popover + + :param panel: Identifier of the panel (never None) + :type panel: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param icon_value: Icon Value, Override automatic icon of the item (in [0, inf], optional) + :type icon_value: int + :param direction: Popup Direction, The direction in which the popup panel is drawn relative to button position (optional) + + - ``VERTICAL`` + Vertical -- Draw popup panel above or below the button. + - ``HORIZONTAL`` + Horizontal -- Draw popup panel to the side of the button. + :type direction: Literal['VERTICAL', 'HORIZONTAL'] + + .. method:: popover_group(space_type, region_type, context, category) + + popover_group + + :param space_type: Space Type + :type space_type: Literal[:ref:`rna_enum_space_type_items`] + :param region_type: Region Type + :type region_type: Literal[:ref:`rna_enum_region_type_items`] + :param context: panel type context (never None) + :type context: str + :param category: panel type category (never None) + :type category: str + + .. method:: separator(*, factor=1.0, type='AUTO') + + Item. Inserts empty space into the layout between items. + + :param factor: Percentage, Percentage of width to space (leave unset for default space) (in [0, inf], optional) + :type factor: float + :param type: Type, The type of the separator (optional) + + - ``AUTO`` + Auto -- Best guess at what type of separator is needed.. + - ``SPACE`` + Empty space -- Horizontal or Vertical empty space, depending on layout direction.. + - ``LINE`` + Line -- Horizontal or Vertical line, depending on layout direction.. + :type type: Literal['AUTO', 'SPACE', 'LINE'] + + .. method:: separator_spacer() + + Item. Inserts horizontal spacing empty space into the layout between items. + + + .. method:: progress(*, text="", text_ctxt="", translate=True, factor=0.0, type='BAR') + + Progress indicator + + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param factor: Factor, Amount of progress from 0.0f to 1.0f (in [0, 1], optional) + :type factor: float + :param type: Type, The type of progress indicator (optional) + :type type: Literal['BAR', 'RING'] + + .. method:: context_pointer_set(name, data) + + context_pointer_set + + :param name: Name, Name of entry in the context (never None) + :type name: str + :param data: Pointer to put in context + :type data: :class:`AnyType` | None + + .. method:: context_string_set(name, value) + + context_string_set + + :param name: Name, Name of entry in the context (never None) + :type name: str + :param value: Value, String to put in context (never None) + :type value: str + + .. method:: template_header() + + Inserts common Space header UI (editor type selector) + + + .. method:: template_ID(data, property, *, new="", open="", unlink="", filter='ALL', live_icon=False, text="", text_ctxt="", translate=True) + + template_ID + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param new: Operator identifier to create a new ID block (optional, never None) + :type new: str + :param open: Operator identifier to open a file for creating a new ID block (optional, never None) + :type open: str + :param unlink: Operator identifier to unlink the ID block (optional, never None) + :type unlink: str + :param filter: Optionally limit the items which can be selected (optional) + :type filter: Literal['ALL', 'AVAILABLE'] + :param live_icon: Show preview instead of fixed icon (optional) + :type live_icon: bool + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + + .. method:: template_ID_session_uid(data, property, id_type) + + Template ID search menu button for session_uid Int properties + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :type id_type: Literal[:ref:`rna_enum_id_type_items`] + + .. method:: template_ID_preview(data, property, *, new="", open="", unlink="", rows=0, cols=0, filter='ALL', hide_buttons=False) + + template_ID_preview + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param new: Operator identifier to create a new ID block (optional, never None) + :type new: str + :param open: Operator identifier to open a file for creating a new ID block (optional, never None) + :type open: str + :param unlink: Operator identifier to unlink the ID block (optional, never None) + :type unlink: str + :param rows: Number of thumbnail preview rows to display, (in [0, inf], optional) + :type rows: int + :param cols: Number of thumbnail preview columns to display, (in [0, inf], optional) + :type cols: int + :param filter: Optionally limit the items which can be selected (optional) + :type filter: Literal['ALL', 'AVAILABLE'] + :param hide_buttons: Show only list, no buttons (optional) + :type hide_buttons: bool + + .. method:: template_matrix(data, property) + + Insert a readonly Matrix UI. The UI displays the matrix components - translation, rotation and scale. The **property** argument must be the identifier of an existing 4x4 float vector property of subtype 'MATRIX'. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_any_ID(data, property, type_property, *, text="", text_ctxt="", translate=True) + + template_any_ID + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param type_property: Identifier of property in data giving the type of the ID-blocks to use (never None) + :type type_property: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + + .. method:: template_ID_tabs(data, property, *, new="", menu="", filter='ALL') + + template_ID_tabs + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param new: Operator identifier to create a new ID block (optional, never None) + :type new: str + :param menu: Context menu identifier (optional, never None) + :type menu: str + :param filter: Optionally limit the items which can be selected (optional) + :type filter: Literal['ALL', 'AVAILABLE'] + + .. method:: template_action(id, *, new="", unlink="", text="", text_ctxt="", translate=True) + + template_action + + :param id: The data-block for which to select an Action (never None) + :type id: :class:`ID` | None + :param new: Operator identifier to create a new ID block (optional, never None) + :type new: str + :param unlink: Operator identifier to unlink the ID block (optional, never None) + :type unlink: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + + .. method:: template_search(data, property, search_data, search_property, *, new="", unlink="", text="", text_ctxt="", translate=True) + + template_search + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param search_data: Data from which to take collection to search in (never None) + :type search_data: :class:`AnyType` | None + :param search_property: Identifier of search collection property (never None) + :type search_property: str + :param new: Operator identifier to create a new item for the collection (optional, never None) + :type new: str + :param unlink: Operator identifier to unlink or delete the active item from the collection (optional, never None) + :type unlink: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + + .. method:: template_search_preview(data, property, search_data, search_property, *, new="", unlink="", text="", text_ctxt="", translate=True, rows=0, cols=0) + + template_search_preview + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param search_data: Data from which to take collection to search in (never None) + :type search_data: :class:`AnyType` | None + :param search_property: Identifier of search collection property (never None) + :type search_property: str + :param new: Operator identifier to create a new item for the collection (optional, never None) + :type new: str + :param unlink: Operator identifier to unlink or delete the active item from the collection (optional, never None) + :type unlink: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param rows: Number of thumbnail preview rows to display, (in [0, inf], optional) + :type rows: int + :param cols: Number of thumbnail preview columns to display, (in [0, inf], optional) + :type cols: int + + .. method:: template_path_builder(data, property, root, *, text="", text_ctxt="", translate=True) + + template_path_builder + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param root: ID-block from which path is evaluated from + :type root: :class:`ID` | None + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + + .. method:: template_modifiers() + + Generates the UI layout for the modifier stack + + + .. method:: template_strip_modifiers() + + Generates the UI layout for the strip modifier stack + + + .. method:: template_collection_exporters() + + Generates the UI layout for collection exporters + + + .. method:: template_constraints(*, use_bone_constraints=True) + + Generates the panels for the constraint stack + + :param use_bone_constraints: Add panels for bone constraints instead of object constraints (optional) + :type use_bone_constraints: bool + + .. method:: template_shaderfx() + + Generates the panels for the shader effect stack + + + .. method:: template_greasepencil_color(data, property, *, rows=0, cols=0, scale=1.0, filter='ALL') + + template_greasepencil_color + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param rows: Number of thumbnail preview rows to display, (in [0, inf], optional) + :type rows: int + :param cols: Number of thumbnail preview columns to display, (in [0, inf], optional) + :type cols: int + :param scale: Scale of the image thumbnails, (in [0.1, 1.5], optional) + :type scale: float + :param filter: Optionally limit the items which can be selected (optional) + :type filter: Literal['ALL', 'AVAILABLE'] + + .. method:: template_constraint_header(data) + + Generates the header for constraint panels + + :param data: Constraint data (never None) + :type data: :class:`Constraint` | None + + .. method:: template_preview(id, *, show_buttons=True, parent=None, slot=None, preview_id="") + + Item. A preview window for materials, textures, lights or worlds. + + :param id: ID data-block + :type id: :class:`ID` | None + :param show_buttons: Show preview buttons? (optional) + :type show_buttons: bool + :param parent: ID data-block (optional) + :type parent: :class:`ID` | None + :param slot: Texture slot (optional) + :type slot: :class:`TextureSlot` | None + :param preview_id: Identifier of this preview widget, if not set the ID type will be used (i.e. all previews of materials without explicit ID will have the same size...). (optional, never None) + :type preview_id: str + + .. method:: template_curve_mapping(data, property, *, type='NONE', levels=False, brush=False, use_negative_slope=False, show_tone=False, show_presets=False) + + Item. A curve mapping widget used for e.g falloff curves for lights. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param type: Type, Type of curves to display (optional) + :type type: Literal['NONE', 'VECTOR', 'COLOR', 'HUE'] + :param levels: Show black/white levels (optional) + :type levels: bool + :param brush: Show brush options (optional) + :type brush: bool + :param use_negative_slope: Use a negative slope by default (optional) + :type use_negative_slope: bool + :param show_tone: Show tone options (optional) + :type show_tone: bool + :param show_presets: Show preset options (optional) + :type show_presets: bool + + .. method:: template_curveprofile(data, property) + + A profile path editor used for custom profiles + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_color_ramp(data, property, *, expand=False) + + Item. A color ramp widget. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param expand: Expand button to show more detail (optional) + :type expand: bool + + .. method:: template_icon(icon_value, *, scale=1.0) + + Display a large icon + + :param icon_value: Icon to display, (in [0, inf]) + :type icon_value: int + :param scale: Scale, Scale the icon size (by the button size) (in [1, 100], optional) + :type scale: float + + .. method:: template_icon_view(data, property, *, show_labels=False, scale=6.0, scale_popup=5.0) + + Enum. Large widget showing Icon previews. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param show_labels: Show enum label in preview buttons (optional) + :type show_labels: bool + :param scale: UI Units, Scale the button icon size (by the button size) (in [1, 100], optional) + :type scale: float + :param scale_popup: Scale, Scale the popup icon size (by the button size) (in [1, 100], optional) + :type scale_popup: float + + .. method:: template_histogram(data, property) + + Item. A histogramm widget to analyze imaga data. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_waveform(data, property) + + Item. A waveform widget to analyze imaga data. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_vectorscope(data, property) + + Item. A vectorscope widget to analyze imaga data. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_layers(data, property, used_layers_data, used_layers_property, active_layer) + + template_layers + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param used_layers_data: Data from which to take property + :type used_layers_data: :class:`AnyType` | None + :param used_layers_property: Identifier of property in data (never None) + :type used_layers_property: str + :param active_layer: Active Layer, (in [0, inf]) + :type active_layer: int + + .. method:: template_color_picker(data, property, *, value_slider=False, lock=False, lock_luminosity=False, cubic=False) + + Item. A color wheel widget to pick colors. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param value_slider: Display the value slider to the right of the color wheel (optional) + :type value_slider: bool + :param lock: Lock the color wheel display to value 1.0 regardless of actual color (optional) + :type lock: bool + :param lock_luminosity: Keep the color at its original vector length (optional) + :type lock_luminosity: bool + :param cubic: Cubic saturation for picking values close to white (optional) + :type cubic: bool + + .. method:: template_palette(data, property, *, color=False) + + Item. A palette used to pick colors. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param color: Display the colors as colors or values (optional) + :type color: bool + + .. method:: template_image_layers(image, image_user) + + template_image_layers + + :type image: :class:`Image` | None + :type image_user: :class:`ImageUser` | None + + .. method:: template_image(data, property, image_user, *, compact=False, multiview=False) + + Item(s). User interface for selecting images and their source paths. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param image_user: (never None) + :type image_user: :class:`ImageUser` | None + :param compact: Use more compact layout (optional) + :type compact: bool + :param multiview: Expose Multi-View options (optional) + :type multiview: bool + + .. method:: template_image_settings(image_settings, *, color_management=False) + + User interface for setting image format options + + :param image_settings: (never None) + :type image_settings: :class:`ImageFormatSettings` | None + :param color_management: Show color management settings (optional) + :type color_management: bool + + .. method:: template_image_stereo_3d(stereo_3d_format) + + User interface for setting image stereo 3d options + + :param stereo_3d_format: (never None) + :type stereo_3d_format: :class:`Stereo3dFormat` | None + + .. method:: template_image_views(image_settings) + + User interface for setting image views output options + + :param image_settings: (never None) + :type image_settings: :class:`ImageFormatSettings` | None + + .. method:: template_movieclip(data, property, *, compact=False) + + Item(s). User interface for selecting movie clips and their source paths. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param compact: Use more compact layout (optional) + :type compact: bool + + .. method:: template_track(data, property) + + Item. A movie-track widget to preview tracking image. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_marker(data, property, clip_user, track, *, compact=False) + + Item. A widget to control single marker settings. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param clip_user: (never None) + :type clip_user: :class:`MovieClipUser` | None + :param track: (never None) + :type track: :class:`MovieTrackingTrack` | None + :param compact: Use more compact layout (optional) + :type compact: bool + + .. method:: template_movieclip_information(data, property, clip_user) + + Item. Movie clip information data. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param clip_user: (never None) + :type clip_user: :class:`MovieClipUser` | None + + .. method:: template_list(listtype_name, list_id, dataptr, propname, active_dataptr, active_propname, *, item_dyntip_propname="", rows=5, maxrows=5, type='DEFAULT', columns=9, sort_reverse=False, sort_lock=False) + + Item. A list widget to display data, e.g. vertexgroups. + + :param listtype_name: Identifier of the list type to use (never None) + :type listtype_name: str + :param list_id: Identifier of this list widget. Necessary to tell apart different list widgets. Mandatory when using default "UI_UL_list" class. If this not an empty string, the uilist gets a custom ID, otherwise it takes the name of the class used to define the uilist (for example, if the class name is "OBJECT_UL_vgroups", and list_id is not set by the script, then bl_idname = "OBJECT_UL_vgroups") (never None) + :type list_id: str + :param dataptr: Data from which to take the Collection property + :type dataptr: :class:`AnyType` | None + :param propname: Identifier of the Collection property in data (never None) + :type propname: str + :param active_dataptr: Data from which to take the integer property, index of the active item (never None) + :type active_dataptr: :class:`AnyType` | None + :param active_propname: Identifier of the integer property in active_data, index of the active item (never None) + :type active_propname: str + :param item_dyntip_propname: Identifier of a string property in items, to use as tooltip content (optional, never None) + :type item_dyntip_propname: str + :param rows: Default and minimum number of rows to display (in [0, inf], optional) + :type rows: int + :param maxrows: Default maximum number of rows to display (in [0, inf], optional) + :type maxrows: int + :param type: Type, Type of layout to use (optional) + :type type: Literal[:ref:`rna_enum_uilist_layout_type_items`] + :param columns: Number of items to display per row, for GRID layout (in [0, inf], optional) + :type columns: int + :param sort_reverse: Display items in reverse order by default (optional) + :type sort_reverse: bool + :param sort_lock: Lock display order to default value (optional) + :type sort_lock: bool + + .. method:: template_running_jobs() + + template_running_jobs + + + .. method:: template_operator_search() + + template_operator_search + + + .. method:: template_menu_search() + + template_menu_search + + + .. method:: template_header_3D_mode() + + + + + .. method:: template_edit_mode_selection() + + Inserts common 3DView Edit modes header UI (selector for selection mode) + + + .. method:: template_reports_banner() + + template_reports_banner + + + .. method:: template_input_status() + + template_input_status + + + .. method:: template_status_info() + + template_status_info + + + .. method:: template_node_link(ntree, node, socket) + + template_node_link + + :type ntree: :class:`NodeTree` | None + :type node: :class:`Node` | None + :type socket: :class:`NodeSocket` | None + + .. method:: template_node_view(ntree, node, socket) + + template_node_view + + :type ntree: :class:`NodeTree` | None + :type node: :class:`Node` | None + :type socket: :class:`NodeSocket` | None + + .. method:: template_node_operator_registration_errors(*, idname="") + + template_node_operator_registration_errors + + :param idname: (optional, never None) + :type idname: str + + .. method:: template_node_asset_menu_items(*, catalog_path="", operator='ADD') + + template_node_asset_menu_items + + :param catalog_path: (optional, never None) + :type catalog_path: str + :param operator: Operator, The operator the asset menu will use (optional) + + - ``ADD`` + Add Node -- Add a node to the active tree.. + - ``SWAP`` + Swap Node -- Replace the selected nodes with the specified type.. + :type operator: Literal['ADD', 'SWAP'] + + .. method:: template_modifier_asset_menu_items(*, catalog_path="", skip_essentials=False) + + template_modifier_asset_menu_items + + :param catalog_path: (optional, never None) + :type catalog_path: str + :param skip_essentials: (optional) + :type skip_essentials: bool + + .. method:: template_node_operator_asset_menu_items(*, catalog_path="") + + template_node_operator_asset_menu_items + + :param catalog_path: (optional, never None) + :type catalog_path: str + + .. method:: template_node_operator_asset_root_items() + + template_node_operator_asset_root_items + + + .. method:: template_texture_user() + + template_texture_user + + + .. method:: template_keymap_item_properties(item) + + template_keymap_item_properties + + :param item: (never None) + :type item: :class:`KeyMapItem` | None + + .. method:: template_component_menu(data, property, *, name="") + + Item. Display expanded property in a popup menu + + :param data: Data from which to take property + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + :param name: (optional, never None) + :type name: str + + .. method:: template_colorspace_settings(data, property) + + Item. A widget to control input color space settings. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_colormanaged_view_settings(data, property) + + Item. A widget to control color managed view settings. + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_node_socket(*, color=(0.0, 0.0, 0.0, 1.0)) + + Node Socket Icon + + :param color: Color, (array of 4 items, in [0, 1], optional) + :type color: Sequence[float] + + .. method:: template_cache_file(data, property) + + Item(s). User interface for selecting cache files and their source paths + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_cache_file_velocity(data, property) + + Show cache files velocity properties + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_cache_file_time_settings(data, property) + + Show cache files time settings + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_cache_file_layers(data, property) + + Show cache files override layers properties + + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_recent_files(*, rows=6) + + Show list of recently saved .blend files + + :param rows: Maximum number of items to show (in [1, inf], optional) + :type rows: int + :return: Number of items drawn (in [0, inf]) + :rtype: int + + .. method:: template_file_select_path(params) + + Item. A text button to set the active file browser path. + + :type params: :class:`FileSelectParams` | None + + .. method:: template_event_from_keymap_item(item, *, text="", text_ctxt="", translate=True) + + Display keymap item as icons/text + + :param item: Item, (never None) + :type item: :class:`KeyMapItem` | None + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + + .. method:: template_light_linking_collection(context_layout, data, property) + + Visualization of a content of a light linking collection + + :param context_layout: Layout to set active list element as context properties (never None) + :type context_layout: :class:`UILayout` | None + :param data: Data from which to take property (never None) + :type data: :class:`AnyType` | None + :param property: Identifier of property in data (never None) + :type property: str + + .. method:: template_bone_collection_tree() + + Show bone collections tree + + + .. method:: template_grease_pencil_layer_tree() + + View of the active Grease Pencil layer tree + + + .. method:: template_node_tree_interface(interface) + + Show a node tree interface + + :param interface: Node Tree Interface, Interface of a node tree to display (never None) + :type interface: :class:`NodeTreeInterface` | None + + .. method:: template_node_inputs(node) + + Show a node settings and input socket values + + :param node: Node, Display inputs of this node (never None) + :type node: :class:`Node` | None + + .. method:: template_asset_shelf_popover(asset_shelf, *, name="", icon='NONE', icon_value=0) + + Create a button to open an asset shelf in a popover + + :param asset_shelf: Identifier of the asset shelf to display (``bl_idname``) (never None) + :type asset_shelf: str + :param name: Optional name to indicate the active asset (optional) + :type name: str + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param icon_value: Icon Value, Override automatic icon of the item (in [0, inf], optional) + :type icon_value: int + + .. method:: template_popup_confirm(operator, *, text="", text_ctxt="", translate=True, icon='NONE', cancel_text="", cancel_default=False) + + Add confirm & cancel buttons into a popup which will close the popup when pressed + + :param operator: Identifier of the operator (never None) + :type operator: str + :param text: Override automatic text of the item (optional) + :type text: str + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :param icon: Icon, Override automatic icon of the item (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param cancel_text: Optional text to use for the cancel, not shown when an empty string (optional, never None) + :type cancel_text: str + :param cancel_default: Cancel button by default (optional) + :type cancel_default: bool + :return: Operator properties to fill in + :rtype: :class:`OperatorProperties` + + .. method:: template_shape_key_tree() + + Shape Key tree view + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + + .. method:: introspect() + + Return a list of dictionaries containing a textual representation of the UI layout. + + :rtype: list[dict[str, Any]] + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AssetShelf.draw_context_menu` + - :class:`Header.layout` + - :class:`Menu.layout` + - :class:`Node.draw_buttons` + - :class:`Node.draw_buttons_ext` + - :class:`NodeInternal.draw_buttons` + - :class:`NodeInternal.draw_buttons_ext` + - :class:`NodeSocket.draw` + - :class:`NodeSocketStandard.draw` + - :class:`NodeTreeInterfaceSocket.draw` + - :class:`NodeTreeInterfaceSocketBool.draw` + - :class:`NodeTreeInterfaceSocketBundle.draw` + - :class:`NodeTreeInterfaceSocketClosure.draw` + - :class:`NodeTreeInterfaceSocketCollection.draw` + - :class:`NodeTreeInterfaceSocketColor.draw` + - :class:`NodeTreeInterfaceSocketFloat.draw` + - :class:`NodeTreeInterfaceSocketFloatAngle.draw` + - :class:`NodeTreeInterfaceSocketFloatColorTemperature.draw` + - :class:`NodeTreeInterfaceSocketFloatDistance.draw` + - :class:`NodeTreeInterfaceSocketFloatFactor.draw` + - :class:`NodeTreeInterfaceSocketFloatFrequency.draw` + - :class:`NodeTreeInterfaceSocketFloatMass.draw` + - :class:`NodeTreeInterfaceSocketFloatPercentage.draw` + - :class:`NodeTreeInterfaceSocketFloatTime.draw` + - :class:`NodeTreeInterfaceSocketFloatTimeAbsolute.draw` + - :class:`NodeTreeInterfaceSocketFloatUnsigned.draw` + - :class:`NodeTreeInterfaceSocketFloatWavelength.draw` + - :class:`NodeTreeInterfaceSocketGeometry.draw` + - :class:`NodeTreeInterfaceSocketImage.draw` + - :class:`NodeTreeInterfaceSocketInt.draw` + - :class:`NodeTreeInterfaceSocketIntFactor.draw` + - :class:`NodeTreeInterfaceSocketIntPercentage.draw` + - :class:`NodeTreeInterfaceSocketIntUnsigned.draw` + - :class:`NodeTreeInterfaceSocketMaterial.draw` + - :class:`NodeTreeInterfaceSocketMatrix.draw` + - :class:`NodeTreeInterfaceSocketMenu.draw` + - :class:`NodeTreeInterfaceSocketObject.draw` + - :class:`NodeTreeInterfaceSocketRotation.draw` + - :class:`NodeTreeInterfaceSocketShader.draw` + - :class:`NodeTreeInterfaceSocketString.draw` + - :class:`NodeTreeInterfaceSocketStringFilePath.draw` + - :class:`NodeTreeInterfaceSocketTexture.draw` + - :class:`NodeTreeInterfaceSocketVector.draw` + - :class:`NodeTreeInterfaceSocketVector2D.draw` + - :class:`NodeTreeInterfaceSocketVector4D.draw` + - :class:`NodeTreeInterfaceSocketVectorAcceleration.draw` + - :class:`NodeTreeInterfaceSocketVectorAcceleration2D.draw` + - :class:`NodeTreeInterfaceSocketVectorAcceleration4D.draw` + - :class:`NodeTreeInterfaceSocketVectorDirection.draw` + - :class:`NodeTreeInterfaceSocketVectorDirection2D.draw` + - :class:`NodeTreeInterfaceSocketVectorDirection4D.draw` + - :class:`NodeTreeInterfaceSocketVectorEuler.draw` + - :class:`NodeTreeInterfaceSocketVectorEuler2D.draw` + - :class:`NodeTreeInterfaceSocketVectorEuler4D.draw` + - :class:`NodeTreeInterfaceSocketVectorFactor.draw` + - :class:`NodeTreeInterfaceSocketVectorFactor2D.draw` + - :class:`NodeTreeInterfaceSocketVectorFactor4D.draw` + - :class:`NodeTreeInterfaceSocketVectorPercentage.draw` + - :class:`NodeTreeInterfaceSocketVectorPercentage2D.draw` + - :class:`NodeTreeInterfaceSocketVectorPercentage4D.draw` + - :class:`NodeTreeInterfaceSocketVectorTranslation.draw` + - :class:`NodeTreeInterfaceSocketVectorTranslation2D.draw` + - :class:`NodeTreeInterfaceSocketVectorTranslation4D.draw` + - :class:`NodeTreeInterfaceSocketVectorVelocity.draw` + - :class:`NodeTreeInterfaceSocketVectorVelocity2D.draw` + - :class:`NodeTreeInterfaceSocketVectorVelocity4D.draw` + - :class:`NodeTreeInterfaceSocketVectorXYZ.draw` + - :class:`NodeTreeInterfaceSocketVectorXYZ2D.draw` + - :class:`NodeTreeInterfaceSocketVectorXYZ4D.draw` + - :class:`Operator.layout` + - :class:`Panel.layout` + - :class:`UILayout.box` + - :class:`UILayout.column` + - :class:`UILayout.column_flow` + - :class:`UILayout.grid_flow` + - :class:`UILayout.menu_pie` + - :class:`UILayout.panel` + - :class:`UILayout.panel` + - :class:`UILayout.panel_prop` + - :class:`UILayout.panel_prop` + - :class:`UILayout.row` + - :class:`UILayout.split` + - :class:`UILayout.template_light_linking_collection` + - :class:`UIList.draw_filter` + - :class:`UIList.draw_item` + - :class:`UIPieMenu.layout` + - :class:`UIPopover.layout` + - :class:`UIPopupMenu.layout` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIList.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIList.rst new file mode 100644 index 0000000..259dfe0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIList.rst @@ -0,0 +1,236 @@ +UIList(bpy_struct) +================== + +.. currentmodule:: bpy.types + + +Basic UIList Example +++++++++++++++++++++ + +This script is the UIList subclass used to show material slots, with a bunch of additional commentaries. + +Notice the name of the class, this naming convention is similar as the one for panels or menus. + +.. note:: + + UIList subclasses must be registered for Blender to use them. + +.. literalinclude:: ./examples/bpy.types.UIList.1.py + :lines: 13- + + +Advanced UIList Example - Filtering and Reordering +++++++++++++++++++++++++++++++++++++++++++++++++++ + +This script is an extended version of the ``UIList`` subclass used to show vertex groups. It is not used 'as is', +because iterating over all vertices in a 'draw' function is a very bad idea for UI performance! However, it's a good +example of how to create/use filtering/reordering callbacks. + +.. literalinclude:: ./examples/bpy.types.UIList.2.py + :lines: 9- + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`ASSETBROWSER_UL_metadata_tags`, :class:`CLIP_UL_tracking_objects`, :class:`CURVES_UL_attributes`, :class:`DATA_UL_bone_collections`, :class:`FILEBROWSER_UL_dir`, :class:`GPENCIL_UL_annotation_layer`, :class:`GPENCIL_UL_matslots`, :class:`GREASE_PENCIL_UL_attributes`, :class:`GREASE_PENCIL_UL_masks`, :class:`IMAGE_UL_render_slots`, :class:`IMAGE_UL_udim_tiles`, :class:`MASK_UL_layers`, :class:`MATERIAL_UL_matslots`, :class:`MESH_UL_attributes`, :class:`MESH_UL_color_attributes`, :class:`MESH_UL_color_attributes_selector`, :class:`MESH_UL_uvmaps`, :class:`MESH_UL_vgroups`, :class:`PARTICLE_UL_particle_systems`, :class:`PHYSICS_UL_dynapaint_surfaces`, :class:`POINTCLOUD_UL_attributes`, :class:`POSE_UL_selection_set`, :class:`RENDER_UL_renderviews`, :class:`SCENE_UL_gltf2_filter_action`, :class:`SCENE_UL_keying_set_paths`, :class:`TEXTURE_UL_texpaintslots`, :class:`TEXTURE_UL_texslots`, :class:`UI_UL_list`, :class:`USERPREF_UL_asset_libraries`, :class:`USERPREF_UL_extension_repos`, :class:`VIEWLAYER_UL_aov`, :class:`VOLUME_UL_grids`, :class:`WORKSPACE_UL_addons_items` + +.. class:: UIList(bpy_struct) + + UI list containing the elements of a collection + + .. data:: bitflag_filter_item + + The value of the reserved bitflag 'FILTER_ITEM' (in filter_flags values) (in [0, inf], default 0, readonly) + + :type: int + + .. data:: bitflag_item_never_show + + Skip the item from displaying in the list (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: bl_idname + + If this is set, the uilist gets a custom ID, otherwise it takes the name of the class used to define the uilist (for example, if the class name is "OBJECT_UL_vgroups", and bl_idname is not set by the script, then bl_idname = "OBJECT_UL_vgroups") (default "", never None) + + :type: str + + .. attribute:: filter_name + + Only show items matching this name (use '*' as wildcard) (default "", never None) + + :type: str + + .. data:: layout_type + + (default ``'DEFAULT'``, readonly) + + :type: Literal[:ref:`rna_enum_uilist_layout_type_items`] + + .. data:: list_id + + Identifier of the list, if any was passed to the "list_id" parameter of "template_list()" (default "", readonly, never None) + + :type: str + + .. attribute:: use_filter_invert + + Invert filtering (show hidden items, and vice versa) (default False) + + :type: bool + + .. attribute:: use_filter_show + + Show filtering options (default False) + + :type: bool + + .. attribute:: use_filter_sort_alpha + + Sort items by their name (default False) + + :type: bool + + .. attribute:: use_filter_sort_lock + + Lock the order of shown items (user cannot change it) (default False) + + :type: bool + + .. attribute:: use_filter_sort_reverse + + Reverse the order of shown items (default False) + + :type: bool + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. method:: draw_item(context, layout, data, item, icon, active_data, active_property, index, flt_flag) + + Draw an item in the list (NOTE: when you define your own draw_item function, you may want to check given 'item' is of the right type...) + + :type context: :class:`Context` | None + :param layout: Layout to draw the item (never None) + :type layout: :class:`UILayout` | None + :param data: Data from which to take Collection property + :type data: :class:`AnyType` | None + :param item: Item of the collection property + :type item: :class:`AnyType` | None + :param icon: Icon of the item in the collection (in [0, inf]) + :type icon: int + :param active_data: Data from which to take property for the active element (never None) + :type active_data: :class:`AnyType` | None + :param active_property: Identifier of property in active_data, for the active element (optional for registration, never None) + :type active_property: str + :param index: Index of the item in the collection (in [0, inf]) + :type index: int + :param flt_flag: The filter-flag result for this item (in [0, inf]) + :type flt_flag: int + + .. method:: draw_filter(context, layout) + + Draw filtering options + + :type context: :class:`Context` | None + :param layout: Layout to draw the item (never None) + :type layout: :class:`UILayout` | None + + .. method:: filter_items(context, data, property) + + Filter and/or re-order items of the collection (output filter results in filter_flags, and reorder results in filter_neworder arrays) + + :type context: :class:`Context` | None + :param data: Data from which to take Collection property + :type data: :class:`AnyType` | None + :param property: Identifier of property in data, for the collection (never None) + :type property: str + :return: + ``filter_flags``, An array of filter flags, one for each item in the collection (NOTE: The upper 16 bits, including FILTER_ITEM, are reserved, only use the lower 16 bits for custom usages), :class:`bpy_prop_array`\ [int] + + ``filter_neworder``, An array of indices, one for each item in the collection, mapping the org index to the new one, :class:`bpy_prop_array`\ [int] + + :rtype: tuple[:class:`bpy_prop_array`\ [int], :class:`bpy_prop_array`\ [int]] + + .. classmethod:: append(draw_func) + + Append a draw function to this menu, + takes the same arguments as the menus draw function + + .. classmethod:: is_extended() + + .. classmethod:: prepend(draw_func) + + Prepend a draw function to this menu, takes the same arguments as + the menus draw function + + .. classmethod:: remove(draw_func) + + Remove a draw function that has been added to this menu. + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIPieMenu.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIPieMenu.rst new file mode 100644 index 0000000..240d528 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIPieMenu.rst @@ -0,0 +1,84 @@ +UIPieMenu(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UIPieMenu(bpy_struct) + + + .. data:: layout + + (readonly) + + :type: :class:`UILayout` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WindowManager.piemenu_begin__internal` + - :class:`WindowManager.piemenu_end__internal` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIPopover.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIPopover.rst new file mode 100644 index 0000000..7b1ee04 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIPopover.rst @@ -0,0 +1,84 @@ +UIPopover(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UIPopover(bpy_struct) + + + .. data:: layout + + (readonly) + + :type: :class:`UILayout` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WindowManager.popover_begin__internal` + - :class:`WindowManager.popover_end__internal` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIPopupMenu.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIPopupMenu.rst new file mode 100644 index 0000000..f432778 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UIPopupMenu.rst @@ -0,0 +1,84 @@ +UIPopupMenu(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UIPopupMenu(bpy_struct) + + + .. data:: layout + + (readonly) + + :type: :class:`UILayout` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WindowManager.popmenu_begin__internal` + - :class:`WindowManager.popmenu_end__internal` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UI_UL_list.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UI_UL_list.rst new file mode 100644 index 0000000..5bc1a23 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UI_UL_list.rst @@ -0,0 +1,113 @@ +UI_UL_list(UIList) +================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: UI_UL_list(UIList) + + + .. staticmethod:: filter_items_by_name(pattern, bitflag, items, propname='name', flags=None, reverse=False) + + Set FILTER_ITEM for items which name matches filter_name one (case-insensitive). + pattern is the filtering pattern. + propname is the name of the string property to use for filtering. + flags must be a list of integers the same length as items, or None! + return a list of flags (based on given flags if not None), + or an empty list if no flags were given and no filtering has been done. + + .. classmethod:: sort_items_by_name(items, propname='name') + + Re-order items using their names (case-insensitive). + propname is the name of the string property to use for sorting. + return a list mapping org_idx -> new_idx, + or an empty list if no sorting has been done. + + .. staticmethod:: sort_items_helper(sort_data, key, reverse=False) + + Common sorting utility. Returns a neworder list mapping org_idx -> new_idx. + sort_data must be an (unordered) list of tuples [(org_idx, ...), (org_idx, ...), ...]. + key must be the same kind of callable you would use for sorted() builtin function. + reverse will reverse the sorting! + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.USERPREF_UL_asset_libraries.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.USERPREF_UL_asset_libraries.rst new file mode 100644 index 0000000..8a92584 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.USERPREF_UL_asset_libraries.rst @@ -0,0 +1,92 @@ +USERPREF_UL_asset_libraries(UIList) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: USERPREF_UL_asset_libraries(UIList) + + + .. method:: draw_item(_context, layout, _data, item, _icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.USERPREF_UL_extension_repos.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.USERPREF_UL_extension_repos.rst new file mode 100644 index 0000000..ed57f5b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.USERPREF_UL_extension_repos.rst @@ -0,0 +1,94 @@ +USERPREF_UL_extension_repos(UIList) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: USERPREF_UL_extension_repos(UIList) + + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname, _index) + + .. method:: filter_items(_context, data, propname) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVLoopLayers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVLoopLayers.rst new file mode 100644 index 0000000..b074af4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVLoopLayers.rst @@ -0,0 +1,108 @@ +UVLoopLayers(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: UVLoopLayers(bpy_prop_collection) + + Collection of UV map layers + + .. attribute:: active + + Active UV Map layer + + :type: :class:`MeshUVLoopLayer` | None + + .. attribute:: active_index + + Active UV map index (in [0, inf], default 0) + + :type: int + + .. method:: new(*, name="UVMap", do_init=True) + + Add a UV map layer to Mesh + + :param name: UV map name (optional, never None) + :type name: str + :param do_init: Whether new layer's data should be initialized by copying current active one, or if none is active, with a default UVmap (optional) + :type do_init: bool + :return: The newly created layer + :rtype: :class:`MeshUVLoopLayer` + + .. method:: remove(layer) + + Remove a UV map layer + + :param layer: The layer to remove (never None) + :type layer: :class:`MeshUVLoopLayer` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Mesh.uv_layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVProjectModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVProjectModifier.rst new file mode 100644 index 0000000..917872e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVProjectModifier.rst @@ -0,0 +1,127 @@ +UVProjectModifier(Modifier) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: UVProjectModifier(Modifier) + + UV projection modifier to set UVs from a projector + + .. attribute:: aspect_x + + Horizontal aspect ratio (only used for camera projectors) (in [1, inf], default 1.0) + + :type: float + + .. attribute:: aspect_y + + Vertical aspect ratio (only used for camera projectors) (in [1, inf], default 1.0) + + :type: float + + .. attribute:: projector_count + + Number of projectors to use (in [1, 10], default 1) + + :type: int + + .. data:: projectors + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`UVProjector`] + + .. attribute:: scale_x + + Horizontal scale (only used for camera projectors) (in [0, inf], default 1.0) + + :type: float + + .. attribute:: scale_y + + Vertical scale (only used for camera projectors) (in [0, inf], default 1.0) + + :type: float + + .. attribute:: uv_layer + + UV map name (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVProjector.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVProjector.rst new file mode 100644 index 0000000..a78e436 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVProjector.rst @@ -0,0 +1,84 @@ +UVProjector(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UVProjector(bpy_struct) + + UV projector used by the UV project modifier + + .. attribute:: object + + Object to use as projector transform + + :type: :class:`Object` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`UVProjectModifier.projectors` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVWarpModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVWarpModifier.rst new file mode 100644 index 0000000..b684346 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UVWarpModifier.rst @@ -0,0 +1,163 @@ +UVWarpModifier(Modifier) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: UVWarpModifier(Modifier) + + Add target position to UV coordinates + + .. attribute:: axis_u + + Pole axis for rotation (default ``'X'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: axis_v + + Pole axis for rotation (default ``'Y'``) + + :type: Literal[:ref:`rna_enum_axis_xyz_items`] + + .. attribute:: bone_from + + Bone defining offset (default "", never None) + + :type: str + + .. attribute:: bone_to + + Bone defining offset (default "", never None) + + :type: str + + .. attribute:: center + + Center point for rotate/scale (array of 2 items, in [-inf, inf], default (0.5, 0.5)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: object_from + + Object defining offset + + :type: :class:`Object` | None + + .. attribute:: object_to + + Object defining offset + + :type: :class:`Object` | None + + .. attribute:: offset + + 2D Offset for the warp (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: rotation + + 2D Rotation for the warp (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: scale + + 2D Scale for the warp (array of 2 items, in [-inf, inf], default (1.0, 1.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: uv_layer + + UV map name (default "", never None) + + :type: str + + .. attribute:: vertex_group + + Vertex group name (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UnifiedPaintSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UnifiedPaintSettings.rst new file mode 100644 index 0000000..3456e83 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UnifiedPaintSettings.rst @@ -0,0 +1,221 @@ +UnifiedPaintSettings(bpy_struct) +================================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UnifiedPaintSettings(bpy_struct) + + Overrides for some of the active brush's settings + + .. attribute:: color + + (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: hue_jitter + + Color jitter effect on hue (in [0, 1], default 0.0) + + :type: float + + .. attribute:: input_samples + + Number of input samples to average together to smooth the brush stroke (in [1, 64], default 1) + + :type: int + + .. attribute:: saturation_jitter + + Color jitter effect on saturation (in [0, 1], default 0.0) + + :type: float + + .. attribute:: secondary_color + + (array of 3 items, in [0, 1], default (1.0, 1.0, 1.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: size + + Diameter of the brush (in [1, 10000], default 100) + + :type: int + + .. attribute:: strength + + How powerful the effect of the brush is when applied (in [0, 10], default 0.5) + + :type: float + + .. attribute:: unprojected_size + + Diameter of brush in Blender units (in [0.001, inf], default 0.58) + + :type: float + + .. attribute:: use_color_jitter + + Jitter brush color (default False) + + :type: bool + + .. attribute:: use_locked_size + + Measure brush size relative to the view or the scene (default ``'VIEW'``) + + - ``VIEW`` + View -- Measure brush size relative to the view. + - ``SCENE`` + Scene -- Measure brush size relative to the scene. + + :type: Literal['VIEW', 'SCENE'] + + .. attribute:: use_random_press_hue + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_random_press_sat + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_random_press_val + + Use pressure to modulate randomness (default False) + + :type: bool + + .. attribute:: use_stroke_random_hue + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_stroke_random_sat + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_stroke_random_val + + Use randomness at stroke level (default False) + + :type: bool + + .. attribute:: use_unified_color + + Instead of per-brush color, the color is shared across brushes (default True) + + :type: bool + + .. attribute:: use_unified_input_samples + + Instead of per-brush input samples, the value is shared across brushes (default False) + + :type: bool + + .. attribute:: use_unified_size + + Instead of per-brush size, the size is shared across brushes (default True) + + :type: bool + + .. attribute:: use_unified_strength + + Instead of per-brush strength, the strength is shared across brushes (default False) + + :type: bool + + .. attribute:: use_unified_weight + + Instead of per-brush weight, the weight is shared across brushes (default False) + + :type: bool + + .. attribute:: value_jitter + + Color jitter effect on value (in [0, 1], default 0.0) + + :type: float + + .. attribute:: weight + + Weight to assign in vertex groups (in [0, 1], default 0.5) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Paint.unified_paint_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UnitSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UnitSettings.rst new file mode 100644 index 0000000..42b8110 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UnitSettings.rst @@ -0,0 +1,130 @@ +UnitSettings(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UnitSettings(bpy_struct) + + + .. attribute:: length_unit + + Unit that will be used to display length values (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. attribute:: mass_unit + + Unit that will be used to display mass values (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. attribute:: scale_length + + Scale to use when converting between Blender units and dimensions. When working at microscopic or astronomical scale, a small or large unit scale respectively can be used to avoid numerical precision problems (in [1e-09, inf], default 0.0) + + :type: float + + .. attribute:: system + + The unit system to use for user interface controls (default ``'NONE'``) + + :type: Literal['NONE', 'METRIC', 'IMPERIAL'] + + .. attribute:: system_rotation + + Unit to use for displaying/editing rotation values (default ``'DEGREES'``) + + - ``DEGREES`` + Degrees -- Use degrees for measuring angles and rotations. + - ``RADIANS`` + Radians. + + :type: Literal['DEGREES', 'RADIANS'] + + .. attribute:: temperature_unit + + Unit that will be used to display temperature values (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. attribute:: time_unit + + Unit that will be used to display time values (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. attribute:: use_separate + + Display units in pairs (e.g. 1m 0cm) (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.unit_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UnknownType.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UnknownType.rst new file mode 100644 index 0000000..b9f84eb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UnknownType.rst @@ -0,0 +1,78 @@ +UnknownType(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UnknownType(bpy_struct) + + Stub RNA type used for pointers to unknown or internal data + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ShapeKey.data` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserAssetLibrary.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserAssetLibrary.rst new file mode 100644 index 0000000..4390a1b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserAssetLibrary.rst @@ -0,0 +1,119 @@ +UserAssetLibrary(bpy_struct) +============================ + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UserAssetLibrary(bpy_struct) + + Settings to define a reusable library for Asset Browsers to use + + .. attribute:: enabled + + Enable the asset library (default True) + + :type: bool + + .. attribute:: import_method + + Determine how the asset will be imported, unless overridden by the Asset Browser (default ``'PACK'``) + + - ``LINK`` + Link -- Import the assets as linked data-block. + - ``APPEND`` + Append -- Import the assets as copied data-block, with no link to the original asset data-block. + - ``APPEND_REUSE`` + Append (Reuse Data) -- Import the assets as copied data-block while avoiding multiple copies of nested, typically heavy data. For example the textures of a material asset, or the mesh of an object asset, don't have to be copied every time this asset is imported. The instances of the asset share the data instead.. + - ``PACK`` + Pack -- Import the asset as linked data-block, and pack it in the current file (ensures that it remains unchanged in case the library data is modified, is not available anymore, etc.). + + :type: Literal['LINK', 'APPEND', 'APPEND_REUSE', 'PACK'] + + .. attribute:: name + + Identifier (not necessarily unique) for the asset library (default "", never None) + + :type: str + + .. attribute:: path + + Path to a directory with .blend files to use as an asset library (default "", never None) + + :type: str + + .. attribute:: use_relative_path + + Use relative path when linking assets from this asset library (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`AssetLibraryCollection.new` + - :class:`AssetLibraryCollection.remove` + - :class:`PreferencesFilePaths.asset_libraries` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserExtensionRepo.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserExtensionRepo.rst new file mode 100644 index 0000000..69729d2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserExtensionRepo.rst @@ -0,0 +1,163 @@ +UserExtensionRepo(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UserExtensionRepo(bpy_struct) + + Settings to define an extension repository + + .. attribute:: access_token + + Personal access token, may be required by some repositories (default "", never None) + + :type: str + + .. attribute:: custom_directory + + The local directory containing extensions (default "", never None) + + :type: str + + .. data:: directory + + The local directory containing extensions (default "", readonly, never None) + + :type: str + + .. attribute:: enabled + + Enable the repository (default False) + + :type: bool + + .. attribute:: module + + Unique module identifier (default "", never None) + + :type: str + + .. attribute:: name + + Unique repository name (default "", never None) + + :type: str + + .. attribute:: remote_url + + Remote URL to the extension repository, the file-system may be referenced using the file URI scheme: "file://" (default "", never None) + + :type: str + + .. attribute:: source + + Select if the repository is in a user managed or system provided directory (default ``'USER'``) + + - ``USER`` + User -- Repository managed by the user, stored in user directories. + - ``SYSTEM`` + System -- Read-only repository provided by the system. + + :type: Literal['USER', 'SYSTEM'] + + .. attribute:: use_access_token + + Repository requires an access token (default False) + + :type: bool + + .. attribute:: use_cache + + Downloaded package files are deleted after installation (default False) + + :type: bool + + .. attribute:: use_custom_directory + + Manually set the path for extensions to be stored. When disabled a user's extensions directory is created. (default False) + + :type: bool + + .. attribute:: use_remote_url + + Synchronize the repository with a remote URL (default False) + + :type: bool + + .. attribute:: use_sync_on_startup + + Allow Blender to check for updates upon launch (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PreferencesExtensions.repos` + - :class:`UserExtensionRepoCollection.new` + - :class:`UserExtensionRepoCollection.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserExtensionRepoCollection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserExtensionRepoCollection.rst new file mode 100644 index 0000000..ede27d1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserExtensionRepoCollection.rst @@ -0,0 +1,107 @@ +UserExtensionRepoCollection(bpy_prop_collection) +================================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: UserExtensionRepoCollection(bpy_prop_collection) + + Collection of user extension repositories + + .. classmethod:: new(*, name="", module="", custom_directory="", remote_url="", source='USER') + + Add a new repository + + :param name: Name, (optional, never None) + :type name: str + :param module: Module, (optional, never None) + :type module: str + :param custom_directory: Custom Directory, (optional, never None) + :type custom_directory: str + :param remote_url: Remote URL, (optional, never None) + :type remote_url: str + :param source: Source, How the repository is managed (optional) + + - ``USER`` + User -- Repository managed by the user, stored in user directories. + - ``SYSTEM`` + System -- Read-only repository provided by the system. + :type source: Literal['USER', 'SYSTEM'] + :return: Newly added repository + :rtype: :class:`UserExtensionRepo` + + .. classmethod:: remove(repo) + + Remove repos + + :param repo: Repository to remove (never None) + :type repo: :class:`UserExtensionRepo` | None + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PreferencesExtensions.repos` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserSolidLight.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserSolidLight.rst new file mode 100644 index 0000000..9fb65da --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UserSolidLight.rst @@ -0,0 +1,109 @@ +UserSolidLight(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UserSolidLight(bpy_struct) + + Light used for Studio lighting in solid shading mode + + .. attribute:: diffuse_color + + Color of the light's diffuse highlight (array of 3 items, in [0, inf], default (0.8, 0.8, 0.8)) + + :type: :class:`mathutils.Color` + + .. attribute:: direction + + Direction that the light is shining (array of 3 items, in [-inf, inf], default (0.0, 0.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: smooth + + Smooth the lighting from this light (in [0, 1], default 0.5) + + :type: float + + .. attribute:: specular_color + + Color of the light's specular highlight (array of 3 items, in [0, inf], default (0.8, 0.8, 0.8)) + + :type: :class:`mathutils.Color` + + .. attribute:: use + + Enable this light in solid shading mode (default True) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PreferencesSystem.solid_lights` + - :class:`StudioLight.solid_lights` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UvSculpt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UvSculpt.rst new file mode 100644 index 0000000..f47f59d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.UvSculpt.rst @@ -0,0 +1,101 @@ +UvSculpt(bpy_struct) +==================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: UvSculpt(bpy_struct) + + + .. data:: curve_distance_falloff + + (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: curve_distance_falloff_preset + + (default ``'CUSTOM'``) + + :type: Literal[:ref:`rna_enum_brush_curve_preset_items`] + + .. attribute:: size + + (in [1, 10000], default 100) + + :type: int + + .. attribute:: strength + + (in [0, 1], default 1.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.uv_sculpt` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_paint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_paint.rst new file mode 100644 index 0000000..e6fc45f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_paint.rst @@ -0,0 +1,128 @@ +VIEW3D_AST_brush_gpencil_paint(AssetShelf) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: VIEW3D_AST_brush_gpencil_paint(AssetShelf) + + + .. classmethod:: brush_type_poll(context, asset) + + .. staticmethod:: draw_popup_selector(layout, context, brush, show_name=True) + + .. staticmethod:: get_shelf_name_from_context(context) + + .. classmethod:: has_tool_with_brush_type(context, brush_type) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_sculpt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_sculpt.rst new file mode 100644 index 0000000..c8d5636 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_sculpt.rst @@ -0,0 +1,128 @@ +VIEW3D_AST_brush_gpencil_sculpt(AssetShelf) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: VIEW3D_AST_brush_gpencil_sculpt(AssetShelf) + + + .. classmethod:: brush_type_poll(context, asset) + + .. staticmethod:: draw_popup_selector(layout, context, brush, show_name=True) + + .. staticmethod:: get_shelf_name_from_context(context) + + .. classmethod:: has_tool_with_brush_type(context, brush_type) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_vertex.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_vertex.rst new file mode 100644 index 0000000..731ddb8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_vertex.rst @@ -0,0 +1,128 @@ +VIEW3D_AST_brush_gpencil_vertex(AssetShelf) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: VIEW3D_AST_brush_gpencil_vertex(AssetShelf) + + + .. classmethod:: brush_type_poll(context, asset) + + .. staticmethod:: draw_popup_selector(layout, context, brush, show_name=True) + + .. staticmethod:: get_shelf_name_from_context(context) + + .. classmethod:: has_tool_with_brush_type(context, brush_type) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_weight.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_weight.rst new file mode 100644 index 0000000..c7c78f0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_gpencil_weight.rst @@ -0,0 +1,128 @@ +VIEW3D_AST_brush_gpencil_weight(AssetShelf) +=========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: VIEW3D_AST_brush_gpencil_weight(AssetShelf) + + + .. classmethod:: brush_type_poll(context, asset) + + .. staticmethod:: draw_popup_selector(layout, context, brush, show_name=True) + + .. staticmethod:: get_shelf_name_from_context(context) + + .. classmethod:: has_tool_with_brush_type(context, brush_type) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_sculpt.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_sculpt.rst new file mode 100644 index 0000000..ca6744e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_sculpt.rst @@ -0,0 +1,128 @@ +VIEW3D_AST_brush_sculpt(AssetShelf) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: VIEW3D_AST_brush_sculpt(AssetShelf) + + + .. classmethod:: brush_type_poll(context, asset) + + .. staticmethod:: draw_popup_selector(layout, context, brush, show_name=True) + + .. staticmethod:: get_shelf_name_from_context(context) + + .. classmethod:: has_tool_with_brush_type(context, brush_type) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_sculpt_curves.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_sculpt_curves.rst new file mode 100644 index 0000000..71b315b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_sculpt_curves.rst @@ -0,0 +1,128 @@ +VIEW3D_AST_brush_sculpt_curves(AssetShelf) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: VIEW3D_AST_brush_sculpt_curves(AssetShelf) + + + .. classmethod:: brush_type_poll(context, asset) + + .. staticmethod:: draw_popup_selector(layout, context, brush, show_name=True) + + .. staticmethod:: get_shelf_name_from_context(context) + + .. classmethod:: has_tool_with_brush_type(context, brush_type) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_texture_paint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_texture_paint.rst new file mode 100644 index 0000000..171373e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_texture_paint.rst @@ -0,0 +1,128 @@ +VIEW3D_AST_brush_texture_paint(AssetShelf) +========================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: VIEW3D_AST_brush_texture_paint(AssetShelf) + + + .. classmethod:: brush_type_poll(context, asset) + + .. staticmethod:: draw_popup_selector(layout, context, brush, show_name=True) + + .. staticmethod:: get_shelf_name_from_context(context) + + .. classmethod:: has_tool_with_brush_type(context, brush_type) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_vertex_paint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_vertex_paint.rst new file mode 100644 index 0000000..3e7ff74 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_vertex_paint.rst @@ -0,0 +1,128 @@ +VIEW3D_AST_brush_vertex_paint(AssetShelf) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: VIEW3D_AST_brush_vertex_paint(AssetShelf) + + + .. classmethod:: brush_type_poll(context, asset) + + .. staticmethod:: draw_popup_selector(layout, context, brush, show_name=True) + + .. staticmethod:: get_shelf_name_from_context(context) + + .. classmethod:: has_tool_with_brush_type(context, brush_type) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_weight_paint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_weight_paint.rst new file mode 100644 index 0000000..b974791 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_brush_weight_paint.rst @@ -0,0 +1,128 @@ +VIEW3D_AST_brush_weight_paint(AssetShelf) +========================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: VIEW3D_AST_brush_weight_paint(AssetShelf) + + + .. classmethod:: brush_type_poll(context, asset) + + .. staticmethod:: draw_popup_selector(layout, context, brush, show_name=True) + + .. staticmethod:: get_shelf_name_from_context(context) + + .. classmethod:: has_tool_with_brush_type(context, brush_type) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_pose_library.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_pose_library.rst new file mode 100644 index 0000000..35e6f4c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_AST_pose_library.rst @@ -0,0 +1,120 @@ +VIEW3D_AST_pose_library(AssetShelf) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`AssetShelf` + +.. class:: VIEW3D_AST_pose_library(AssetShelf) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`AssetShelf.bl_idname` + - :class:`AssetShelf.bl_space_type` + - :class:`AssetShelf.bl_options` + - :class:`AssetShelf.bl_activate_operator` + - :class:`AssetShelf.bl_drag_operator` + - :class:`AssetShelf.bl_default_preview_size` + - :class:`AssetShelf.filter_action` + - :class:`AssetShelf.filter_armature` + - :class:`AssetShelf.filter_brush` + - :class:`AssetShelf.filter_camera` + - :class:`AssetShelf.filter_cachefile` + - :class:`AssetShelf.filter_curve` + - :class:`AssetShelf.filter_annotations` + - :class:`AssetShelf.filter_grease_pencil` + - :class:`AssetShelf.filter_group` + - :class:`AssetShelf.filter_curves` + - :class:`AssetShelf.filter_image` + - :class:`AssetShelf.filter_light` + - :class:`AssetShelf.filter_light_probe` + - :class:`AssetShelf.filter_linestyle` + - :class:`AssetShelf.filter_lattice` + - :class:`AssetShelf.filter_material` + - :class:`AssetShelf.filter_metaball` + - :class:`AssetShelf.filter_movie_clip` + - :class:`AssetShelf.filter_mesh` + - :class:`AssetShelf.filter_mask` + - :class:`AssetShelf.filter_node_tree` + - :class:`AssetShelf.filter_object` + - :class:`AssetShelf.filter_particle_settings` + - :class:`AssetShelf.filter_palette` + - :class:`AssetShelf.filter_paint_curve` + - :class:`AssetShelf.filter_pointcloud` + - :class:`AssetShelf.filter_scene` + - :class:`AssetShelf.filter_speaker` + - :class:`AssetShelf.filter_sound` + - :class:`AssetShelf.filter_texture` + - :class:`AssetShelf.filter_text` + - :class:`AssetShelf.filter_font` + - :class:`AssetShelf.filter_volume` + - :class:`AssetShelf.filter_world` + - :class:`AssetShelf.filter_work_space` + - :class:`AssetShelf.asset_library_reference` + - :class:`AssetShelf.show_names` + - :class:`AssetShelf.preview_size` + - :class:`AssetShelf.search_filter` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`AssetShelf.poll` + - :class:`AssetShelf.asset_poll` + - :class:`AssetShelf.get_active_asset` + - :class:`AssetShelf.draw_context_menu` + - :class:`AssetShelf.bl_rna_get_subclass` + - :class:`AssetShelf.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_FH_camera_background_image.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_FH_camera_background_image.rst new file mode 100644 index 0000000..e76ce0e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_FH_camera_background_image.rst @@ -0,0 +1,77 @@ +VIEW3D_FH_camera_background_image(FileHandler) +============================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FileHandler` + +.. class:: VIEW3D_FH_camera_background_image(FileHandler) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FileHandler.bl_idname` + - :class:`FileHandler.bl_import_operator` + - :class:`FileHandler.bl_export_operator` + - :class:`FileHandler.bl_label` + - :class:`FileHandler.bl_file_extensions` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FileHandler.poll_drop` + - :class:`FileHandler.bl_rna_get_subclass` + - :class:`FileHandler.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_FH_empty_image.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_FH_empty_image.rst new file mode 100644 index 0000000..eedbb06 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_FH_empty_image.rst @@ -0,0 +1,77 @@ +VIEW3D_FH_empty_image(FileHandler) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FileHandler` + +.. class:: VIEW3D_FH_empty_image(FileHandler) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FileHandler.bl_idname` + - :class:`FileHandler.bl_import_operator` + - :class:`FileHandler.bl_export_operator` + - :class:`FileHandler.bl_label` + - :class:`FileHandler.bl_file_extensions` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FileHandler.poll_drop` + - :class:`FileHandler.bl_rna_get_subclass` + - :class:`FileHandler.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_FH_vdb_volume.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_FH_vdb_volume.rst new file mode 100644 index 0000000..7703e41 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEW3D_FH_vdb_volume.rst @@ -0,0 +1,77 @@ +VIEW3D_FH_vdb_volume(FileHandler) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`FileHandler` + +.. class:: VIEW3D_FH_vdb_volume(FileHandler) + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`FileHandler.bl_idname` + - :class:`FileHandler.bl_import_operator` + - :class:`FileHandler.bl_export_operator` + - :class:`FileHandler.bl_label` + - :class:`FileHandler.bl_file_extensions` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`FileHandler.poll_drop` + - :class:`FileHandler.bl_rna_get_subclass` + - :class:`FileHandler.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEWLAYER_UL_aov.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEWLAYER_UL_aov.rst new file mode 100644 index 0000000..b58af5a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VIEWLAYER_UL_aov.rst @@ -0,0 +1,94 @@ +VIEWLAYER_UL_aov(UIList) +======================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: VIEWLAYER_UL_aov(UIList) + + + .. staticmethod:: aov_icon(item) + + .. method:: draw_item(_context, layout, _data, item, icon, _active_data, _active_propname) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VOLUME_UL_grids.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VOLUME_UL_grids.rst new file mode 100644 index 0000000..5999029 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VOLUME_UL_grids.rst @@ -0,0 +1,92 @@ +VOLUME_UL_grids(UIList) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: VOLUME_UL_grids(UIList) + + + .. method:: draw_item(_context, layout, _data, grid, _icon, _active_data, _active_propname, _index) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VectorFont.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VectorFont.rst new file mode 100644 index 0000000..57dbfa4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VectorFont.rst @@ -0,0 +1,151 @@ +VectorFont(ID) +============== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: VectorFont(ID) + + Vector font for Text objects + + .. attribute:: filepath + + (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. data:: packed_file + + (readonly) + + :type: :class:`PackedFile` | None + + .. method:: pack() + + Pack the font into the current blend file + + + .. method:: unpack(*, method='USE_LOCAL') + + Unpack the font to the samples filename + + :param method: method, How to unpack (optional) + :type method: Literal[:ref:`rna_enum_unpack_method_items`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.fonts` + - :class:`BlendDataFonts.load` + - :class:`BlendDataFonts.remove` + - :class:`NodeSocketFont.default_value` + - :class:`NodeTreeInterfaceSocketFont.default_value` + - :class:`TextCurve.font` + - :class:`TextCurve.font_bold` + - :class:`TextCurve.font_bold_italic` + - :class:`TextCurve.font_italic` + - :class:`TextStrip.font` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexGroup.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexGroup.rst new file mode 100644 index 0000000..27da3a3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexGroup.rst @@ -0,0 +1,133 @@ +VertexGroup(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: VertexGroup(bpy_struct) + + Group of vertices, used for armature deform and other purposes + + .. data:: index + + Index number of the vertex group (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: lock_weight + + Maintain the relative weights for the group (default False) + + :type: bool + + .. attribute:: name + + Vertex group name (default "", never None) + + :type: str + + .. method:: add(index, weight, type) + + Add vertices to the group + + :param index: List of indices (array of 1 items, in [-inf, inf]) + :type index: Sequence[int] + :param weight: Vertex weight (in [0, 1]) + :type weight: float + :param type: Vertex assign mode + + - ``REPLACE`` + Replace -- Replace. + - ``ADD`` + Add -- Add. + - ``SUBTRACT`` + Subtract -- Subtract. + :type type: Literal['REPLACE', 'ADD', 'SUBTRACT'] + + .. method:: remove(index) + + Remove vertices from the group + + :param index: List of indices (array of 1 items, in [-inf, inf]) + :type index: Sequence[int] + + .. method:: weight(index) + + Get a vertex weight from the group + + :param index: Index, The index of the vertex (in [0, inf]) + :type index: int + :return: Vertex weight (in [0, 1]) + :rtype: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.vertex_groups` + - :class:`VertexGroups.active` + - :class:`VertexGroups.new` + - :class:`VertexGroups.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexGroupElement.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexGroupElement.rst new file mode 100644 index 0000000..9851a1e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexGroupElement.rst @@ -0,0 +1,91 @@ +VertexGroupElement(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: VertexGroupElement(bpy_struct) + + Weight value of a vertex in a vertex group + + .. data:: group + + (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: weight + + Vertex Weight (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`LatticePoint.groups` + - :class:`MeshVertex.groups` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexGroups.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexGroups.rst new file mode 100644 index 0000000..04d0fb8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexGroups.rst @@ -0,0 +1,111 @@ +VertexGroups(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: VertexGroups(bpy_prop_collection) + + Collection of vertex groups + + .. attribute:: active + + Vertex groups of the object + + :type: :class:`VertexGroup` | None + + .. attribute:: active_index + + Active index in vertex group array (in [0, inf], default 0) + + :type: int + + .. method:: new(*, name="Group") + + Add vertex group to object + + :param name: Vertex group name (optional, never None) + :type name: str + :return: New vertex group + :rtype: :class:`VertexGroup` + + .. method:: remove(group) + + Delete vertex group from object + + :param group: Vertex group to remove (never None) + :type group: :class:`VertexGroup` | None + + .. method:: clear() + + Delete all vertex groups from object + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Object.vertex_groups` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexPaint.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexPaint.rst new file mode 100644 index 0000000..0600745 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexPaint.rst @@ -0,0 +1,111 @@ +VertexPaint(Paint) +================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Paint` + +.. class:: VertexPaint(Paint) + + Properties of vertex and weight paint mode + + .. attribute:: use_group_restrict + + Restrict painting to vertices in the group (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Paint.brush` + - :class:`Paint.brush_asset_reference` + - :class:`Paint.eraser_brush` + - :class:`Paint.eraser_brush_asset_reference` + - :class:`Paint.palette` + - :class:`Paint.show_brush` + - :class:`Paint.show_brush_on_surface` + - :class:`Paint.show_low_resolution` + - :class:`Paint.use_sculpt_delay_updates` + - :class:`Paint.show_bvh_nodes` + - :class:`Paint.use_symmetry_x` + - :class:`Paint.use_symmetry_y` + - :class:`Paint.use_symmetry_z` + - :class:`Paint.use_symmetry_feather` + - :class:`Paint.cavity_curve` + - :class:`Paint.use_cavity` + - :class:`Paint.tile_offset` + - :class:`Paint.tile_x` + - :class:`Paint.tile_y` + - :class:`Paint.tile_z` + - :class:`Paint.show_strength_curve` + - :class:`Paint.show_size_curve` + - :class:`Paint.show_jitter_curve` + - :class:`Paint.unified_paint_settings` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Paint.bl_rna_get_subclass` + - :class:`Paint.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ToolSettings.vertex_paint` + - :class:`ToolSettings.weight_paint` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexWeightEditModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexWeightEditModifier.rst new file mode 100644 index 0000000..e5758be --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexWeightEditModifier.rst @@ -0,0 +1,225 @@ +VertexWeightEditModifier(Modifier) +================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: VertexWeightEditModifier(Modifier) + + Edit the weights of vertices in a group + + .. attribute:: add_threshold + + Lower (inclusive) bound for a vertex's weight to be added to the vgroup (in [-1000, 1000], default 0.01) + + :type: float + + .. attribute:: default_weight + + Default weight a vertex will have if it is not in the vgroup (in [0, 1], default 0.0) + + :type: float + + .. attribute:: falloff_type + + How weights are mapped to their new values (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Null action. + - ``CURVE`` + Custom Curve. + - ``SHARP`` + Sharp. + - ``SMOOTH`` + Smooth. + - ``ROOT`` + Root. + - ``ICON_SPHERECURVE`` + Sphere. + - ``RANDOM`` + Random. + - ``STEP`` + Median Step -- Map all values below 0.5 to 0.0, and all others to 1.0. + + :type: Literal['LINEAR', 'CURVE', 'SHARP', 'SMOOTH', 'ROOT', 'ICON_SPHERECURVE', 'RANDOM', 'STEP'] + + .. attribute:: invert_falloff + + Invert the resulting falloff weight (default False) + + :type: bool + + .. attribute:: invert_mask_vertex_group + + Invert vertex group mask influence (default False) + + :type: bool + + .. data:: map_curve + + Custom mapping curve (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: mask_constant + + Global influence of current modifications on vgroup (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: mask_tex_map_bone + + Which bone to take texture coordinates from (default "", never None) + + :type: str + + .. attribute:: mask_tex_map_object + + Which object to take texture coordinates from + + :type: :class:`Object` | None + + .. attribute:: mask_tex_mapping + + Which texture coordinates to use for mapping (default ``'LOCAL'``) + + - ``LOCAL`` + Local -- Use local generated coordinates. + - ``GLOBAL`` + Global -- Use global coordinates. + - ``OBJECT`` + Object -- Use local generated coordinates of another object. + - ``UV`` + UV -- Use coordinates from a UV layer. + + :type: Literal['LOCAL', 'GLOBAL', 'OBJECT', 'UV'] + + .. attribute:: mask_tex_use_channel + + Which texture channel to use for masking (default ``'INT'``) + + :type: Literal['INT', 'RED', 'GREEN', 'BLUE', 'HUE', 'SAT', 'VAL', 'ALPHA'] + + .. attribute:: mask_tex_uv_layer + + UV map name (default "", never None) + + :type: str + + .. attribute:: mask_texture + + Masking texture + + :type: :class:`Texture` | None + + .. attribute:: mask_vertex_group + + Masking vertex group name (default "", never None) + + :type: str + + .. attribute:: normalize + + Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range) (default False) + + :type: bool + + .. attribute:: remove_threshold + + Upper (inclusive) bound for a vertex's weight to be removed from the vgroup (in [-1000, 1000], default 0.01) + + :type: float + + .. attribute:: use_add + + Add vertices with weight over threshold to vgroup (default False) + + :type: bool + + .. attribute:: use_remove + + Remove vertices with weight below threshold from vgroup (default False) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexWeightMixModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexWeightMixModifier.rst new file mode 100644 index 0000000..2ca19a3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexWeightMixModifier.rst @@ -0,0 +1,232 @@ +VertexWeightMixModifier(Modifier) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: VertexWeightMixModifier(Modifier) + + Mix the weights of two vertex groups + + .. attribute:: default_weight_a + + Default weight a vertex will have if it is not in the first A vgroup (in [0, 1], default 0.0) + + :type: float + + .. attribute:: default_weight_b + + Default weight a vertex will have if it is not in the second B vgroup (in [0, 1], default 0.0) + + :type: float + + .. attribute:: invert_mask_vertex_group + + Invert vertex group mask influence (default False) + + :type: bool + + .. attribute:: invert_vertex_group_a + + Invert the influence of vertex group A (default False) + + :type: bool + + .. attribute:: invert_vertex_group_b + + Invert the influence of vertex group B (default False) + + :type: bool + + .. attribute:: mask_constant + + Global influence of current modifications on vgroup (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: mask_tex_map_bone + + Which bone to take texture coordinates from (default "", never None) + + :type: str + + .. attribute:: mask_tex_map_object + + Which object to take texture coordinates from + + :type: :class:`Object` | None + + .. attribute:: mask_tex_mapping + + Which texture coordinates to use for mapping (default ``'LOCAL'``) + + - ``LOCAL`` + Local -- Use local generated coordinates. + - ``GLOBAL`` + Global -- Use global coordinates. + - ``OBJECT`` + Object -- Use local generated coordinates of another object. + - ``UV`` + UV -- Use coordinates from a UV layer. + + :type: Literal['LOCAL', 'GLOBAL', 'OBJECT', 'UV'] + + .. attribute:: mask_tex_use_channel + + Which texture channel to use for masking (default ``'INT'``) + + :type: Literal['INT', 'RED', 'GREEN', 'BLUE', 'HUE', 'SAT', 'VAL', 'ALPHA'] + + .. attribute:: mask_tex_uv_layer + + UV map name (default "", never None) + + :type: str + + .. attribute:: mask_texture + + Masking texture + + :type: :class:`Texture` | None + + .. attribute:: mask_vertex_group + + Masking vertex group name (default "", never None) + + :type: str + + .. attribute:: mix_mode + + How weights from vgroup B affect weights of vgroup A (default ``'SET'``) + + - ``SET`` + Replace -- Replace VGroup A's weights by VGroup B's ones. + - ``ADD`` + Add -- Add VGroup B's weights to VGroup A's ones. + - ``SUB`` + Subtract -- Subtract VGroup B's weights from VGroup A's ones. + - ``MUL`` + Multiply -- Multiply VGroup A's weights by VGroup B's ones. + - ``DIV`` + Divide -- Divide VGroup A's weights by VGroup B's ones. + - ``DIF`` + Difference -- Difference between VGroup A's and VGroup B's weights. + - ``AVG`` + Average -- Average value of VGroup A's and VGroup B's weights. + - ``MIN`` + Minimum -- Minimum of VGroup A's and VGroup B's weights. + - ``MAX`` + Maximum -- Maximum of VGroup A's and VGroup B's weights. + + :type: Literal['SET', 'ADD', 'SUB', 'MUL', 'DIV', 'DIF', 'AVG', 'MIN', 'MAX'] + + .. attribute:: mix_set + + Which vertices should be affected (default ``'AND'``) + + - ``ALL`` + All -- Affect all vertices (might add some to VGroup A). + - ``A`` + VGroup A -- Affect vertices in VGroup A. + - ``B`` + VGroup B -- Affect vertices in VGroup B (might add some to VGroup A). + - ``OR`` + VGroup A or B -- Affect vertices in at least one of both VGroups (might add some to VGroup A). + - ``AND`` + VGroup A and B -- Affect vertices in both groups. + + :type: Literal['ALL', 'A', 'B', 'OR', 'AND'] + + .. attribute:: normalize + + Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range) (default False) + + :type: bool + + .. attribute:: vertex_group_a + + First vertex group name (default "", never None) + + :type: str + + .. attribute:: vertex_group_b + + Second vertex group name (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexWeightProximityModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexWeightProximityModifier.rst new file mode 100644 index 0000000..75e9240 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VertexWeightProximityModifier.rst @@ -0,0 +1,237 @@ +VertexWeightProximityModifier(Modifier) +======================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: VertexWeightProximityModifier(Modifier) + + Set the weights of vertices in a group from a target object's distance + + .. attribute:: falloff_type + + How weights are mapped to their new values (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Null action. + - ``CURVE`` + Custom Curve. + - ``SHARP`` + Sharp. + - ``SMOOTH`` + Smooth. + - ``ROOT`` + Root. + - ``ICON_SPHERECURVE`` + Sphere. + - ``RANDOM`` + Random. + - ``STEP`` + Median Step -- Map all values below 0.5 to 0.0, and all others to 1.0. + + :type: Literal['LINEAR', 'CURVE', 'SHARP', 'SMOOTH', 'ROOT', 'ICON_SPHERECURVE', 'RANDOM', 'STEP'] + + .. attribute:: invert_falloff + + Invert the resulting falloff weight (default False) + + :type: bool + + .. attribute:: invert_mask_vertex_group + + Invert vertex group mask influence (default False) + + :type: bool + + .. data:: map_curve + + Custom mapping curve (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: mask_constant + + Global influence of current modifications on vgroup (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: mask_tex_map_bone + + Which bone to take texture coordinates from (default "", never None) + + :type: str + + .. attribute:: mask_tex_map_object + + Which object to take texture coordinates from + + :type: :class:`Object` | None + + .. attribute:: mask_tex_mapping + + Which texture coordinates to use for mapping (default ``'LOCAL'``) + + - ``LOCAL`` + Local -- Use local generated coordinates. + - ``GLOBAL`` + Global -- Use global coordinates. + - ``OBJECT`` + Object -- Use local generated coordinates of another object. + - ``UV`` + UV -- Use coordinates from a UV layer. + + :type: Literal['LOCAL', 'GLOBAL', 'OBJECT', 'UV'] + + .. attribute:: mask_tex_use_channel + + Which texture channel to use for masking (default ``'INT'``) + + :type: Literal['INT', 'RED', 'GREEN', 'BLUE', 'HUE', 'SAT', 'VAL', 'ALPHA'] + + .. attribute:: mask_tex_uv_layer + + UV map name (default "", never None) + + :type: str + + .. attribute:: mask_texture + + Masking texture + + :type: :class:`Texture` | None + + .. attribute:: mask_vertex_group + + Masking vertex group name (default "", never None) + + :type: str + + .. attribute:: max_dist + + Distance mapping to weight 1.0 (in [0, inf], default 1.0) + + :type: float + + .. attribute:: min_dist + + Distance mapping to weight 0.0 (in [0, inf], default 0.0) + + :type: float + + .. attribute:: normalize + + Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range) (default False) + + :type: bool + + .. attribute:: proximity_geometry + + Use the shortest computed distance to target object's geometry as weight (default {``'FACE'``}) + + - ``VERTEX`` + Vertex -- Compute distance to nearest vertex. + - ``EDGE`` + Edge -- Compute distance to nearest edge. + - ``FACE`` + Face -- Compute distance to nearest face. + + :type: set[Literal['VERTEX', 'EDGE', 'FACE']] + + .. attribute:: proximity_mode + + Which distances to target object to use (default ``'GEOMETRY'``) + + - ``OBJECT`` + Object -- Use distance between affected and target objects. + - ``GEOMETRY`` + Geometry -- Use distance between affected object's vertices and target object, or target object's geometry. + + :type: Literal['OBJECT', 'GEOMETRY'] + + .. attribute:: target + + Object to calculate vertices distances from + + :type: :class:`Object` | None + + .. attribute:: vertex_group + + Vertex group name (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View2D.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View2D.rst new file mode 100644 index 0000000..61ac643 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View2D.rst @@ -0,0 +1,102 @@ +View2D(bpy_struct) +================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: View2D(bpy_struct) + + Scroll and zoom for a 2D region + + .. method:: region_to_view(x, y) + + Transform region coordinates to 2D view + + :param x: x, Region x coordinate (in [-inf, inf]) + :type x: float + :param y: y, Region y coordinate (in [-inf, inf]) + :type y: float + :return: Result, View coordinates (array of 2 items, in [-inf, inf]) + :rtype: :class:`bpy_prop_array`\ [float] + + .. method:: view_to_region(x, y, *, clip=True) + + Transform 2D view coordinates to region + + :param x: x, 2D View x coordinate (in [-inf, inf]) + :type x: float + :param y: y, 2D View y coordinate (in [-inf, inf]) + :type y: float + :param clip: Clip, Clip coordinates to the visible region (optional) + :type clip: bool + :return: Result, Region coordinates (array of 2 items, in [-inf, inf]) + :rtype: :class:`bpy_prop_array`\ [int] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Region.view2d` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View3DCursor.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View3DCursor.rst new file mode 100644 index 0000000..7075374 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View3DCursor.rst @@ -0,0 +1,113 @@ +View3DCursor(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: View3DCursor(bpy_struct) + + + .. attribute:: location + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: matrix + + Matrix combining location and rotation of the cursor (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))) + + :type: :class:`mathutils.Matrix` + + .. attribute:: rotation_axis_angle + + Angle of Rotation for Axis-Angle rotation representation (array of 4 items, in [-inf, inf], default (0.0, 0.0, 1.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: rotation_euler + + 3D rotation (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: rotation_mode + + The kind of rotation to apply, values from other rotation modes are not used (default ``'XYZ'``) + + :type: Literal[:ref:`rna_enum_object_rotation_mode_items`] + + .. attribute:: rotation_quaternion + + Rotation in quaternions (keep normalized) (array of 4 items, in [-inf, inf], default (1.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.cursor` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View3DOverlay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View3DOverlay.rst new file mode 100644 index 0000000..d215db5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View3DOverlay.rst @@ -0,0 +1,658 @@ +View3DOverlay(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: View3DOverlay(bpy_struct) + + Settings for display of overlays in the 3D viewport + + .. attribute:: bone_wire_alpha + + Maximum opacity of bones in wireframe display mode (in [0, inf], default 1.0) + + :type: float + + .. attribute:: display_handle + + Limit the display of curve handles in Edit Mode (default ``'SELECTED'``) + + :type: Literal['NONE', 'SELECTED', 'ALL'] + + .. attribute:: fade_inactive_alpha + + Strength of the fade effect (in [0, 1], default 0.4) + + :type: float + + .. attribute:: gpencil_fade_layer + + Fade layer opacity for Grease Pencil layers except the active one (in [0, 1], default 0.5) + + :type: float + + .. attribute:: gpencil_fade_objects + + Fade factor (in [0, 1], default 0.5) + + :type: float + + .. attribute:: gpencil_grid_color + + Canvas grid color (array of 3 items, in [0, 1], default (0.5, 0.5, 0.5)) + + :type: :class:`mathutils.Color` + + .. attribute:: gpencil_grid_offset + + Canvas grid offset (array of 2 items, in [-inf, inf], default (0.0, 0.0)) + + :type: :class:`bpy_prop_array`\ [float] + + .. attribute:: gpencil_grid_opacity + + Canvas grid opacity (in [0.1, 1], default 0.9) + + :type: float + + .. attribute:: gpencil_grid_scale + + Canvas grid scale (array of 2 items, in [0, inf], default (1.0, 1.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: gpencil_grid_subdivisions + + Canvas grid subdivisions (in [1, 100], default 4) + + :type: int + + .. attribute:: gpencil_vertex_paint_opacity + + Vertex Paint mix factor (in [0, 1], default 1.0) + + :type: float + + .. attribute:: grid_lines + + Number of grid lines to display in perspective view (in [0, 1024], default 16) + + :type: int + + .. attribute:: grid_scale + + Multiplier for the distance between 3D View grid lines (in [0, inf], default 1.0) + + :type: float + + .. data:: grid_scale_unit + + Grid cell size scaled by scene unit system settings (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. attribute:: grid_subdivisions + + Number of subdivisions between grid lines (in [1, 1024], default 10) + + :type: int + + .. attribute:: normals_constant_screen_size + + Screen size for normals in the 3D view (in [0, 100000], default 7.0) + + :type: float + + .. attribute:: normals_length + + Display size for normals in the 3D view (in [1e-05, 100000], default 0.1) + + :type: float + + .. attribute:: retopology_offset + + Offset used to draw edit mesh in front of other geometry (in [0, inf], default 0.01) + + :type: float + + .. attribute:: sculpt_curves_cage_opacity + + Opacity of the cage overlay in curves sculpt mode (in [0, 1], default 0.0) + + :type: float + + .. attribute:: sculpt_mode_face_sets_opacity + + (in [0, 1], default 1.0) + + :type: float + + .. attribute:: sculpt_mode_mask_opacity + + (in [0, 1], default 0.75) + + :type: float + + .. attribute:: show_annotation + + Show annotations for this view (default True) + + :type: bool + + .. attribute:: show_axis_x + + Show the X axis line (default True) + + :type: bool + + .. attribute:: show_axis_y + + Show the Y axis line (default True) + + :type: bool + + .. attribute:: show_axis_z + + Show the Z axis line (default False) + + :type: bool + + .. attribute:: show_bones + + Display bones (disable to show motion paths only) (default True) + + :type: bool + + .. attribute:: show_camera_guides + + Show camera composition guides (default True) + + :type: bool + + .. attribute:: show_camera_passepartout + + Show camera passepartout (default True) + + :type: bool + + .. attribute:: show_cursor + + Display 3D Cursor Overlay (default True) + + :type: bool + + .. attribute:: show_curve_normals + + Display 3D curve normals in Edit Mode (default False) + + :type: bool + + .. attribute:: show_edge_bevel_weight + + Display weights created for the Bevel modifier (default True) + + :type: bool + + .. attribute:: show_edge_crease + + Display creases created for Subdivision Surface modifier (default True) + + :type: bool + + .. attribute:: show_edge_seams + + Display UV unwrapping seams (default True) + + :type: bool + + .. attribute:: show_edge_sharp + + Display sharp edges, used with the Edge Split modifier (default True) + + :type: bool + + .. attribute:: show_extra_edge_angle + + Display selected edge angle, using global values when set in the transform panel (default False) + + :type: bool + + .. attribute:: show_extra_edge_length + + Display selected edge lengths, using global values when set in the transform panel (default False) + + :type: bool + + .. attribute:: show_extra_face_angle + + Display the angles in the selected edges, using global values when set in the transform panel (default False) + + :type: bool + + .. attribute:: show_extra_face_area + + Display the area of selected faces, using global values when set in the transform panel (default False) + + :type: bool + + .. attribute:: show_extra_indices + + Display the index numbers of selected vertices, edges, and faces (default False) + + :type: bool + + .. attribute:: show_extras + + Object details, including empty wire, cameras and other visual guides (default True) + + :type: bool + + .. attribute:: show_face_center + + Display face center when face selection is enabled in solid shading modes (default False) + + :type: bool + + .. attribute:: show_face_normals + + Display face normals as lines (default False) + + :type: bool + + .. attribute:: show_face_orientation + + Show the Face Orientation Overlay (default False) + + :type: bool + + .. attribute:: show_faces + + Display a face selection overlay (default True) + + :type: bool + + .. attribute:: show_fade_inactive + + Fade inactive geometry using the viewport background color (default False) + + :type: bool + + .. attribute:: show_floor + + Show the ground plane grid (default True) + + :type: bool + + .. attribute:: show_freestyle_edge_marks + + Display Freestyle edge marks, used with the Freestyle renderer (default True) + + :type: bool + + .. attribute:: show_freestyle_face_marks + + Display Freestyle face marks, used with the Freestyle renderer (default True) + + :type: bool + + .. attribute:: show_light_colors + + Show light colors (default False) + + :type: bool + + .. attribute:: show_look_dev + + Show reference spheres with neutral shading that react to lighting to assist in look development (default False) + + :type: bool + + .. attribute:: show_motion_paths + + Show the Motion Paths Overlay (default True) + + :type: bool + + .. attribute:: show_object_origins + + Show object center dots (default True) + + :type: bool + + .. attribute:: show_object_origins_all + + Show the object origin center dot for all (selected and unselected) objects (default False) + + :type: bool + + .. attribute:: show_onion_skins + + Show the Onion Skinning Overlay (default False) + + :type: bool + + .. attribute:: show_ortho_grid + + Show grid in orthographic side view (default True) + + :type: bool + + .. attribute:: show_outline_selected + + Show an outline highlight around selected objects (default True) + + :type: bool + + .. attribute:: show_overlays + + Display overlays like gizmos and outlines (default True) + + :type: bool + + .. attribute:: show_paint_wire + + Use wireframe display in painting modes (default False) + + :type: bool + + .. attribute:: show_performance + + Display viewport performance timings: + • Evaluation: Time to evaluate the dependency graph. + • Synchronization: Time to build the GPU buffers. + + (default False) + + :type: bool + + .. attribute:: show_relationship_lines + + Show dashed lines indicating parent or constraint relationships (default True) + + :type: bool + + .. attribute:: show_retopology + + Hide the solid mesh and offset the overlay towards the view. Selection is occluded by inactive geometry, unless X-Ray is enabled (default False) + + :type: bool + + .. attribute:: show_sculpt_curves_cage + + Show original curves that are currently being edited (default False) + + :type: bool + + .. attribute:: show_sculpt_face_sets + + (default True) + + :type: bool + + .. attribute:: show_sculpt_mask + + (default True) + + :type: bool + + .. attribute:: show_split_normals + + Display vertex-per-face normals as lines (default False) + + :type: bool + + .. attribute:: show_stats + + Display scene statistics overlay text (default False) + + :type: bool + + .. attribute:: show_statvis + + Display statistical information about the mesh (default False) + + :type: bool + + .. attribute:: show_text + + Display overlay text (default True) + + :type: bool + + .. attribute:: show_vertex_normals + + Display vertex normals as lines (default False) + + :type: bool + + .. attribute:: show_viewer_attribute + + Show attribute overlay for active viewer node (default True) + + :type: bool + + .. attribute:: show_viewer_text + + Show attribute values as text in viewport (default False) + + :type: bool + + .. attribute:: show_weight + + Display weights in editmode (default False) + + :type: bool + + .. attribute:: show_wireframes + + Show face edges wires (default False) + + :type: bool + + .. attribute:: show_wpaint_contours + + Show contour lines formed by points with the same interpolated weight (default False) + + :type: bool + + .. attribute:: show_xray_bone + + Show the bone selection overlay (default False) + + :type: bool + + .. attribute:: texture_paint_mode_opacity + + Opacity of the texture paint mode stencil mask overlay (in [0, 1], default 1.0) + + :type: float + + .. attribute:: use_debug_freeze_view_culling + + Freeze view culling bounds (default False) + + :type: bool + + .. attribute:: use_gpencil_canvas_xray + + Show Canvas grid in front (default False) + + :type: bool + + .. attribute:: use_gpencil_edit_lines + + Show Edit Lines when editing strokes (default True) + + :type: bool + + .. attribute:: use_gpencil_fade_gp_objects + + Fade Grease Pencil Objects, except the active one (default False) + + :type: bool + + .. attribute:: use_gpencil_fade_layers + + Toggle fading of Grease Pencil layers except the active one (default False) + + :type: bool + + .. attribute:: use_gpencil_fade_objects + + Fade all viewport objects with a full color layer to improve visibility (default False) + + :type: bool + + .. attribute:: use_gpencil_grid + + Display a grid over Grease Pencil paper (default False) + + :type: bool + + .. attribute:: use_gpencil_multiedit_line_only + + Show Edit Lines only in multiframe (default False) + + :type: bool + + .. attribute:: use_gpencil_onion_skin + + Show ghosts of the keyframes before and after the current frame (default False) + + :type: bool + + .. attribute:: use_gpencil_onion_skin_active_object + + Show only the onion skins of the active object (default False) + + :type: bool + + .. attribute:: use_gpencil_show_directions + + Show stroke drawing direction with a bigger green dot (start) and smaller red dot (end) points (default False) + + :type: bool + + .. attribute:: use_gpencil_show_material_name + + Show material name assigned to each stroke (default False) + + :type: bool + + .. attribute:: use_normals_constant_screen_size + + Keep size of normals constant in relation to 3D view (default False) + + :type: bool + + .. attribute:: vertex_opacity + + Opacity for edit vertices (in [0, 1], default 1.0) + + :type: float + + .. attribute:: vertex_paint_mode_opacity + + Opacity of the texture paint mode stencil mask overlay (in [0, 1], default 1.0) + + :type: float + + .. attribute:: viewer_attribute_opacity + + Opacity of the attribute that is currently visualized (in [0, 1], default 1.0) + + :type: float + + .. attribute:: weight_paint_mode_opacity + + Opacity of the weight paint mode overlay (in [0, 1], default 1.0) + + :type: float + + .. attribute:: wireframe_opacity + + Opacity of the displayed edges (1.0 for opaque) (in [0, 1], default 1.0) + + :type: float + + .. attribute:: wireframe_threshold + + Adjust the angle threshold for displaying edges (1.0 for all) (in [0, 1], default 1.0) + + :type: float + + .. attribute:: xray_alpha_bone + + Opacity to use for bone selection (in [0, 1], default 0.5) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceView3D.overlay` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View3DShading.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View3DShading.rst new file mode 100644 index 0000000..97657e4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.View3DShading.rst @@ -0,0 +1,371 @@ +View3DShading(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: View3DShading(bpy_struct) + + Settings for shading in the 3D viewport + + .. attribute:: aov_name + + Name of the active Shader AOV (default "", never None) + + :type: str + + .. attribute:: background_color + + Color for custom background color (array of 3 items, in [0, 1], default (0.05, 0.05, 0.05)) + + :type: :class:`mathutils.Color` + + .. attribute:: background_type + + Way to display the background (default ``'THEME'``) + + - ``THEME`` + Theme -- Use the theme for background color. + - ``WORLD`` + World -- Use the world for background color. + - ``VIEWPORT`` + Custom -- Use a custom color limited to this viewport only. + + :type: Literal['THEME', 'WORLD', 'VIEWPORT'] + + .. attribute:: cavity_ridge_factor + + Factor for the cavity ridges (in [0, 250], default 1.0) + + :type: float + + .. attribute:: cavity_type + + Way to display the cavity shading (default ``'SCREEN'``) + + - ``WORLD`` + World -- Cavity shading computed in world space, useful for larger-scale occlusion. + - ``SCREEN`` + Screen -- Curvature-based shading, useful for making fine details more visible. + - ``BOTH`` + Both -- Use both effects simultaneously. + + :type: Literal['WORLD', 'SCREEN', 'BOTH'] + + .. attribute:: cavity_valley_factor + + Factor for the cavity valleys (in [0, 250], default 1.0) + + :type: float + + .. attribute:: color_type + + Color Type (default ``'MATERIAL'``) + + - ``MATERIAL`` + Material -- Show material color. + - ``OBJECT`` + Object -- Show object color. + - ``RANDOM`` + Random -- Show random object color. + - ``VERTEX`` + Attribute -- Show active color attribute. + - ``TEXTURE`` + Texture -- Show the texture from the active image texture node using the active UV map coordinates. + - ``SINGLE`` + Custom -- Show scene in a single custom color. + + :type: Literal['MATERIAL', 'OBJECT', 'RANDOM', 'VERTEX', 'TEXTURE', 'SINGLE'] + + .. attribute:: curvature_ridge_factor + + Factor for the curvature ridges (in [0, 2], default 1.0) + + :type: float + + .. attribute:: curvature_valley_factor + + Factor for the curvature valleys (in [0, 2], default 1.0) + + :type: float + + .. attribute:: light + + Lighting Method for Solid/Texture Viewport Shading (default ``'STUDIO'``) + + - ``STUDIO`` + Studio -- Display using studio lighting. + - ``MATCAP`` + MatCap -- Display using matcap material and lighting. + - ``FLAT`` + Flat -- Display using flat lighting. + + :type: Literal['STUDIO', 'MATCAP', 'FLAT'] + + .. attribute:: object_outline_color + + Color for object outline (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. attribute:: render_pass + + Render Pass to show in the viewport (default ``'COMBINED'``) + + :type: Literal['COMBINED', 'EMISSION', 'ENVIRONMENT', 'AO', 'SHADOW', 'TRANSPARENT', 'DIFFUSE_LIGHT', 'DIFFUSE_COLOR', 'SPECULAR_LIGHT', 'SPECULAR_COLOR', 'VOLUME_LIGHT', 'POSITION', 'NORMAL', 'MIST', 'CryptoObject', 'CryptoAsset', 'CryptoMaterial', 'AOV'] + + .. data:: selected_studio_light + + Selected StudioLight (readonly) + + :type: :class:`StudioLight` | None + + .. attribute:: shadow_intensity + + Darkness of shadows (in [0, 1], default 0.5) + + :type: float + + .. attribute:: show_backface_culling + + Use back face culling to hide the back side of faces (default False) + + :type: bool + + .. attribute:: show_cavity + + Show Cavity (default False) + + :type: bool + + .. attribute:: show_object_outline + + Show Object Outline (default False) + + :type: bool + + .. attribute:: show_shadows + + Show Shadow (default False) + + :type: bool + + .. attribute:: show_specular_highlight + + Render specular highlights (default True) + + :type: bool + + .. attribute:: show_xray + + Show whole scene transparent (default False) + + :type: bool + + .. attribute:: show_xray_wireframe + + Show whole scene transparent (default True) + + :type: bool + + .. attribute:: single_color + + Color for single color mode (array of 3 items, in [0, 1], default (0.8, 0.8, 0.8)) + + :type: :class:`mathutils.Color` + + .. attribute:: studio_light + + Studio lighting setup (default ``'DEFAULT'``) + + :type: Literal['DEFAULT'] + + .. attribute:: studiolight_background_alpha + + Show the studiolight in the background (in [0, 1], default 0.0) + + :type: float + + .. attribute:: studiolight_background_blur + + Blur the studiolight in the background (in [0, 1], default 0.5) + + :type: float + + .. attribute:: studiolight_intensity + + Strength of the studiolight (in [0, inf], default 1.0) + + :type: float + + .. attribute:: studiolight_rotate_z + + Rotation of the studiolight around the Z-Axis (in [-3.14159, 3.14159], default 0.0) + + :type: float + + .. attribute:: type + + Method to display/shade objects in the 3D View (default ``'SOLID'``) + + :type: Literal[:ref:`rna_enum_shading_type_items`] + + .. attribute:: use_compositor + + When to preview the compositor output inside the viewport (default ``'DISABLED'``) + + - ``DISABLED`` + Disabled -- The compositor is disabled. + - ``CAMERA`` + Camera -- The compositor is enabled only in camera view. + - ``ALWAYS`` + Always -- The compositor is always enabled regardless of the view. + + :type: Literal['DISABLED', 'CAMERA', 'ALWAYS'] + + .. attribute:: use_dof + + Use depth of field on viewport using the values from the active camera (default False) + + :type: bool + + .. attribute:: use_scene_lights + + Render lights and light probes of the scene (default False) + + :type: bool + + .. attribute:: use_scene_lights_render + + Render lights and light probes of the scene (default True) + + :type: bool + + .. attribute:: use_scene_world + + Use scene world for lighting (default False) + + :type: bool + + .. attribute:: use_scene_world_render + + Use scene world for lighting (default True) + + :type: bool + + .. attribute:: use_studiolight_view_rotation + + Make the HDR rotation fixed and not follow the camera (default True) + + :type: bool + + .. attribute:: use_world_space_lighting + + Make the lighting fixed and not follow the camera (default False) + + :type: bool + + .. attribute:: wireframe_color_type + + Wire Color Type (default ``'THEME'``) + + - ``THEME`` + Theme -- Show scene wireframes with the theme's wire color. + - ``OBJECT`` + Object -- Show object color on wireframe. + - ``RANDOM`` + Random -- Show random object color on wireframe. + + :type: Literal['THEME', 'OBJECT', 'RANDOM'] + + .. attribute:: xray_alpha + + Amount of opacity to use (in [0, 1], default 0.5) + + :type: float + + .. attribute:: xray_alpha_wireframe + + Amount of opacity to use (in [0, 1], default 0.5) + + :type: float + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SceneDisplay.shading` + - :class:`SpaceView3D.shading` + - :class:`XrSessionSettings.shading` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewLayer.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewLayer.rst new file mode 100644 index 0000000..b9b14db --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewLayer.rst @@ -0,0 +1,465 @@ +ViewLayer(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ViewLayer(bpy_struct) + + View layer + + .. data:: active_aov + + Active AOV (readonly) + + :type: :class:`AOV` | None + + .. attribute:: active_aov_index + + Index of active AOV (in [0, inf], default 0) + + :type: int + + .. attribute:: active_layer_collection + + Active layer collection in this view layer's hierarchy (never None) + + :type: :class:`LayerCollection` + + .. data:: active_lightgroup + + Active Lightgroup (readonly) + + :type: :class:`Lightgroup` | None + + .. attribute:: active_lightgroup_index + + Index of active lightgroup (in [0, inf], default 0) + + :type: int + + .. data:: aovs + + (default None, readonly) + + :type: :class:`AOVs`\ [:class:`AOV`] + + .. data:: depsgraph + + Dependencies in the scene data (readonly) + + :type: :class:`Depsgraph` | None + + .. data:: eevee + + View layer settings for EEVEE (readonly, never None) + + :type: :class:`ViewLayerEEVEE` + + .. data:: freestyle_settings + + (readonly, never None) + + :type: :class:`FreestyleSettings` + + .. data:: has_export_collections + + At least one Collection in this View Layer has an exporter (default False, readonly) + + :type: bool + + .. data:: layer_collection + + Root of collections hierarchy of this view layer, its 'collection' pointer property is the same as the scene's master collection (readonly, never None) + + :type: :class:`LayerCollection` + + .. data:: lightgroups + + (default None, readonly) + + :type: :class:`Lightgroups`\ [:class:`Lightgroup`] + + .. attribute:: material_override + + Material to override all other materials in this view layer + + :type: :class:`Material` | None + + .. attribute:: name + + View layer name (default "", never None) + + :type: str + + .. data:: objects + + All the objects in this layer (default None, readonly) + + :type: :class:`LayerObjects`\ [:class:`Object`] + + .. attribute:: pass_alpha_threshold + + Z, Index, normal, UV and vector passes are only affected by surfaces with alpha transparency equal to or higher than this threshold (in [0, 1], default 0.5) + + :type: float + + .. attribute:: pass_cryptomatte_depth + + Sets how many unique objects can be distinguished per pixel (in [2, 16], default 6) + + :type: int + + .. attribute:: samples + + Override number of render samples for this view layer, 0 will use the scene setting (in [0, inf], default 0) + + :type: int + + .. attribute:: use + + Enable or disable rendering of this View Layer (default True) + + :type: bool + + .. attribute:: use_ao + + Render Ambient Occlusion in this Layer (default True) + + :type: bool + + .. attribute:: use_freestyle + + Render stylized strokes in this Layer (default True) + + :type: bool + + .. attribute:: use_grease_pencil + + Render Grease Pencil on this layer (default True) + + :type: bool + + .. attribute:: use_motion_blur + + Render motion blur in this Layer, if enabled in the scene (default True) + + :type: bool + + .. attribute:: use_pass_ambient_occlusion + + Deliver Ambient Occlusion pass (default False) + + :type: bool + + .. attribute:: use_pass_combined + + Deliver full combined RGBA buffer (default True) + + :type: bool + + .. attribute:: use_pass_cryptomatte_accurate + + Generate a more accurate cryptomatte pass (default True) + + :type: bool + + .. attribute:: use_pass_cryptomatte_asset + + Render cryptomatte asset pass, for isolating groups of objects with the same parent (default False) + + :type: bool + + .. attribute:: use_pass_cryptomatte_material + + Render cryptomatte material pass, for isolating materials in compositing (default False) + + :type: bool + + .. attribute:: use_pass_cryptomatte_object + + Render cryptomatte object pass, for isolating objects in compositing (default False) + + :type: bool + + .. attribute:: use_pass_diffuse_color + + Deliver diffuse color pass (default False) + + :type: bool + + .. attribute:: use_pass_diffuse_direct + + Deliver diffuse direct pass (default False) + + :type: bool + + .. attribute:: use_pass_diffuse_indirect + + Deliver diffuse indirect pass (default False) + + :type: bool + + .. attribute:: use_pass_emit + + Deliver emission pass (default False) + + :type: bool + + .. attribute:: use_pass_environment + + Deliver environment lighting pass (default False) + + :type: bool + + .. attribute:: use_pass_glossy_color + + Deliver glossy color pass (default False) + + :type: bool + + .. attribute:: use_pass_glossy_direct + + Deliver glossy direct pass (default False) + + :type: bool + + .. attribute:: use_pass_glossy_indirect + + Deliver glossy indirect pass (default False) + + :type: bool + + .. attribute:: use_pass_grease_pencil + + Deliver Grease Pencil render result in a separate pass (default False) + + :type: bool + + .. attribute:: use_pass_material_index + + Deliver material index pass (default False) + + :type: bool + + .. attribute:: use_pass_mist + + Deliver mist factor pass (0.0 to 1.0) (default False) + + :type: bool + + .. attribute:: use_pass_normal + + Deliver normal pass (default False) + + :type: bool + + .. attribute:: use_pass_object_index + + Deliver object index pass (default False) + + :type: bool + + .. attribute:: use_pass_position + + Deliver position pass (default False) + + :type: bool + + .. attribute:: use_pass_shadow + + Deliver shadow pass (default False) + + :type: bool + + .. attribute:: use_pass_subsurface_color + + Deliver subsurface color pass (default False) + + :type: bool + + .. attribute:: use_pass_subsurface_direct + + Deliver subsurface direct pass (default False) + + :type: bool + + .. attribute:: use_pass_subsurface_indirect + + Deliver subsurface indirect pass (default False) + + :type: bool + + .. attribute:: use_pass_transmission_color + + Deliver transmission color pass (default False) + + :type: bool + + .. attribute:: use_pass_transmission_direct + + Deliver transmission direct pass (default False) + + :type: bool + + .. attribute:: use_pass_transmission_indirect + + Deliver transmission indirect pass (default False) + + :type: bool + + .. attribute:: use_pass_uv + + Deliver texture UV pass (default False) + + :type: bool + + .. attribute:: use_pass_vector + + Deliver speed vector pass (default False) + + :type: bool + + .. attribute:: use_pass_z + + Deliver depth values pass (default False) + + :type: bool + + .. attribute:: use_sky + + Render Sky in this Layer (default True) + + :type: bool + + .. attribute:: use_solid + + Render Solid faces in this Layer (default True) + + :type: bool + + .. attribute:: use_strand + + Render Strands in this Layer (default True) + + :type: bool + + .. attribute:: use_volumes + + Render volumes in this Layer (default True) + + :type: bool + + .. attribute:: world_override + + Override world in this view layer + + :type: :class:`World` | None + + .. method:: bl_system_properties_get(*, do_create=False) + + DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data + + :param do_create: Ensure that system properties are created if they do not exist yet (optional) + :type do_create: bool + :return: The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested + :rtype: :class:`PropertyGroup` + + .. classmethod:: update_render_passes() + + Requery the enabled render passes from the render engine + + + .. method:: update() + + Update data tagged to be updated from previous access to data or operators + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.view_layer` + - :class:`Context.view_layer` + - :class:`Depsgraph.view_layer` + - :class:`Depsgraph.view_layer_eval` + - :class:`ID.override_hierarchy_create` + - :class:`IDOverrideLibrary.resync` + - :class:`LayerCollection.has_selected_objects` + - :class:`Object.hide_get` + - :class:`Object.hide_set` + - :class:`Object.holdout_get` + - :class:`Object.indirect_only_get` + - :class:`Object.select_get` + - :class:`Object.select_set` + - :class:`Object.visible_get` + - :class:`RenderEngine.register_pass` + - :class:`RenderEngine.update_render_passes` + - :class:`Scene.statistics` + - :class:`Scene.view_layers` + - :class:`ViewLayers.new` + - :class:`ViewLayers.remove` + - :class:`Window.view_layer` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewLayerEEVEE.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewLayerEEVEE.rst new file mode 100644 index 0000000..b21e115 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewLayerEEVEE.rst @@ -0,0 +1,102 @@ +ViewLayerEEVEE(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ViewLayerEEVEE(bpy_struct) + + View Layer settings for EEVEE + + .. attribute:: ambient_occlusion_distance + + Distance of object that contribute to the ambient occlusion effect (in [0, 100000], default 10.0) + + :type: float + + .. attribute:: use_pass_bloom + + Deliver bloom pass (deprecated) (default False) + + :type: bool + + .. attribute:: use_pass_transparent + + Deliver alpha blended surfaces in a separate pass (default False) + + :type: bool + + .. attribute:: use_pass_volume_direct + + Deliver volume direct light pass (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ViewLayer.eevee` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewLayers.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewLayers.rst new file mode 100644 index 0000000..d31a8a4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewLayers.rst @@ -0,0 +1,103 @@ +ViewLayers(bpy_prop_collection) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: ViewLayers(bpy_prop_collection) + + Collection of render layers + + .. method:: new(name) + + Add a view layer to scene + + :param name: New name for the view layer (not unique) (never None) + :type name: str + :return: Newly created view layer + :rtype: :class:`ViewLayer` + + .. method:: remove(layer) + + Remove a view layer + + :param layer: View layer to remove (never None) + :type layer: :class:`ViewLayer` | None + + .. method:: move(from_index, to_index) + + Move a view layer + + :param from_index: From Index, Index to move (in [-inf, inf]) + :type from_index: int + :param to_index: To Index, Target index (in [-inf, inf]) + :type to_index: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Scene.view_layers` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewerNodeViewerPathElem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewerNodeViewerPathElem.rst new file mode 100644 index 0000000..49de6e6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewerNodeViewerPathElem.rst @@ -0,0 +1,79 @@ +ViewerNodeViewerPathElem(ViewerPathElem) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ViewerPathElem` + +.. class:: ViewerNodeViewerPathElem(ViewerPathElem) + + + .. attribute:: node_id + + (in [-inf, inf], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ViewerPathElem.type` + - :class:`ViewerPathElem.ui_name` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ViewerPathElem.bl_rna_get_subclass` + - :class:`ViewerPathElem.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewerPath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewerPath.rst new file mode 100644 index 0000000..d6a45ee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewerPath.rst @@ -0,0 +1,85 @@ +ViewerPath(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: ViewerPath(bpy_struct) + + Path to data that is viewed + + .. data:: path + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`ViewerPathElem`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`SpaceSpreadsheet.viewer_path` + - :class:`SpreadsheetTableIDGeometry.viewer_path` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewerPathElem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewerPathElem.rst new file mode 100644 index 0000000..028f9de --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.ViewerPathElem.rst @@ -0,0 +1,93 @@ +ViewerPathElem(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +subclasses --- +:class:`EvaluateClosureNodeViewerPathElem`, :class:`ForeachGeometryElementZoneViewerPathElem`, :class:`GroupNodeViewerPathElem`, :class:`IDViewerPathElem`, :class:`ModifierViewerPathElem`, :class:`RepeatZoneViewerPathElem`, :class:`SimulationZoneViewerPathElem`, :class:`ViewerNodeViewerPathElem` + +.. class:: ViewerPathElem(bpy_struct) + + Element of a viewer path + + .. data:: type + + Type of the path element (default ``'ID'``, readonly) + + :type: Literal['ID', 'MODIFIER', 'GROUP_NODE', 'SIMULATION_ZONE', 'VIEWER_NODE', 'REPEAT_ZONE', 'FOREACH_GEOMETRY_ELEMENT_ZONE', 'EVALUATE_CLOSURE'] + + .. data:: ui_name + + Name that can be displayed in the UI for this element (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`ViewerPath.path` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Volume.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Volume.rst new file mode 100644 index 0000000..5333061 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Volume.rst @@ -0,0 +1,238 @@ +Volume(ID) +========== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: Volume(ID) + + Volume data-block for 3D volume grids + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. data:: display + + Volume display settings for 3D viewport (readonly) + + :type: :class:`VolumeDisplay` | None + + .. attribute:: filepath + + Volume file used by this Volume data-block (default "", never None, blend relative ``//`` prefix supported) + + :type: str + + .. attribute:: frame_duration + + Number of frames of the sequence to use (in [0, 1048574], default 0) + + :type: int + + .. attribute:: frame_offset + + Offset the number of the frame to use in the animation (in [-inf, inf], default 0) + + :type: int + + .. attribute:: frame_start + + Global starting frame of the sequence, assuming first has a #1 (in [-1048574, 1048574], default 1) + + :type: int + + .. data:: grids + + 3D volume grids (default None, readonly) + + :type: :class:`VolumeGrids`\ [:class:`VolumeGrid`] + + .. attribute:: is_sequence + + Whether the cache is separated in a series of files (default False) + + :type: bool + + .. data:: materials + + (default None, readonly) + + :type: :class:`IDMaterials`\ [:class:`Material`] + + .. data:: packed_file + + (readonly) + + :type: :class:`PackedFile` | None + + .. data:: render + + Volume render settings for 3D viewport (readonly) + + :type: :class:`VolumeRender` | None + + .. attribute:: sequence_mode + + Sequence playback mode (default ``'CLIP'``) + + - ``CLIP`` + Clip -- Hide frames outside the specified frame range. + - ``EXTEND`` + Extend -- Repeat the start frame before, and the end frame after the frame range. + - ``REPEAT`` + Repeat -- Cycle the frames in the sequence. + - ``PING_PONG`` + Ping-Pong -- Repeat the frames, reversing the playback direction every other cycle. + + :type: Literal['CLIP', 'EXTEND', 'REPEAT', 'PING_PONG'] + + .. attribute:: velocity_grid + + Name of the velocity field, or the base name if the velocity is split into multiple grids (default "", never None) + + :type: str + + .. attribute:: velocity_scale + + Factor to control the amount of motion blur (in [0, inf], default 1.0) + + :type: float + + .. attribute:: velocity_unit + + Define how the velocity vectors are interpreted with regard to time, 'frame' means the delta time is 1 frame, 'second' means the delta time is 1 / FPS (default ``'FRAME'``) + + :type: Literal[:ref:`rna_enum_velocity_unit_items`] + + .. data:: velocity_x_grid + + Name of the grid for the X axis component of the velocity field if it was split into multiple grids (default "", readonly, never None) + + :type: str + + .. data:: velocity_y_grid + + Name of the grid for the Y axis component of the velocity field if it was split into multiple grids (default "", readonly, never None) + + :type: str + + .. data:: velocity_z_grid + + Name of the grid for the Z axis component of the velocity field if it was split into multiple grids (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.volume` + - :class:`BlendData.volumes` + - :class:`BlendDataVolumes.new` + - :class:`BlendDataVolumes.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeDisplaceModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeDisplaceModifier.rst new file mode 100644 index 0000000..dfc8c74 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeDisplaceModifier.rst @@ -0,0 +1,125 @@ +VolumeDisplaceModifier(Modifier) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: VolumeDisplaceModifier(Modifier) + + + .. attribute:: strength + + Strength of the displacement (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: texture + + :type: :class:`Texture` | None + + .. attribute:: texture_map_mode + + (default ``'LOCAL'``) + + - ``LOCAL`` + Local -- Use the local coordinate system for the texture coordinates. + - ``GLOBAL`` + Global -- Use the global coordinate system for the texture coordinates. + - ``OBJECT`` + Object -- Use the linked object's local coordinate system for the texture coordinates. + + :type: Literal['LOCAL', 'GLOBAL', 'OBJECT'] + + .. attribute:: texture_map_object + + Object to use for texture mapping + + :type: :class:`Object` | None + + .. attribute:: texture_mid_level + + Subtracted from the texture color to get a displacement vector (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: texture_sample_radius + + Smaller values result in better performance but might cut off the volume (in [0, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeDisplay.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeDisplay.rst new file mode 100644 index 0000000..467635a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeDisplay.rst @@ -0,0 +1,150 @@ +VolumeDisplay(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: VolumeDisplay(bpy_struct) + + Volume object display settings for 3D viewport + + .. attribute:: density + + Thickness of volume display in the viewport (in [1e-05, inf], default 1.0) + + :type: float + + .. attribute:: interpolation_method + + Interpolation method to use for volumes in solid mode (default ``'LINEAR'``) + + - ``LINEAR`` + Linear -- Good smoothness and speed. + - ``CUBIC`` + Cubic -- Smoothed high quality interpolation, but slower. + - ``CLOSEST`` + Closest -- No interpolation. + + :type: Literal['LINEAR', 'CUBIC', 'CLOSEST'] + + .. attribute:: slice_axis + + (default ``'AUTO'``) + + - ``AUTO`` + Auto -- Adjust slice direction according to the view direction. + - ``X`` + X -- Slice along the X axis. + - ``Y`` + Y -- Slice along the Y axis. + - ``Z`` + Z -- Slice along the Z axis. + + :type: Literal['AUTO', 'X', 'Y', 'Z'] + + .. attribute:: slice_depth + + Position of the slice (in [0, 1], default 0.5) + + :type: float + + .. attribute:: use_slice + + Perform a single slice of the domain object (default False) + + :type: bool + + .. attribute:: wireframe_detail + + Amount of detail for wireframe display (default ``'COARSE'``) + + - ``COARSE`` + Coarse -- Display one box or point for each intermediate tree node. + - ``FINE`` + Fine -- Display box for each leaf node containing 8×8 voxels. + + :type: Literal['COARSE', 'FINE'] + + .. attribute:: wireframe_type + + Type of wireframe display (default ``'BOXES'``) + + - ``NONE`` + None -- Don't display volume in wireframe mode. + - ``BOUNDS`` + Bounds -- Display single bounding box for the entire grid. + - ``BOXES`` + Boxes -- Display bounding boxes for nodes in the volume tree. + - ``POINTS`` + Points -- Display points for nodes in the volume tree. + + :type: Literal['NONE', 'BOUNDS', 'BOXES', 'POINTS'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Volume.display` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeGrid.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeGrid.rst new file mode 100644 index 0000000..396f74f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeGrid.rst @@ -0,0 +1,120 @@ +VolumeGrid(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: VolumeGrid(bpy_struct) + + 3D volume grid + + .. data:: channels + + Number of dimensions of the grid data type (in [0, inf], default 0, readonly) + + :type: int + + .. data:: data_type + + Data type of voxel values (default ``'UNKNOWN'``, readonly) + + :type: Literal[:ref:`rna_enum_volume_grid_data_type_items`] + + .. data:: is_loaded + + Grid tree is loaded in memory (default False, readonly) + + :type: bool + + .. data:: matrix_object + + Transformation matrix from voxel index to object space (multi-dimensional array of 4 * 4 items, in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), readonly) + + :type: :class:`mathutils.Matrix` + + .. data:: name + + Volume grid name (default "", readonly, never None) + + :type: str + + .. method:: load() + + Load grid tree from file + + :return: True if grid tree was successfully loaded + :rtype: bool + + .. method:: unload() + + Unload grid tree and voxel data from memory, leaving only metadata + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Volume.grids` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeGrids.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeGrids.rst new file mode 100644 index 0000000..957759d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeGrids.rst @@ -0,0 +1,129 @@ +VolumeGrids(bpy_prop_collection) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: VolumeGrids(bpy_prop_collection) + + 3D volume grids + + .. attribute:: active_index + + Index of active volume grid (in [0, inf], default 0) + + :type: int + + .. data:: error_message + + If loading grids failed, error message with details (default "", readonly, never None) + + :type: str + + .. data:: frame + + Frame number that volume grids will be loaded at, based on scene time and volume parameters (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: frame_filepath + + Volume file used for loading the volume at the current frame. Empty if the volume has not be loaded or the frame only exists in memory. (default "", readonly, never None, blend relative ``//`` prefix supported) + + :type: str + + .. data:: is_loaded + + List of grids and metadata are loaded in memory (default False, readonly) + + :type: bool + + .. method:: load() + + Load list of grids and metadata from file + + :return: True if grid list was successfully loaded + :rtype: bool + + .. method:: unload() + + Unload all grid and voxel data from memory + + + .. method:: save(filepath) + + Save grids and metadata to file + + :param filepath: File path to save to (never None) + :type filepath: str + :return: True if grid list was successfully loaded + :rtype: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Volume.grids` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeRender.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeRender.rst new file mode 100644 index 0000000..5179994 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeRender.rst @@ -0,0 +1,114 @@ +VolumeRender(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: VolumeRender(bpy_struct) + + Volume object render settings + + .. attribute:: clipping + + Value under which voxels are considered empty space to optimize rendering (in [0, 1], default 0.001) + + :type: float + + .. attribute:: precision + + Specify volume data precision. Lower values reduce memory consumption at the cost of detail. (default ``'HALF'``) + + - ``FULL`` + Full -- Use 32-bit floating-point numbers for all data. + - ``HALF`` + Half -- Use 16-bit floating-point numbers for all data. + - ``VARIABLE`` + Variable -- Use variable bit quantization. + + :type: Literal['FULL', 'HALF', 'VARIABLE'] + + .. attribute:: space + + Specify volume density and step size in object or world space (default ``'OBJECT'``) + + - ``OBJECT`` + Object -- Keep volume opacity and detail the same regardless of object scale. + - ``WORLD`` + World -- Specify volume step size and density in world space. + + :type: Literal['OBJECT', 'WORLD'] + + .. attribute:: step_size + + Distance between volume samples. Lower values render more detail at the cost of performance. If set to zero, the step size is automatically determined based on voxel size. (in [0, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Volume.render` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeToMeshModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeToMeshModifier.rst new file mode 100644 index 0000000..1a34150 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VolumeToMeshModifier.rst @@ -0,0 +1,139 @@ +VolumeToMeshModifier(Modifier) +============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: VolumeToMeshModifier(Modifier) + + + .. attribute:: adaptivity + + Reduces the final face count by simplifying geometry where detail is not needed (in [0, 1], default 0.0) + + :type: float + + .. attribute:: grid_name + + Grid in the volume object that is converted to a mesh (default "", never None) + + :type: str + + .. attribute:: object + + Object + + :type: :class:`Object` | None + + .. attribute:: resolution_mode + + Mode for how the desired voxel size is specified (default ``'GRID'``) + + - ``GRID`` + Grid -- Use resolution of the volume grid. + - ``VOXEL_AMOUNT`` + Voxel Amount -- Desired number of voxels along one axis. + - ``VOXEL_SIZE`` + Voxel Size -- Desired voxel side length. + + :type: Literal['GRID', 'VOXEL_AMOUNT', 'VOXEL_SIZE'] + + .. attribute:: threshold + + Voxels with a larger value are inside the generated mesh (in [0, inf], default 0.0) + + :type: float + + .. attribute:: use_smooth_shade + + Output faces with smooth shading rather than flat shaded (default False) + + :type: bool + + .. attribute:: voxel_amount + + Approximate number of voxels along one axis (in [0, inf], default 0) + + :type: int + + .. attribute:: voxel_size + + Smaller values result in a higher resolution output (in [0, inf], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VoronoiTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VoronoiTexture.rst new file mode 100644 index 0000000..90e8994 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.VoronoiTexture.rst @@ -0,0 +1,233 @@ +VoronoiTexture(Texture) +======================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Texture` + +.. class:: VoronoiTexture(Texture) + + Procedural voronoi texture + + .. attribute:: color_mode + + (default ``'INTENSITY'``) + + - ``INTENSITY`` + Intensity -- Only calculate intensity. + - ``POSITION`` + Position -- Color cells by position. + - ``POSITION_OUTLINE`` + Position and Outline -- Use position plus an outline based on F2-F1. + - ``POSITION_OUTLINE_INTENSITY`` + Position, Outline, and Intensity -- Multiply position and outline by intensity. + + :type: Literal['INTENSITY', 'POSITION', 'POSITION_OUTLINE', 'POSITION_OUTLINE_INTENSITY'] + + .. attribute:: distance_metric + + Algorithm used to calculate distance of sample points to feature points (default ``'DISTANCE'``) + + - ``DISTANCE`` + Actual Distance -- sqrt(x\*x+y\*y+z\*z). + - ``DISTANCE_SQUARED`` + Distance Squared -- (x\*x+y\*y+z\*z). + - ``MANHATTAN`` + Manhattan -- The length of the distance in axial directions. + - ``CHEBYCHEV`` + Chebychev -- The length of the longest Axial journey. + - ``MINKOVSKY_HALF`` + Minkowski 1/2 -- Set Minkowski variable to 0.5. + - ``MINKOVSKY_FOUR`` + Minkowski 4 -- Set Minkowski variable to 4. + - ``MINKOVSKY`` + Minkowski -- Use the Minkowski function to calculate distance (exponent value determines the shape of the boundaries). + + :type: Literal['DISTANCE', 'DISTANCE_SQUARED', 'MANHATTAN', 'CHEBYCHEV', 'MINKOVSKY_HALF', 'MINKOVSKY_FOUR', 'MINKOVSKY'] + + .. attribute:: minkovsky_exponent + + Minkowski exponent (in [0.01, 10], default 2.5) + + :type: float + + .. attribute:: nabla + + Size of derivative offset used for calculating normal (in [0.001, 0.1], default 0.025) + + :type: float + + .. attribute:: noise_intensity + + Scales the intensity of the noise (in [0.01, 10], default 1.0) + + :type: float + + .. attribute:: noise_scale + + Scaling for noise input (in [0.0001, inf], default 0.25) + + :type: float + + .. attribute:: weight_1 + + Voronoi feature weight 1 (in [-2, 2], default 1.0) + + :type: float + + .. attribute:: weight_2 + + Voronoi feature weight 2 (in [-2, 2], default 0.0) + + :type: float + + .. attribute:: weight_3 + + Voronoi feature weight 3 (in [-2, 2], default 0.0) + + :type: float + + .. attribute:: weight_4 + + Voronoi feature weight 4 (in [-2, 2], default 0.0) + + :type: float + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Texture.type` + - :class:`Texture.use_clamp` + - :class:`Texture.use_color_ramp` + - :class:`Texture.color_ramp` + - :class:`Texture.intensity` + - :class:`Texture.contrast` + - :class:`Texture.saturation` + - :class:`Texture.factor_red` + - :class:`Texture.factor_green` + - :class:`Texture.factor_blue` + - :class:`Texture.use_preview_alpha` + - :class:`Texture.use_nodes` + - :class:`Texture.node_tree` + - :class:`Texture.animation_data` + - :class:`Texture.users_material` + - :class:`Texture.users_object_modifier` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Texture.evaluate` + - :class:`Texture.bl_rna_get_subclass` + - :class:`Texture.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WORKSPACE_UL_addons_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WORKSPACE_UL_addons_items.rst new file mode 100644 index 0000000..4bd22ef --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WORKSPACE_UL_addons_items.rst @@ -0,0 +1,94 @@ +WORKSPACE_UL_addons_items(UIList) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`UIList` + +.. class:: WORKSPACE_UL_addons_items(UIList) + + + .. method:: draw_item(context, layout, _data, addon, _icon, _active_data, _active_propname, _index) + + .. method:: filter_items(_context, data, property) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`UIList.bl_idname` + - :class:`UIList.list_id` + - :class:`UIList.layout_type` + - :class:`UIList.use_filter_show` + - :class:`UIList.filter_name` + - :class:`UIList.use_filter_invert` + - :class:`UIList.use_filter_sort_alpha` + - :class:`UIList.use_filter_sort_reverse` + - :class:`UIList.use_filter_sort_lock` + - :class:`UIList.bitflag_filter_item` + - :class:`UIList.bitflag_item_never_show` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`UIList.bl_system_properties_get` + - :class:`UIList.draw_item` + - :class:`UIList.draw_filter` + - :class:`UIList.filter_items` + - :class:`UIList.append` + - :class:`UIList.is_extended` + - :class:`UIList.prepend` + - :class:`UIList.remove` + - :class:`UIList.bl_rna_get_subclass` + - :class:`UIList.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WalkNavigation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WalkNavigation.rst new file mode 100644 index 0000000..37f7595 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WalkNavigation.rst @@ -0,0 +1,126 @@ +WalkNavigation(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: WalkNavigation(bpy_struct) + + Walk navigation settings + + .. attribute:: jump_height + + Maximum height of a jump (in [0.1, 100], default 0.4) + + :type: float + + .. attribute:: mouse_speed + + Speed factor for when looking around, high values mean faster mouse movement (in [0.01, 10], default 1.0) + + :type: float + + .. attribute:: teleport_time + + Interval of time warp when teleporting in navigation mode (in [0, 10], default 0.2) + + :type: float + + .. attribute:: use_gravity + + Walk with gravity, or free navigate (default False) + + :type: bool + + .. attribute:: use_mouse_reverse + + Reverse the vertical movement of the mouse (default False) + + :type: bool + + .. attribute:: view_height + + View distance from the floor when walking (in [0, 1000], default 1.6) + + :type: float + + .. attribute:: walk_speed + + Base speed for walking and flying (in [0.01, 100], default 2.5) + + :type: float + + .. attribute:: walk_speed_factor + + Multiplication factor when using the fast or slow modifiers (in [0.01, 10], default 5.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PreferencesInput.walk_navigation` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WarpModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WarpModifier.rst new file mode 100644 index 0000000..0bc8529 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WarpModifier.rst @@ -0,0 +1,188 @@ +WarpModifier(Modifier) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: WarpModifier(Modifier) + + Warp modifier + + .. attribute:: bone_from + + Bone to transform from (default "", never None) + + :type: str + + .. attribute:: bone_to + + Bone defining offset (default "", never None) + + :type: str + + .. data:: falloff_curve + + Custom falloff curve (readonly) + + :type: :class:`CurveMapping` | None + + .. attribute:: falloff_radius + + Radius to apply (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: falloff_type + + (default ``'SMOOTH'``) + + :type: Literal['NONE', 'CURVE', 'SMOOTH', 'SPHERE', 'ROOT', 'INVERSE_SQUARE', 'SHARP', 'LINEAR', 'CONSTANT'] + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: object_from + + Object to transform from + + :type: :class:`Object` | None + + .. attribute:: object_to + + Object to transform to + + :type: :class:`Object` | None + + .. attribute:: strength + + (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: texture + + :type: :class:`Texture` | None + + .. attribute:: texture_coords + + (default ``'LOCAL'``) + + - ``LOCAL`` + Local -- Use the local coordinate system for the texture coordinates. + - ``GLOBAL`` + Global -- Use the global coordinate system for the texture coordinates. + - ``OBJECT`` + Object -- Use the linked object's local coordinate system for the texture coordinates. + - ``UV`` + UV -- Use UV coordinates for the texture coordinates. + + :type: Literal['LOCAL', 'GLOBAL', 'OBJECT', 'UV'] + + .. attribute:: texture_coords_bone + + Bone to set the texture coordinates (default "", never None) + + :type: str + + .. attribute:: texture_coords_object + + Object to set the texture coordinates + + :type: :class:`Object` | None + + .. attribute:: use_volume_preserve + + Preserve volume when rotations are used (default False) + + :type: bool + + .. attribute:: uv_layer + + UV map name (default "", never None) + + :type: str + + .. attribute:: vertex_group + + Vertex group name for modulating the deform (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WaveModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WaveModifier.rst new file mode 100644 index 0000000..05868e1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WaveModifier.rst @@ -0,0 +1,242 @@ +WaveModifier(Modifier) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: WaveModifier(Modifier) + + Wave effect modifier + + .. attribute:: damping_time + + Number of frames in which the wave damps out after it dies (in [-1.04857e+06, 1.04857e+06], default 10.0) + + :type: float + + .. attribute:: falloff_radius + + Distance after which it fades out (in [0, inf], default 0.0) + + :type: float + + .. attribute:: height + + Height of the wave (in [-inf, inf], default 0.5) + + :type: float + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: lifetime + + Lifetime of the wave in frames, zero means infinite (in [-1.04857e+06, 1.04857e+06], default 0.0) + + :type: float + + .. attribute:: narrowness + + Distance between the top and the base of a wave, the higher the value, the more narrow the wave (in [0, inf], default 1.5) + + :type: float + + .. attribute:: speed + + Speed of the wave, towards the starting point when negative (in [-inf, inf], default 0.25) + + :type: float + + .. attribute:: start_position_object + + Object which defines the wave center + + :type: :class:`Object` | None + + .. attribute:: start_position_x + + X coordinate of the start position (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: start_position_y + + Y coordinate of the start position (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: texture + + :type: :class:`Texture` | None + + .. attribute:: texture_coords + + (default ``'LOCAL'``) + + - ``LOCAL`` + Local -- Use the local coordinate system for the texture coordinates. + - ``GLOBAL`` + Global -- Use the global coordinate system for the texture coordinates. + - ``OBJECT`` + Object -- Use the linked object's local coordinate system for the texture coordinates. + - ``UV`` + UV -- Use UV coordinates for the texture coordinates. + + :type: Literal['LOCAL', 'GLOBAL', 'OBJECT', 'UV'] + + .. attribute:: texture_coords_bone + + Bone to set the texture coordinates (default "", never None) + + :type: str + + .. attribute:: texture_coords_object + + Object to set the texture coordinates + + :type: :class:`Object` | None + + .. attribute:: time_offset + + Either the starting frame (for positive speed) or ending frame (for negative speed) (in [-1.04857e+06, 1.04857e+06], default 0.0) + + :type: float + + .. attribute:: use_cyclic + + Cyclic wave effect (default True) + + :type: bool + + .. attribute:: use_normal + + Displace along normals (default False) + + :type: bool + + .. attribute:: use_normal_x + + Enable displacement along the X normal (default True) + + :type: bool + + .. attribute:: use_normal_y + + Enable displacement along the Y normal (default True) + + :type: bool + + .. attribute:: use_normal_z + + Enable displacement along the Z normal (default True) + + :type: bool + + .. attribute:: use_x + + X axis motion (default True) + + :type: bool + + .. attribute:: use_y + + Y axis motion (default True) + + :type: bool + + .. attribute:: uv_layer + + UV map name (default "", never None) + + :type: str + + .. attribute:: vertex_group + + Vertex group name for modulating the wave (default "", never None) + + :type: str + + .. attribute:: width + + Distance between the waves (in [0, inf], default 1.5) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WeightedNormalModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WeightedNormalModifier.rst new file mode 100644 index 0000000..c77963f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WeightedNormalModifier.rst @@ -0,0 +1,133 @@ +WeightedNormalModifier(Modifier) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: WeightedNormalModifier(Modifier) + + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: keep_sharp + + Keep sharp edges as computed for default custom normals, instead of setting a single weighted normal for each vertex (default False) + + :type: bool + + .. attribute:: mode + + Weighted vertex normal mode to use (default ``'FACE_AREA'``) + + - ``FACE_AREA`` + Face Area -- Generate face area weighted normals. + - ``CORNER_ANGLE`` + Corner Angle -- Generate corner angle weighted normals. + - ``FACE_AREA_WITH_ANGLE`` + Face Area & Angle -- Generated normals weighted by both face area and angle. + + :type: Literal['FACE_AREA', 'CORNER_ANGLE', 'FACE_AREA_WITH_ANGLE'] + + .. attribute:: thresh + + Threshold value for different weights to be considered equal (in [0, 10], default 0.01) + + :type: float + + .. attribute:: use_face_influence + + Use influence of face for weighting (default False) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name for modifying the selected areas (default "", never None) + + :type: str + + .. attribute:: weight + + Corrective factor applied to faces' weights, 50 is neutral, lower values increase weight of weak faces, higher values increase weight of strong faces (in [1, 100], default 50) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WeldModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WeldModifier.rst new file mode 100644 index 0000000..20fdf16 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WeldModifier.rst @@ -0,0 +1,120 @@ +WeldModifier(Modifier) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: WeldModifier(Modifier) + + Weld modifier + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: loose_edges + + Collapse edges without faces, cloth sewing edges (default False) + + :type: bool + + .. attribute:: merge_threshold + + Limit below which to merge vertices (in [0, inf], default 0.001) + + :type: float + + .. attribute:: mode + + Mode defines the merge rule (default ``'ALL'``) + + - ``ALL`` + All -- Full merge by distance. + - ``CONNECTED`` + Connected -- Only merge along the edges. + + :type: Literal['ALL', 'CONNECTED'] + + .. attribute:: vertex_group + + Vertex group name for selecting the affected areas (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WhiteBalanceModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WhiteBalanceModifier.rst new file mode 100644 index 0000000..51880c9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WhiteBalanceModifier.rst @@ -0,0 +1,94 @@ +WhiteBalanceModifier(StripModifier) +=================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`StripModifier` + +.. class:: WhiteBalanceModifier(StripModifier) + + White balance modifier for sequence strip + + .. attribute:: open_mask_input_panel + + (default False) + + :type: bool + + .. attribute:: white_value + + This color defines white in the strip (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Color` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`StripModifier.name` + - :class:`StripModifier.type` + - :class:`StripModifier.mute` + - :class:`StripModifier.enable` + - :class:`StripModifier.show_expanded` + - :class:`StripModifier.input_mask_type` + - :class:`StripModifier.mask_time` + - :class:`StripModifier.input_mask_strip` + - :class:`StripModifier.input_mask_id` + - :class:`StripModifier.is_active` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`StripModifier.bl_rna_get_subclass` + - :class:`StripModifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Window.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Window.rst new file mode 100644 index 0000000..ef15a58 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Window.rst @@ -0,0 +1,218 @@ +Window(bpy_struct) +================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: Window(bpy_struct) + + Open window + + .. data:: height + + Window height (in [0, 32767], default 0, readonly) + + :type: int + + .. data:: modal_operators + + A list of currently running modal operators (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Operator`] + + .. data:: parent + + Active workspace and scene follow this window (readonly) + + :type: :class:`Window` | None + + .. attribute:: scene + + Active scene to be edited in the window (never None) + + :type: :class:`Scene` + + .. attribute:: screen + + Active workspace screen showing in the window (never None) + + :type: :class:`Screen` + + .. data:: stereo_3d_display + + Settings for stereo 3D display (readonly, never None) + + :type: :class:`Stereo3dDisplay` + + .. data:: support_hdr_color + + The window has a HDR graphics buffer that wide gamut and high dynamic range colors can be written to, in extended sRGB color space. (default False, readonly) + + :type: bool + + .. attribute:: view_layer + + The active workspace view layer showing in the window (never None) + + :type: :class:`ViewLayer` + + .. data:: width + + Window width (in [0, 32767], default 0, readonly) + + :type: int + + .. attribute:: workspace + + Active workspace showing in the window (never None) + + :type: :class:`WorkSpace` + + .. data:: x + + Horizontal location of the window (in [-32768, 32767], default 0, readonly) + + :type: int + + .. data:: y + + Vertical location of the window (in [-32768, 32767], default 0, readonly) + + :type: int + + .. method:: cursor_warp(x, y) + + Set the cursor position + + :param x: (in [-inf, inf]) + :type x: int + :param y: (in [-inf, inf]) + :type y: int + + .. method:: cursor_set(cursor) + + Set the cursor + + :param cursor: cursor + :type cursor: Literal[:ref:`rna_enum_window_cursor_items`] + + .. method:: cursor_modal_set(cursor) + + Set the cursor, so the previous cursor can be restored + + :param cursor: cursor + :type cursor: Literal[:ref:`rna_enum_window_cursor_items`] + + .. method:: cursor_modal_restore() + + Restore the previous cursor after calling ``cursor_modal_set`` + + + .. method:: event_simulate(type, value, *, unicode="", x=0, y=0, shift=False, ctrl=False, alt=False, oskey=False, hyper=False) + + event_simulate + + :param type: Type + :type type: Literal[:ref:`rna_enum_event_type_items`] + :param value: Value + :type value: Literal[:ref:`rna_enum_event_value_items`] + :param unicode: (optional) + :type unicode: str + :param x: (in [-inf, inf], optional) + :type x: int + :param y: (in [-inf, inf], optional) + :type y: int + :param shift: Shift, (optional) + :type shift: bool + :param ctrl: Ctrl, (optional) + :type ctrl: bool + :param alt: Alt, (optional) + :type alt: bool + :param oskey: OS Key, (optional) + :type oskey: bool + :param hyper: Hyper, (optional) + :type hyper: bool + :return: Item, Added key map item + :rtype: :class:`Event` + + .. method:: find_playing_scene(*, scrub=False) + + find_playing_scene + + :param scrub: Scrubbing, Check if time in the scene is being scrubbed (optional) + :type scrub: bool + :return: Scene, Scene that is currently playing + :rtype: :class:`Scene` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Context.window` + - :class:`Window.parent` + - :class:`WindowManager.event_timer_add` + - :class:`WindowManager.windows` + - :class:`Windows.find_playing` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WindowManager.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WindowManager.rst new file mode 100644 index 0000000..e2e17a1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WindowManager.rst @@ -0,0 +1,573 @@ +WindowManager(ID) +================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: WindowManager(ID) + + Window manager data-block defining open windows and other user interface data + + .. attribute:: addon_filter + + Filter add-ons by category + + :type: str + + .. attribute:: addon_search + + Filter by add-on name, author & category (default "", never None) + + :type: str + + .. attribute:: addon_support + + Display support level (default {``'COMMUNITY'``, ``'OFFICIAL'``}) + + - ``OFFICIAL`` + Official -- Officially supported. + - ``COMMUNITY`` + Community -- Maintained by community developers. + + :type: set[Literal['OFFICIAL', 'COMMUNITY']] + + .. data:: addon_tags + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`BlExtDummyGroup`] + + .. data:: asset_path_dummy + + Full path to the Blender file containing the active asset (default "", readonly, never None) + + :type: str + + .. attribute:: extension_repo_filter + + Filter extensions by repository + + :type: str + + .. attribute:: extension_search + + Filter by extension name, author & category (default "", never None) + + :type: str + + .. attribute:: extension_show_panel_available + + Show the available extensions panel (default True) + + :type: bool + + .. attribute:: extension_show_panel_installed + + Show the installed extensions panel (default True) + + :type: bool + + .. data:: extension_tags + + (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`BlExtDummyGroup`] + + .. attribute:: extension_type + + Show extensions by type (default ``'ADDON'``) + + - ``ALL`` + All -- Show all extension types. + - ``ADDON`` + Add-ons -- Only show add-ons. + - ``THEME`` + Themes -- Only show themes. + + :type: Literal['ALL', 'ADDON', 'THEME'] + + .. attribute:: extension_use_filter + + Filter Extensions by Tags & Repository (default False) + + :type: bool + + .. attribute:: extensions_blocked + + Number of installed extensions which are blocked (in [-inf, inf], default 0) + + :type: int + + .. attribute:: extensions_updates + + Number of extensions with available update (in [-inf, inf], default 0) + + :type: int + + .. data:: is_interface_locked + + If true, the interface is currently locked by a running job and data should not be modified from application timers. Otherwise, the running job might conflict with the handler causing unexpected results or even crashes. (default False, readonly) + + :type: bool + + .. data:: keyconfigs + + Registered key configurations (default None, readonly) + + :type: :class:`KeyConfigurations`\ [:class:`KeyConfig`] + + .. data:: operators + + Operator registry (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Operator`] + + .. attribute:: poselib_previous_action + + :type: :class:`Action` | None + + .. attribute:: preset_name + + Name for new preset (default "New Preset", never None) + + :type: str + + .. data:: windows + + Open windows (default None, readonly) + + :type: :class:`Windows`\ [:class:`Window`] + + .. data:: xr_session_settings + + (readonly, never None) + + :type: :class:`XrSessionSettings` + + .. data:: xr_session_state + + Runtime state information about the VR session (readonly) + + :type: :class:`XrSessionState` | None + + .. attribute:: clipboard + + Clipboard text storage. + + :type: str + + + .. classmethod:: fileselect_add(operator) + + Opens a file selector with an operator. + + :param operator: Operator to call + :type operator: :class:`Operator` | None + + This method is used from the operators ``invoke`` callback + which must then return ``{'RUNNING_MODAL'}``. + + Accepting the file selector will run the operators ``execute`` callback. + + The following properties are supported: + + ``filepath``: ``bpy.props.StringProperty(subtype='FILE_PATH')`` + Represents the absolute path to the file. + ``dirpath``: ``bpy.props.StringProperty(subtype='DIR_PATH')`` + Represents the absolute path to the directory. + ``filename``: ``bpy.props.StringProperty(subtype='FILE_NAME')`` + Represents the filename without the leading directory. + ``files``: ``bpy.props.CollectionProperty(type=bpy.types.OperatorFileListElement)`` + When present in the operator this collection includes all selected files. + ``filter_glob``: ``bpy.props.StringProperty(default="*.ext")`` + When present in the operator and it's not empty, + it will be used as a file filter (example value: ``*.zip;*.py;*.exe``). + ``check_existing``: ``bpy.props.BoolProperty()`` + If this property is present and set to ``True``, + the operator will warn if the provided file-path already exists + by highlighting the filename input field in red. + + + .. warning:: + + After opening the file-browser the user may continue to use Blender, + this means it is possible for the user to change the context in ways + that would cause the operators ``poll`` function to fail. + + Unless the operator reads all necessary data from the context before the file-selector is opened, + it is recommended for operators to check the ``poll`` function from ``execute`` + to ensure the context is still valid. + + Example from the body of an operators ``execute`` function: + + .. code-block:: python + + if self.options.is_invoke: + # The context may have changed since invoking the file selector. + if not self.poll(context): + self.report({'ERROR'}, "Invalid context") + return {'CANCELLED'} + + + .. classmethod:: modal_handler_add(operator) + + Add a modal handler to the window manager, for the given modal operator (called by invoke() with self, just before returning {'RUNNING_MODAL'}) + + :param operator: Operator to call + :type operator: :class:`Operator` | None + :return: Whether adding the handler was successful + :rtype: bool + + .. method:: event_timer_add(time_step, *, window=None) + + Add a timer to the given window, to generate periodic 'TIMER' events + + :param time_step: Time Step, Interval in seconds between timer events (in [0, inf]) + :type time_step: float + :param window: Window to attach the timer to, or None (optional) + :type window: :class:`Window` | None + :rtype: :class:`Timer` + + .. method:: event_timer_remove(timer) + + event_timer_remove + + :param timer: (never None) + :type timer: :class:`Timer` | None + + .. classmethod:: gizmo_group_type_ensure(identifier) + + Activate an existing widget group (when the persistent option isn't set) + + :param identifier: Gizmo group type name (never None) + :type identifier: str + + .. classmethod:: gizmo_group_type_unlink_delayed(identifier) + + Unlink a widget group (when the persistent option is set) + + :param identifier: Gizmo group type name (never None) + :type identifier: str + + .. method:: progress_begin(min, max) + + Start progress report + + :param min: min, any value in range [0,9999] (in [-inf, inf]) + :type min: float + :param max: max, any value in range [min+1,9998] (in [-inf, inf]) + :type max: float + + .. method:: progress_update(value) + + Update the progress feedback + + :param value: value, Any value between min and max as set in progress_begin() (in [-inf, inf]) + :type value: float + + .. method:: progress_end() + + Terminate progress report + + + .. classmethod:: invoke_props_popup(operator, event) + + Operator popup invoke (show operator properties and execute it automatically on changes) + + :param operator: Operator to call + :type operator: :class:`Operator` | None + :param event: Event + :type event: :class:`Event` | None + :return: result + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + + .. classmethod:: invoke_props_dialog(operator, *, width=300, title="", confirm_text="", cancel_default=False, text_ctxt="", translate=True) + + Operator dialog (non-autoexec popup) invoke (show operator properties and only execute it on click on OK button) + + :param operator: Operator to call + :type operator: :class:`Operator` | None + :param width: Width of the popup (in [0, inf], optional) + :type width: int + :param title: Title, Optional text to show as title of the popup (optional, never None) + :type title: str + :param confirm_text: Confirm Text, Optional text to show instead to the default "OK" confirmation button text (optional, never None) + :type confirm_text: str + :param cancel_default: cancel_default, (optional) + :type cancel_default: bool + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :return: result + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + + .. classmethod:: invoke_search_popup(operator) + + Operator search popup invoke which searches values of the operator's :class:`bpy.types.Operator.bl_property` (which must be an EnumProperty), executing it on confirmation + + :param operator: Operator to call + :type operator: :class:`Operator` | None + + .. classmethod:: invoke_popup(operator, *, width=300) + + Operator popup invoke (only shows operator's properties, without executing it) + + :param operator: Operator to call + :type operator: :class:`Operator` | None + :param width: Width of the popup (in [0, inf], optional) + :type width: int + :return: result + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + + .. classmethod:: invoke_confirm(operator, event, *, title="", message="", confirm_text="", icon='NONE', text_ctxt="", translate=True) + + Operator confirmation popup (only to let user confirm the execution, no operator properties shown) + + :param operator: Operator to call + :type operator: :class:`Operator` | None + :param event: Event + :type event: :class:`Event` | None + :param title: Title, Optional text to show as title of the popup (optional, never None) + :type title: str + :param message: Message, Optional first line of content text (optional, never None) + :type message: str + :param confirm_text: Confirm Text, Optional text to show instead to the default "OK" confirmation button text (optional, never None) + :type confirm_text: str + :param icon: Icon, Optional icon displayed in the dialog (optional) + :type icon: Literal['NONE', 'WARNING', 'QUESTION', 'ERROR', 'INFO'] + :param text_ctxt: Override automatic translation context of the given text (optional) + :type text_ctxt: str + :param translate: Translate the given text, when UI translation is enabled (optional) + :type translate: bool + :return: result + :rtype: set[Literal[:ref:`rna_enum_operator_return_items`]] + + .. classmethod:: popmenu_begin__internal(title, *, icon='NONE') + + popmenu_begin__internal + + :param title: (never None) + :type title: str + :param icon: icon, (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :return: (never None) + :rtype: :class:`UIPopupMenu` + + .. classmethod:: popmenu_end__internal(menu) + + popmenu_end__internal + + :param menu: (never None) + :type menu: :class:`UIPopupMenu` | None + + .. classmethod:: popover_begin__internal(*, ui_units_x=0, from_active_button=False) + + popover_begin__internal + + :param ui_units_x: ui_units_x, (in [0, inf], optional) + :type ui_units_x: int + :param from_active_button: Use Button, Use the active button for positioning (optional) + :type from_active_button: bool + :return: (never None) + :rtype: :class:`UIPopover` + + .. classmethod:: popover_end__internal(menu, *, keymap=None) + + popover_end__internal + + :param menu: (never None) + :type menu: :class:`UIPopover` | None + :param keymap: Key Map, Active key map (optional) + :type keymap: :class:`KeyMap` | None + + .. classmethod:: piemenu_begin__internal(title, *, icon='NONE', event=None) + + piemenu_begin__internal + + :param title: (never None) + :type title: str + :param icon: icon, (optional) + :type icon: Literal[:ref:`rna_enum_icon_items`] + :param event: (optional, never None) + :type event: :class:`Event` | None + :return: (never None) + :rtype: :class:`UIPieMenu` + + .. classmethod:: piemenu_end__internal(menu) + + piemenu_end__internal + + :param menu: (never None) + :type menu: :class:`UIPieMenu` | None + + .. classmethod:: operator_properties_last(operator) + + operator_properties_last + + :param operator: (never None) + :type operator: str + :return: (never None) + :rtype: :class:`OperatorProperties` + + .. method:: print_undo_steps() + + print_undo_steps + + + .. classmethod:: tag_script_reload() + + Tag for refreshing the interface after scripts have been reloaded + + + .. method:: popover(draw_func, *, ui_units_x=0, keymap=None, from_active_button=False) + + .. method:: popup_menu(draw_func, *, title='', icon='NONE') + + + Popup menus can be useful for creating menus without having to register menu classes. + + Note that they will not block the scripts execution, so the caller can't wait for user input. + + .. literalinclude:: ./examples/bpy.types.WindowManager.popup_menu.0.py + :lines: 7- + + .. method:: popup_menu_pie(event, draw_func, *, title='', icon='NONE') + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + + .. classmethod:: draw_cursor_add(callback, args, space_type, region_type) + + Add a new draw cursor handler to this space type. + It will be called every time the cursor for the specified region in the space type will be drawn. + Note: All arguments are positional only for now. + + :param callback: + A function that will be called when the cursor is drawn. + It gets the specified arguments as input with the mouse position (``tuple[int, int]``) as last argument. + :type callback: Callable[..., Any] + :param args: Arguments that will be passed to the callback. + :type args: tuple[Any, ...] + :param space_type: The space type the callback draws in; for example ``VIEW_3D``. (:class:`bpy.types.Space.type`) + :type space_type: str + :param region_type: The region type the callback draws in; usually ``WINDOW``. (:class:`bpy.types.Region.type`) + :type region_type: str + :return: Handler that can be removed later on. + :rtype: object + + + .. classmethod:: draw_cursor_remove(handler) + + Remove a draw cursor handler that was added previously. + + :param handler: The draw cursor handler that should be removed. + :type handler: object + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.window_managers` + - :class:`Context.window_manager` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Windows.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Windows.rst new file mode 100644 index 0000000..05aab7a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.Windows.rst @@ -0,0 +1,87 @@ +Windows(bpy_prop_collection) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: Windows(bpy_prop_collection) + + Collection of windows + + .. method:: find_playing(*, scrub=False) + + find_playing + + :param scrub: Scrubbing, Check if time in the window is being scrubbed (optional) + :type scrub: bool + :return: Window, Window that is currently playing + :rtype: :class:`Window` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WindowManager.windows` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WipeStrip.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WipeStrip.rst new file mode 100644 index 0000000..37f6ba9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WipeStrip.rst @@ -0,0 +1,168 @@ +WipeStrip(EffectStrip) +====================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Strip`, :class:`EffectStrip` + +.. class:: WipeStrip(EffectStrip) + + Sequence strip creating a wipe transition + + .. attribute:: angle + + Angle of the transition (in [-1.5708, 1.5708], default 0.0) + + :type: float + + .. attribute:: blur_width + + Width of the blur for the transition, in percentage relative to the image size (in [0, 1], default 0.0) + + :type: float + + .. attribute:: direction + + Whether to fade in or out (default ``'OUT'``) + + :type: Literal['OUT', 'IN'] + + .. attribute:: input_1 + + First input for the effect strip (never None) + + :type: :class:`Strip` + + .. attribute:: input_2 + + Second input for the effect strip (never None) + + :type: :class:`Strip` + + .. data:: input_count + + (in [0, inf], default 0, readonly) + + :type: int + + .. attribute:: transition_type + + (default ``'SINGLE'``) + + :type: Literal['SINGLE', 'DOUBLE', 'IRIS', 'CLOCK'] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Strip.name` + - :class:`Strip.type` + - :class:`Strip.select` + - :class:`Strip.select_left_handle` + - :class:`Strip.select_right_handle` + - :class:`Strip.mute` + - :class:`Strip.lock` + - :class:`Strip.frame_final_duration` + - :class:`Strip.duration` + - :class:`Strip.frame_duration` + - :class:`Strip.content_duration` + - :class:`Strip.frame_start` + - :class:`Strip.content_start` + - :class:`Strip.content_end` + - :class:`Strip.frame_final_start` + - :class:`Strip.left_handle` + - :class:`Strip.frame_final_end` + - :class:`Strip.right_handle` + - :class:`Strip.frame_offset_start` + - :class:`Strip.left_handle_offset` + - :class:`Strip.frame_offset_end` + - :class:`Strip.right_handle_offset` + - :class:`Strip.channel` + - :class:`Strip.use_linear_modifiers` + - :class:`Strip.blend_type` + - :class:`Strip.blend_alpha` + - :class:`Strip.effect_fader` + - :class:`Strip.use_default_fade` + - :class:`Strip.color_tag` + - :class:`Strip.modifiers` + - :class:`Strip.show_retiming_keys` + - :class:`EffectStrip.use_deinterlace` + - :class:`EffectStrip.alpha_mode` + - :class:`EffectStrip.use_flip_x` + - :class:`EffectStrip.use_flip_y` + - :class:`EffectStrip.use_float` + - :class:`EffectStrip.use_reverse_frames` + - :class:`EffectStrip.color_multiply` + - :class:`EffectStrip.multiply_alpha` + - :class:`EffectStrip.color_saturation` + - :class:`EffectStrip.strobe` + - :class:`EffectStrip.transform` + - :class:`EffectStrip.crop` + - :class:`EffectStrip.use_proxy` + - :class:`EffectStrip.proxy` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Strip.bl_system_properties_get` + - :class:`Strip.strip_elem_from_frame` + - :class:`Strip.swap` + - :class:`Strip.move_to_meta` + - :class:`Strip.parent_meta` + - :class:`Strip.invalidate_cache` + - :class:`Strip.split` + - :class:`Strip.bl_rna_get_subclass` + - :class:`Strip.bl_rna_get_subclass_py` + - :class:`EffectStrip.bl_rna_get_subclass` + - :class:`EffectStrip.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WireframeModifier.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WireframeModifier.rst new file mode 100644 index 0000000..2d8dd00 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WireframeModifier.rst @@ -0,0 +1,157 @@ +WireframeModifier(Modifier) +=========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`Modifier` + +.. class:: WireframeModifier(Modifier) + + Wireframe effect modifier + + .. attribute:: crease_weight + + Crease weight (if active) (in [-inf, inf], default 1.0) + + :type: float + + .. attribute:: invert_vertex_group + + Invert vertex group influence (default False) + + :type: bool + + .. attribute:: material_offset + + Offset material index of generated faces (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: offset + + Offset the thickness from the center (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: thickness + + Thickness factor (in [-inf, inf], default 0.02) + + :type: float + + .. attribute:: thickness_vertex_group + + Thickness factor to use for zero vertex group influence (in [0, 1], default 0.0) + + :type: float + + .. attribute:: use_boundary + + Support face boundaries (default False) + + :type: bool + + .. attribute:: use_crease + + Crease hub edges for improved subdivision surface (default False) + + :type: bool + + .. attribute:: use_even_offset + + Scale the offset to give more even thickness (default True) + + :type: bool + + .. attribute:: use_relative_offset + + Scale the offset by surrounding geometry (default False) + + :type: bool + + .. attribute:: use_replace + + Remove original geometry (default True) + + :type: bool + + .. attribute:: vertex_group + + Vertex group name for selecting the affected areas (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`Modifier.name` + - :class:`Modifier.type` + - :class:`Modifier.show_viewport` + - :class:`Modifier.show_render` + - :class:`Modifier.show_in_editmode` + - :class:`Modifier.show_on_cage` + - :class:`Modifier.show_expanded` + - :class:`Modifier.is_active` + - :class:`Modifier.use_pin_to_last` + - :class:`Modifier.is_override_data` + - :class:`Modifier.use_apply_on_spline` + - :class:`Modifier.execution_time` + - :class:`Modifier.persistent_uid` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`Modifier.bl_rna_get_subclass` + - :class:`Modifier.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WoodTexture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WoodTexture.rst new file mode 100644 index 0000000..d9c02b4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WoodTexture.rst @@ -0,0 +1,233 @@ +WoodTexture(Texture) +==================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID`, :class:`Texture` + +.. class:: WoodTexture(Texture) + + Procedural noise texture + + .. attribute:: nabla + + Size of derivative offset used for calculating normal (in [0.001, 0.1], default 0.025) + + :type: float + + .. attribute:: noise_basis + + Noise basis used for turbulence (default ``'BLENDER_ORIGINAL'``) + + - ``BLENDER_ORIGINAL`` + Blender Original -- Noise algorithm - Blender original: Smooth interpolated noise. + - ``ORIGINAL_PERLIN`` + Original Perlin -- Noise algorithm - Original Perlin: Smooth interpolated noise. + - ``IMPROVED_PERLIN`` + Improved Perlin -- Noise algorithm - Improved Perlin: Smooth interpolated noise. + - ``VORONOI_F1`` + Voronoi F1 -- Noise algorithm - Voronoi F1: Returns distance to the closest feature point. + - ``VORONOI_F2`` + Voronoi F2 -- Noise algorithm - Voronoi F2: Returns distance to the 2nd closest feature point. + - ``VORONOI_F3`` + Voronoi F3 -- Noise algorithm - Voronoi F3: Returns distance to the 3rd closest feature point. + - ``VORONOI_F4`` + Voronoi F4 -- Noise algorithm - Voronoi F4: Returns distance to the 4th closest feature point. + - ``VORONOI_F2_F1`` + Voronoi F2-F1 -- Noise algorithm - Voronoi F1-F2. + - ``VORONOI_CRACKLE`` + Voronoi Crackle -- Noise algorithm - Voronoi Crackle: Voronoi tessellation with sharp edges. + - ``CELL_NOISE`` + Cell Noise -- Noise algorithm - Cell Noise: Square cell tessellation. + + :type: Literal['BLENDER_ORIGINAL', 'ORIGINAL_PERLIN', 'IMPROVED_PERLIN', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2_F1', 'VORONOI_CRACKLE', 'CELL_NOISE'] + + .. attribute:: noise_basis_2 + + (default ``'SIN'``) + + - ``SIN`` + Sine -- Use a sine wave to produce bands. + - ``SAW`` + Saw -- Use a saw wave to produce bands. + - ``TRI`` + Tri -- Use a triangle wave to produce bands. + + :type: Literal['SIN', 'SAW', 'TRI'] + + .. attribute:: noise_scale + + Scaling for noise input (in [0.0001, inf], default 0.25) + + :type: float + + .. attribute:: noise_type + + (default ``'SOFT_NOISE'``) + + - ``SOFT_NOISE`` + Soft -- Generate soft noise (smooth transitions). + - ``HARD_NOISE`` + Hard -- Generate hard noise (sharp transitions). + + :type: Literal['SOFT_NOISE', 'HARD_NOISE'] + + .. attribute:: turbulence + + Turbulence of the bandnoise and ringnoise types (in [0.0001, inf], default 5.0) + + :type: float + + .. attribute:: wood_type + + (default ``'BANDS'``) + + - ``BANDS`` + Bands -- Use standard wood texture in bands. + - ``RINGS`` + Rings -- Use wood texture in rings. + - ``BANDNOISE`` + Band Noise -- Add noise to standard wood. + - ``RINGNOISE`` + Ring Noise -- Add noise to rings. + + :type: Literal['BANDS', 'RINGS', 'BANDNOISE', 'RINGNOISE'] + + .. data:: users_material + + Materials that use this texture + + :type: tuple[:class:`Material`, ...] + + .. note:: Takes ``O(len(bpy.data.materials) * len(material.texture_slots))`` time. + + (readonly) + + .. data:: users_object_modifier + + Object modifiers that use this texture + + :type: tuple[:class:`Object`, ...] + + .. note:: Takes ``O(len(bpy.data.objects) * len(obj.modifiers))`` time. + + (readonly) + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + - :class:`Texture.type` + - :class:`Texture.use_clamp` + - :class:`Texture.use_color_ramp` + - :class:`Texture.color_ramp` + - :class:`Texture.intensity` + - :class:`Texture.contrast` + - :class:`Texture.saturation` + - :class:`Texture.factor_red` + - :class:`Texture.factor_green` + - :class:`Texture.factor_blue` + - :class:`Texture.use_preview_alpha` + - :class:`Texture.use_nodes` + - :class:`Texture.node_tree` + - :class:`Texture.animation_data` + - :class:`Texture.users_material` + - :class:`Texture.users_object_modifier` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + - :class:`Texture.evaluate` + - :class:`Texture.bl_rna_get_subclass` + - :class:`Texture.bl_rna_get_subclass_py` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorkSpace.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorkSpace.rst new file mode 100644 index 0000000..2bba848 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorkSpace.rst @@ -0,0 +1,199 @@ +WorkSpace(ID) +============= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: WorkSpace(ID) + + Workspace data-block, defining the working environment for the user + + .. attribute:: active_addon + + Active Add-on in the Workspace Add-ons filter (in [-inf, inf], default 0) + + :type: int + + .. attribute:: asset_library_reference + + Active asset library to show in the UI, not used by the Asset Browser (which has its own active asset library) (default ``'ALL'``) + + - ``ALL`` + All Libraries -- Show assets from all of the listed asset libraries. + - ``LOCAL`` + Current File -- Show the assets currently available in this Blender session. + - ``ESSENTIALS`` + Essentials -- Show the basic building blocks and utilities coming with Blender. + - ``CUSTOM`` + Custom -- Show assets from the asset libraries configured in the Preferences. + + :type: Literal['ALL', 'LOCAL', 'ESSENTIALS', 'CUSTOM'] + + .. attribute:: object_mode + + Switch to this object mode when activating the workspace (default ``'OBJECT'``) + + :type: Literal[:ref:`rna_enum_workspace_object_mode_items`] + + .. data:: owner_ids + + (default None, readonly) + + :type: :class:`wmOwnerIDs`\ [:class:`wmOwnerID`] + + .. data:: screens + + Screen layouts of a workspace (default None, readonly) + + :type: :class:`bpy_prop_collection`\ [:class:`Screen`] + + .. attribute:: sequencer_scene + + :type: :class:`Scene` | None + + .. data:: tools + + (default None, readonly) + + :type: :class:`wmTools`\ [:class:`WorkSpaceTool`] + + .. attribute:: use_filter_by_owner + + Filter the UI by tags (default False) + + :type: bool + + .. attribute:: use_pin_scene + + Remember the last used scene for the workspace and switch to it whenever this workspace is activated again (default False) + + :type: bool + + .. attribute:: use_scene_time_sync + + Set the active scene and time based on the current scene strip (default False) + + :type: bool + + .. classmethod:: status_text_set_internal(text) + + Set the status bar text, typically key shortcuts for modal operators + + :param text: Text, New string for the status bar, None clears the text + :type text: str + + .. method:: status_text_set(text) + + Set the status text or None to clear, + When text is a function, this will be called with the (header, context) arguments. + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`BlendData.workspaces` + - :class:`Context.workspace` + - :class:`Window.workspace` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorkSpaceTool.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorkSpaceTool.rst new file mode 100644 index 0000000..7f0ecc1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorkSpaceTool.rst @@ -0,0 +1,196 @@ +WorkSpaceTool(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: WorkSpaceTool(bpy_struct) + + + .. data:: brush_type + + If the tool uses brushes and is limited to a specific brush type, the identifier of the brush type (default ``'DEFAULT'``, readonly) + + :type: Literal['DEFAULT'] + + .. data:: has_datablock + + (default False, readonly) + + :type: bool + + .. attribute:: idname + + (default "", never None) + + :type: str + + .. attribute:: idname_fallback + + (default "", never None) + + :type: str + + .. data:: index + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: mode + + (default ``'DEFAULT'``, readonly) + + :type: Literal['DEFAULT'] + + .. data:: space_type + + (default ``'EMPTY'``, readonly) + + :type: Literal[:ref:`rna_enum_space_type_items`] + + .. data:: use_brushes + + (default False, readonly) + + :type: bool + + .. data:: use_paint_canvas + + Does this tool use a painting canvas (default False, readonly) + + :type: bool + + .. data:: widget + + (default "", readonly, never None) + + :type: str + + .. method:: setup(idname, *, cursor='DEFAULT', keymap="", gizmo_group="", brush_type='', data_block="", operator="", index=0, options=set(), idname_fallback="", keymap_fallback="") + + Set the tool settings + + :param idname: Identifier, (never None) + :type idname: str + :param cursor: cursor, (optional) + :type cursor: Literal[:ref:`rna_enum_window_cursor_items`] + :param keymap: Key Map, (optional, never None) + :type keymap: str + :param gizmo_group: Gizmo Group, (optional, never None) + :type gizmo_group: str + :param brush_type: Brush Type, Limit this tool to a specific type of brush (optional) + :type brush_type: str + :param data_block: Data Block, (optional, never None) + :type data_block: str + :param operator: Operator, (optional, never None) + :type operator: str + :param index: Index, (in [-inf, inf], optional) + :type index: int + :param options: Tool Options, (optional) + + - ``KEYMAP_FALLBACK`` + Fallback. + - ``USE_BRUSHES`` + Uses Brushes -- Allow this tool to use brushes via the asset system. + :type options: set[Literal['KEYMAP_FALLBACK', 'USE_BRUSHES']] + :param idname_fallback: Fallback Identifier, (optional, never None) + :type idname_fallback: str + :param keymap_fallback: Fallback Key Map, (optional, never None) + :type keymap_fallback: str + + .. method:: operator_properties(operator) + + operator_properties + + :param operator: (never None) + :type operator: str + :return: (never None) + :rtype: :class:`OperatorProperties` + + .. method:: gizmo_group_properties(group) + + gizmo_group_properties + + :param group: (never None) + :type group: str + :return: (never None) + :rtype: :class:`GizmoGroupProperties` + + .. method:: refresh_from_context() + + refresh_from_context + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WorkSpace.tools` + - :class:`wmTools.from_space_image_mode` + - :class:`wmTools.from_space_node` + - :class:`wmTools.from_space_sequencer` + - :class:`wmTools.from_space_view3d_mode` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.World.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.World.rst new file mode 100644 index 0000000..da6a752 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.World.rst @@ -0,0 +1,231 @@ +World(ID) +========= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_struct`, :class:`ID` + +.. class:: World(ID) + + World data-block describing the environment and ambient lighting of a scene + + .. data:: animation_data + + Animation data for this data-block (readonly) + + :type: :class:`AnimData` | None + + .. attribute:: color + + Color of the background (array of 3 items, in [0, inf], default (0.05, 0.05, 0.05)) + + :type: :class:`mathutils.Color` + + .. data:: light_settings + + World lighting settings (readonly, never None) + + :type: :class:`WorldLighting` + + .. attribute:: lightgroup + + Lightgroup that the world belongs to (default "", never None) + + :type: str + + .. data:: mist_settings + + World mist settings (readonly, never None) + + :type: :class:`WorldMistSettings` + + .. data:: node_tree + + Node tree for node based worlds (readonly) + + :type: :class:`NodeTree` | None + + .. attribute:: probe_resolution + + Resolution when baked to a texture (default ``'1024'``) + + :type: Literal['128', '256', '512', '1024', '2048', '4096'] + + .. attribute:: sun_angle + + Angular diameter of the Sun as seen from the Earth (in [0, 3.14159], default 0.00918043) + + :type: float + + .. attribute:: sun_shadow_filter_radius + + Blur shadow aliasing using Percentage Closer Filtering (in [0, inf], default 1.0) + + :type: float + + .. attribute:: sun_shadow_jitter_overblur + + Apply shadow tracing to each jittered sample to reduce under-sampling artifacts (in [0, 100], default 10.0) + + :type: float + + .. attribute:: sun_shadow_maximum_resolution + + Maximum size of a shadow map pixel. Higher values use less memory at the cost of shadow quality. (in [0, inf], default 0.001) + + :type: float + + .. attribute:: sun_threshold + + If non-zero, the maximum value for world contribution that will be recorded inside the world light probe. The excess contribution is converted to a sun light. This reduces the light bleeding caused by very bright light sources. (in [0, inf], default 10.0) + + :type: float + + .. attribute:: use_eevee_finite_volume + + The world's volume used to be rendered by EEVEE Legacy. Conversion is needed for it to render properly. (default False) + + :type: bool + + .. attribute:: use_nodes + + Use shader nodes to render the world (default False) + + .. deprecated:: 5.0 removal planned in version 6.0 + + Unused but kept for compatibility reasons. Setting the property has no effect, and getting it always returns True. + + :type: bool + + .. attribute:: use_sun_shadow + + Enable sun shadow casting (default True) + + :type: bool + + .. attribute:: use_sun_shadow_jitter + + Enable jittered soft shadows to increase shadow precision (disabled in viewport unless enabled in the render settings). Has a high performance impact. (default False) + + :type: bool + + .. method:: inline_shader_nodes() + + Get the inlined shader nodes of this world. This preprocesses the node tree + to remove nested groups, repeat zones and more. + + :return: The inlined shader nodes. + :rtype: :class:`bpy.types.InlineShaderNodes` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + - :class:`ID.name` + - :class:`ID.name_full` + - :class:`ID.id_type` + - :class:`ID.session_uid` + - :class:`ID.is_evaluated` + - :class:`ID.original` + - :class:`ID.users` + - :class:`ID.use_fake_user` + - :class:`ID.use_extra_user` + - :class:`ID.is_embedded_data` + - :class:`ID.is_linked_packed` + - :class:`ID.is_missing` + - :class:`ID.is_runtime_data` + - :class:`ID.is_editable` + - :class:`ID.tag` + - :class:`ID.is_library_indirect` + - :class:`ID.library` + - :class:`ID.library_weak_reference` + - :class:`ID.asset_data` + - :class:`ID.override_library` + - :class:`ID.preview` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + - :class:`ID.bl_system_properties_get` + - :class:`ID.rename` + - :class:`ID.evaluated_get` + - :class:`ID.copy` + - :class:`ID.asset_mark` + - :class:`ID.asset_clear` + - :class:`ID.asset_generate_preview` + - :class:`ID.override_create` + - :class:`ID.override_hierarchy_create` + - :class:`ID.user_clear` + - :class:`ID.user_remap` + - :class:`ID.make_local` + - :class:`ID.user_of_id` + - :class:`ID.animation_data_create` + - :class:`ID.animation_data_clear` + - :class:`ID.update_tag` + - :class:`ID.preview_ensure` + - :class:`ID.bl_rna_get_subclass` + - :class:`ID.bl_rna_get_subclass_py` + +References +---------- + +.. hlist:: + :columns: 2 + + - :mod:`bpy.context.world` + - :class:`BlendData.worlds` + - :class:`BlendDataWorlds.new` + - :class:`BlendDataWorlds.remove` + - :class:`Scene.world` + - :class:`ViewLayer.world_override` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorldLighting.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorldLighting.rst new file mode 100644 index 0000000..3497fa9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorldLighting.rst @@ -0,0 +1,90 @@ +WorldLighting(bpy_struct) +========================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: WorldLighting(bpy_struct) + + Lighting for a World data-block + + .. attribute:: ao_factor + + Factor for ambient occlusion blending (in [0, inf], default 1.0) + + :type: float + + .. attribute:: distance + + Length of rays, defines how far away other faces give occlusion effect (in [0, inf], default 10.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`World.light_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorldMistSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorldMistSettings.rst new file mode 100644 index 0000000..8e9d69c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.WorldMistSettings.rst @@ -0,0 +1,121 @@ +WorldMistSettings(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: WorldMistSettings(bpy_struct) + + Mist settings for a World data-block + + .. attribute:: depth + + Distance over which the mist effect fades in (in [0, inf], default 25.0) + + :type: float + + .. attribute:: falloff + + Type of transition used to fade mist (default ``'QUADRATIC'``) + + - ``QUADRATIC`` + Quadratic -- Use quadratic progression. + - ``LINEAR`` + Linear -- Use linear progression. + - ``INVERSE_QUADRATIC`` + Inverse Quadratic -- Use inverse quadratic progression. + + :type: Literal['QUADRATIC', 'LINEAR', 'INVERSE_QUADRATIC'] + + .. attribute:: height + + Control how much mist density decreases with height (in [0, 100], default 0.0) + + :type: float + + .. attribute:: intensity + + Overall minimum intensity of the mist effect (in [0, 1], default 0.0) + + :type: float + + .. attribute:: start + + Starting distance of the mist, measured from the camera (in [0, inf], default 5.0) + + :type: float + + .. attribute:: use_mist + + Occlude objects with the environment color as they are further away (default False) + + :type: bool + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`World.mist_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMap.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMap.rst new file mode 100644 index 0000000..7f6274d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMap.rst @@ -0,0 +1,103 @@ +XrActionMap(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: XrActionMap(bpy_struct) + + + .. data:: actionmap_items + + Items in the action map, mapping an XR event to an operator, pose, or haptic output (default None, readonly) + + :type: :class:`XrActionMapItems`\ [:class:`XrActionMapItem`] + + .. attribute:: name + + Name of the action map (default "", never None) + + :type: str + + .. attribute:: selected_item + + (in [-32768, 32767], default 0) + + :type: int + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`XrActionMaps.find` + - :class:`XrActionMaps.new` + - :class:`XrActionMaps.new_from_actionmap` + - :class:`XrActionMaps.new_from_actionmap` + - :class:`XrActionMaps.remove` + - :class:`XrSessionState.action_binding_create` + - :class:`XrSessionState.action_create` + - :class:`XrSessionState.action_set_create` + - :class:`XrSessionState.actionmaps` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapBinding.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapBinding.rst new file mode 100644 index 0000000..926265f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapBinding.rst @@ -0,0 +1,146 @@ +XrActionMapBinding(bpy_struct) +============================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: XrActionMapBinding(bpy_struct) + + Binding in an XR action map item + + .. attribute:: axis0_region + + Action execution region for the first input axis (default ``'ANY'``) + + - ``ANY`` + Any -- Use any axis region for operator execution. + - ``POSITIVE`` + Positive -- Use positive axis region only for operator execution. + - ``NEGATIVE`` + Negative -- Use negative axis region only for operator execution. + + :type: Literal['ANY', 'POSITIVE', 'NEGATIVE'] + + .. attribute:: axis1_region + + Action execution region for the second input axis (default ``'ANY'``) + + - ``ANY`` + Any -- Use any axis region for operator execution. + - ``POSITIVE`` + Positive -- Use positive axis region only for operator execution. + - ``NEGATIVE`` + Negative -- Use negative axis region only for operator execution. + + :type: Literal['ANY', 'POSITIVE', 'NEGATIVE'] + + .. data:: component_paths + + OpenXR component paths (default None, readonly) + + :type: :class:`XrComponentPaths`\ [:class:`XrComponentPath`] + + .. attribute:: name + + Name of the action map binding (default "", never None) + + :type: str + + .. attribute:: pose_location + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: pose_rotation + + (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Euler` + + .. attribute:: profile + + OpenXR interaction profile path (default "", never None) + + :type: str + + .. attribute:: threshold + + Input threshold for button/axis actions (in [0, 1], default 0.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`XrActionMapBindings.find` + - :class:`XrActionMapBindings.new` + - :class:`XrActionMapBindings.new_from_binding` + - :class:`XrActionMapBindings.new_from_binding` + - :class:`XrActionMapBindings.remove` + - :class:`XrActionMapItem.bindings` + - :class:`XrSessionState.action_binding_create` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapBindings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapBindings.rst new file mode 100644 index 0000000..d98c70f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapBindings.rst @@ -0,0 +1,114 @@ +XrActionMapBindings(bpy_prop_collection) +======================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: XrActionMapBindings(bpy_prop_collection) + + Collection of XR action map bindings + + .. method:: new(name, replace_existing) + + new + + :param name: Name of the action map binding, (never None) + :type name: str + :param replace_existing: Replace Existing, Replace any existing binding with the same name + :type replace_existing: bool + :return: Binding, Added action map binding + :rtype: :class:`XrActionMapBinding` + + .. method:: new_from_binding(binding) + + new_from_binding + + :param binding: Binding, Binding to use as a reference (never None) + :type binding: :class:`XrActionMapBinding` | None + :return: Binding, Added action map binding + :rtype: :class:`XrActionMapBinding` + + .. method:: remove(binding) + + remove + + :param binding: Binding, (never None) + :type binding: :class:`XrActionMapBinding` | None + + .. method:: find(name) + + find + + :param name: Name, (never None) + :type name: str + :return: Binding, The action map binding with the given name + :rtype: :class:`XrActionMapBinding` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`XrActionMapItem.bindings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapItem.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapItem.rst new file mode 100644 index 0000000..d529927 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapItem.rst @@ -0,0 +1,217 @@ +XrActionMapItem(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: XrActionMapItem(bpy_struct) + + + .. attribute:: bimanual + + The action depends on the states/poses of both user paths (default False) + + :type: bool + + .. data:: bindings + + Bindings for the action map item, mapping the action to an XR input (default None, readonly) + + :type: :class:`XrActionMapBindings`\ [:class:`XrActionMapBinding`] + + .. attribute:: haptic_amplitude + + Intensity of the haptic vibration, ranging from 0.0 to 1.0 (in [0, 1], default 0.0) + + :type: float + + .. attribute:: haptic_duration + + Haptic duration in seconds. 0.0 is the minimum supported duration. (in [0, inf], default 0.0) + + :type: float + + .. attribute:: haptic_frequency + + Frequency of the haptic vibration in hertz. 0.0 specifies the OpenXR runtime's default frequency. (in [0, inf], default 0.0) + + :type: float + + .. attribute:: haptic_match_user_paths + + Apply haptics to the same user paths for the haptic action and this action (default False) + + :type: bool + + .. attribute:: haptic_mode + + Haptic application mode (default ``'PRESS'``) + + - ``PRESS`` + Press -- Apply haptics on button press. + - ``RELEASE`` + Release -- Apply haptics on button release. + - ``PRESS_RELEASE`` + Press Release -- Apply haptics on button press and release. + - ``REPEAT`` + Repeat -- Apply haptics repeatedly for the duration of the button press. + + :type: Literal['PRESS', 'RELEASE', 'PRESS_RELEASE', 'REPEAT'] + + .. attribute:: haptic_name + + Name of the haptic action to apply when executing this action (default "", never None) + + :type: str + + .. attribute:: name + + Name of the action map item (default "", never None) + + :type: str + + .. attribute:: op + + Identifier of operator to call on action event (default "", never None) + + :type: str + + .. attribute:: op_mode + + Operator execution mode (default ``'PRESS'``) + + - ``PRESS`` + Press -- Execute operator on button press (non-modal operators only). + - ``RELEASE`` + Release -- Execute operator on button release (non-modal operators only). + - ``MODAL`` + Modal -- Use modal execution (modal operators only). + + :type: Literal['PRESS', 'RELEASE', 'MODAL'] + + .. data:: op_name + + Name of operator (translated) to call on action event (default "", readonly, never None) + + :type: str + + .. data:: op_properties + + Properties to set when the operator is called (readonly) + + :type: :class:`OperatorProperties` | None + + .. attribute:: pose_is_controller_aim + + The action poses will be used for the VR controller aims (default False) + + :type: bool + + .. attribute:: pose_is_controller_grip + + The action poses will be used for the VR controller grips (default False) + + :type: bool + + .. attribute:: selected_binding + + Currently selected binding (in [-32768, 32767], default 0) + + :type: int + + .. attribute:: type + + Action type (default ``'FLOAT'``) + + - ``FLOAT`` + Float -- Float action, representing either a digital or analog button. + - ``VECTOR2D`` + Vector2D -- 2D float vector action, representing a thumbstick or trackpad. + - ``POSE`` + Pose -- 3D pose action, representing a controller's location and rotation. + - ``VIBRATION`` + Vibration -- Haptic vibration output action, to be applied with a duration, frequency, and amplitude. + + :type: Literal['FLOAT', 'VECTOR2D', 'POSE', 'VIBRATION'] + + .. data:: user_paths + + OpenXR user paths (default None, readonly) + + :type: :class:`XrUserPaths`\ [:class:`XrUserPath`] + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`XrActionMap.actionmap_items` + - :class:`XrActionMapItems.find` + - :class:`XrActionMapItems.new` + - :class:`XrActionMapItems.new_from_item` + - :class:`XrActionMapItems.new_from_item` + - :class:`XrActionMapItems.remove` + - :class:`XrSessionState.action_binding_create` + - :class:`XrSessionState.action_create` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapItems.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapItems.rst new file mode 100644 index 0000000..a9e3dd5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMapItems.rst @@ -0,0 +1,114 @@ +XrActionMapItems(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: XrActionMapItems(bpy_prop_collection) + + Collection of XR action map items + + .. method:: new(name, replace_existing) + + new + + :param name: Name of the action map item, (never None) + :type name: str + :param replace_existing: Replace Existing, Replace any existing item with the same name + :type replace_existing: bool + :return: Item, Added action map item + :rtype: :class:`XrActionMapItem` + + .. method:: new_from_item(item) + + new_from_item + + :param item: Item, Item to use as a reference (never None) + :type item: :class:`XrActionMapItem` | None + :return: Item, Added action map item + :rtype: :class:`XrActionMapItem` + + .. method:: remove(item) + + remove + + :param item: Item, (never None) + :type item: :class:`XrActionMapItem` | None + + .. method:: find(name) + + find + + :param name: Name, (never None) + :type name: str + :return: Item, The action map item with the given name + :rtype: :class:`XrActionMapItem` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`XrActionMap.actionmap_items` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMaps.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMaps.rst new file mode 100644 index 0000000..54ea49e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrActionMaps.rst @@ -0,0 +1,122 @@ +XrActionMaps(bpy_prop_collection) +================================= + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: XrActionMaps(bpy_prop_collection) + + Collection of XR action maps + + .. classmethod:: new(xr_session_state, name, replace_existing) + + new + + :param xr_session_state: XR Session State, (never None) + :type xr_session_state: :class:`XrSessionState` | None + :param name: Name, (never None) + :type name: str + :param replace_existing: Replace Existing, Replace any existing actionmap with the same name + :type replace_existing: bool + :return: Action Map, Added action map + :rtype: :class:`XrActionMap` + + .. classmethod:: new_from_actionmap(xr_session_state, actionmap) + + new_from_actionmap + + :param xr_session_state: XR Session State, (never None) + :type xr_session_state: :class:`XrSessionState` | None + :param actionmap: Action Map, Action map to use as a reference (never None) + :type actionmap: :class:`XrActionMap` | None + :return: Action Map, Added action map + :rtype: :class:`XrActionMap` + + .. classmethod:: remove(xr_session_state, actionmap) + + remove + + :param xr_session_state: XR Session State, (never None) + :type xr_session_state: :class:`XrSessionState` | None + :param actionmap: Action Map, Removed action map (never None) + :type actionmap: :class:`XrActionMap` | None + + .. classmethod:: find(xr_session_state, name) + + find + + :param xr_session_state: XR Session State, (never None) + :type xr_session_state: :class:`XrSessionState` | None + :param name: Name, (never None) + :type name: str + :return: Action Map, The action map with the given name + :rtype: :class:`XrActionMap` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`XrSessionState.actionmaps` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrComponentPath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrComponentPath.rst new file mode 100644 index 0000000..b802bfb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrComponentPath.rst @@ -0,0 +1,86 @@ +XrComponentPath(bpy_struct) +=========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: XrComponentPath(bpy_struct) + + + .. attribute:: path + + OpenXR component path (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`XrActionMapBinding.component_paths` + - :class:`XrComponentPaths.find` + - :class:`XrComponentPaths.new` + - :class:`XrComponentPaths.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrComponentPaths.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrComponentPaths.rst new file mode 100644 index 0000000..9995112 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrComponentPaths.rst @@ -0,0 +1,103 @@ +XrComponentPaths(bpy_prop_collection) +===================================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: XrComponentPaths(bpy_prop_collection) + + Collection of OpenXR component paths + + .. method:: new(path) + + new + + :param path: Path, OpenXR component path (never None) + :type path: str + :return: Component Path, Added component path + :rtype: :class:`XrComponentPath` + + .. method:: remove(component_path) + + remove + + :param component_path: Component Path, (never None) + :type component_path: :class:`XrComponentPath` | None + + .. method:: find(path) + + find + + :param path: Path, OpenXR component path (never None) + :type path: str + :return: Component Path, The component path with the given path + :rtype: :class:`XrComponentPath` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`XrActionMapBinding.component_paths` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrEventData.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrEventData.rst new file mode 100644 index 0000000..a1b0d24 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrEventData.rst @@ -0,0 +1,165 @@ +XrEventData(bpy_struct) +======================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: XrEventData(bpy_struct) + + XR Data for Window Manager Event + + .. data:: action + + XR action name (default "", readonly, never None) + + :type: str + + .. data:: action_set + + XR action set name (default "", readonly, never None) + + :type: str + + .. data:: bimanual + + Whether bimanual interaction is occurring (default False, readonly) + + :type: bool + + .. data:: controller_location + + Location of the action's corresponding controller aim in world space (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. data:: controller_location_other + + Controller aim location of the other user path for bimanual actions (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. data:: controller_rotation + + Rotation of the action's corresponding controller aim in world space (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Quaternion` + + .. data:: controller_rotation_other + + Controller aim rotation of the other user path for bimanual actions (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Quaternion` + + .. data:: float_threshold + + Input threshold for float/2D vector actions (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. data:: state + + XR action values corresponding to type (array of 2 items, in [-inf, inf], default (0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: state_other + + State of the other user path for bimanual actions (array of 2 items, in [-inf, inf], default (0.0, 0.0), readonly) + + :type: :class:`bpy_prop_array`\ [float] + + .. data:: type + + XR action type (default ``'FLOAT'``, readonly) + + - ``FLOAT`` + Float -- Float action, representing either a digital or analog button. + - ``VECTOR2D`` + Vector2D -- 2D float vector action, representing a thumbstick or trackpad. + - ``POSE`` + Pose -- 3D pose action, representing a controller's location and rotation. + - ``VIBRATION`` + Vibration -- Haptic vibration output action, to be applied with a duration, frequency, and amplitude. + + :type: Literal['FLOAT', 'VECTOR2D', 'POSE', 'VIBRATION'] + + .. data:: user_path + + User path of the action. E.g. "/user/hand/left" (default "", readonly, never None) + + :type: str + + .. data:: user_path_other + + Other user path, for bimanual actions. E.g. "/user/hand/right" (default "", readonly, never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`Event.xr` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrNavigation.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrNavigation.rst new file mode 100644 index 0000000..97afc47 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrNavigation.rst @@ -0,0 +1,108 @@ +XrNavigation(bpy_struct) +======================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: XrNavigation(bpy_struct) + + VR navigation settings + + .. attribute:: invert_rotation + + Reverses the direction of rotation input (default False) + + :type: bool + + .. attribute:: snap_turn + + Instantly rotates the camera by a fixed angle instead of smoothly turning (default True) + + :type: bool + + .. attribute:: turn_amount + + Amount in degrees per turn when using snap turn (in [0, 6.28319], default 0.523599) + + :type: float + + .. attribute:: turn_speed + + Turn speed in degrees per second (in [0, inf], default 1.0472) + + :type: float + + .. attribute:: vignette_intensity + + Intensity of vignette that appears when moving (in [0, 100], default 70.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`PreferencesInput.xr_navigation` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrSessionSettings.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrSessionSettings.rst new file mode 100644 index 0000000..3d4f1d4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrSessionSettings.rst @@ -0,0 +1,411 @@ +XrSessionSettings(bpy_struct) +============================= + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: XrSessionSettings(bpy_struct) + + + .. attribute:: base_pose_angle + + Rotation angle around the Z-Axis to apply the rotation deltas from the VR headset to (in [-inf, inf], default 0.0) + + :type: float + + .. attribute:: base_pose_location + + Coordinates to apply translation deltas from the VR headset to (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: base_pose_object + + Object to take the location and rotation to which translation and rotation deltas from the VR headset will be applied to + + :type: :class:`Object` | None + + .. attribute:: base_pose_type + + Define where the location and rotation for the VR view come from, to which translation and rotation deltas from the VR headset will be applied to (default ``'SCENE_CAMERA'``) + + - ``SCENE_CAMERA`` + Scene Camera -- Follow the active scene camera to define the VR view's base pose. + - ``OBJECT`` + Object -- Follow the transformation of an object to define the VR view's base pose. + - ``CUSTOM`` + Custom -- Follow a custom transformation to define the VR view's base pose. + + :type: Literal['SCENE_CAMERA', 'OBJECT', 'CUSTOM'] + + .. attribute:: base_scale + + Uniform scale to apply to VR view (in [1e-06, inf], default 1.0) + + :type: float + + .. attribute:: clip_end + + VR viewport far clipping distance (in [1e-06, inf], default 0.0) + + :type: float + + .. attribute:: clip_start + + VR viewport near clipping distance (in [1e-06, inf], default 0.0) + + :type: float + + .. attribute:: controller_draw_style + + Style to use when drawing VR controllers (default ``'DARK'``) + + - ``DARK`` + Dark -- Draw dark controller. + - ``LIGHT`` + Light -- Draw light controller. + - ``DARK_RAY`` + Dark + Ray -- Draw dark controller with aiming axis ray. + - ``LIGHT_RAY`` + Light + Ray -- Draw light controller with aiming axis ray. + + :type: Literal['DARK', 'LIGHT', 'DARK_RAY', 'LIGHT_RAY'] + + .. attribute:: fly_speed + + Fly speed in meters per second (in [1e-06, inf], default 0.0) + + :type: float + + .. data:: icon_from_show_object_viewport + + (in [-inf, inf], default 0, readonly) + + :type: int + + .. data:: shading + + (readonly, never None) + + :type: :class:`View3DShading` + + .. attribute:: show_annotation + + Show annotations for this view (default False) + + :type: bool + + .. attribute:: show_controllers + + Show VR controllers (requires VR actions for controller poses) (default False) + + :type: bool + + .. attribute:: show_custom_overlays + + Show custom VR overlays (default False) + + :type: bool + + .. attribute:: show_floor + + Show the ground plane grid (default False) + + :type: bool + + .. attribute:: show_object_extras + + Show object extras, including empties, lights, and cameras (default False) + + :type: bool + + .. attribute:: show_object_select_armature + + Allow selection of armatures (default True) + + :type: bool + + .. attribute:: show_object_select_camera + + Allow selection of cameras (default True) + + :type: bool + + .. attribute:: show_object_select_curve + + Allow selection of curves (default True) + + :type: bool + + .. attribute:: show_object_select_curves + + Allow selection of hair curves (default True) + + :type: bool + + .. attribute:: show_object_select_empty + + Allow selection of empties (default True) + + :type: bool + + .. attribute:: show_object_select_font + + Allow selection of text objects (default True) + + :type: bool + + .. attribute:: show_object_select_grease_pencil + + Allow selection of Grease Pencil objects (default True) + + :type: bool + + .. attribute:: show_object_select_lattice + + Allow selection of lattices (default True) + + :type: bool + + .. attribute:: show_object_select_light + + Allow selection of lights (default True) + + :type: bool + + .. attribute:: show_object_select_light_probe + + Allow selection of light probes (default True) + + :type: bool + + .. attribute:: show_object_select_mesh + + Allow selection of mesh objects (default True) + + :type: bool + + .. attribute:: show_object_select_meta + + Allow selection of metaballs (default True) + + :type: bool + + .. attribute:: show_object_select_pointcloud + + Allow selection of point clouds (default True) + + :type: bool + + .. attribute:: show_object_select_speaker + + Allow selection of speakers (default True) + + :type: bool + + .. attribute:: show_object_select_surf + + Allow selection of surfaces (default True) + + :type: bool + + .. attribute:: show_object_select_volume + + Allow selection of volumes (default True) + + :type: bool + + .. attribute:: show_object_viewport_armature + + Show armatures (default True) + + :type: bool + + .. attribute:: show_object_viewport_camera + + Show cameras (default True) + + :type: bool + + .. attribute:: show_object_viewport_curve + + Show curves (default True) + + :type: bool + + .. attribute:: show_object_viewport_curves + + Show hair curves (default True) + + :type: bool + + .. attribute:: show_object_viewport_empty + + Show empties (default True) + + :type: bool + + .. attribute:: show_object_viewport_font + + Show text objects (default True) + + :type: bool + + .. attribute:: show_object_viewport_grease_pencil + + Show Grease Pencil objects (default True) + + :type: bool + + .. attribute:: show_object_viewport_lattice + + Show lattices (default True) + + :type: bool + + .. attribute:: show_object_viewport_light + + Show lights (default True) + + :type: bool + + .. attribute:: show_object_viewport_light_probe + + Show light probes (default True) + + :type: bool + + .. attribute:: show_object_viewport_mesh + + Show mesh objects (default True) + + :type: bool + + .. attribute:: show_object_viewport_meta + + Show metaballs (default True) + + :type: bool + + .. attribute:: show_object_viewport_pointcloud + + Show point clouds (default True) + + :type: bool + + .. attribute:: show_object_viewport_speaker + + Show speakers (default True) + + :type: bool + + .. attribute:: show_object_viewport_surf + + Show surfaces (default True) + + :type: bool + + .. attribute:: show_object_viewport_volume + + Show volumes (default True) + + :type: bool + + .. attribute:: show_passthrough + + Show the passthrough view (default False) + + :type: bool + + .. attribute:: show_selection + + Show selection outlines (default False) + + :type: bool + + .. attribute:: use_absolute_tracking + + Allow the VR tracking origin to be defined independently of the headset location (default False) + + :type: bool + + .. attribute:: use_positional_tracking + + Allow VR headsets to affect the location in virtual space, in addition to the rotation (default False) + + :type: bool + + .. attribute:: view_scale + + Scaling factor applied on top of scene scale for adjustments to the VR view. When possible, prefer modifying the scene scale instead (in [1e-06, inf], default 1.0) + + :type: float + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WindowManager.xr_session_settings` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrSessionState.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrSessionState.rst new file mode 100644 index 0000000..efa2903 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrSessionState.rst @@ -0,0 +1,304 @@ +XrSessionState(bpy_struct) +========================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: XrSessionState(bpy_struct) + + Runtime state information about the VR session + + .. data:: actionmaps + + (default None, readonly) + + :type: :class:`XrActionMaps`\ [:class:`XrActionMap`] + + .. attribute:: active_actionmap + + (in [-inf, inf], default 0) + + :type: int + + .. attribute:: navigation_location + + Location offset to apply to base pose when determining viewer location (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Vector` + + .. attribute:: navigation_rotation + + Rotation offset to apply to base pose when determining viewer rotation (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)) + + :type: :class:`mathutils.Quaternion` + + .. data:: navigation_scale + + Additional scale multiplier to apply to base scale when determining viewer scale (in [-inf, inf], default 0.0, readonly) + + :type: float + + .. attribute:: selected_actionmap + + (in [-inf, inf], default 0) + + :type: int + + .. data:: viewer_pose_location + + Last known location of the viewer pose (center between the eyes) in world space (array of 3 items, in [-inf, inf], default (0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Vector` + + .. data:: viewer_pose_rotation + + Last known rotation of the viewer pose (center between the eyes) in world space (array of 4 items, in [-inf, inf], default (0.0, 0.0, 0.0, 0.0), readonly) + + :type: :class:`mathutils.Quaternion` + + .. classmethod:: is_running(context) + + Query if the VR session is currently running + + :param context: (never None) + :type context: :class:`Context` | None + :return: Result + :rtype: bool + + .. classmethod:: reset_to_base_pose(context) + + Force resetting of position and rotation deltas + + :param context: (never None) + :type context: :class:`Context` | None + + .. classmethod:: action_set_create(context, actionmap) + + Create a VR action set + + :param context: (never None) + :type context: :class:`Context` | None + :param actionmap: (never None) + :type actionmap: :class:`XrActionMap` | None + :return: Result + :rtype: bool + + .. classmethod:: action_create(context, actionmap, actionmap_item) + + Create a VR action + + :param context: (never None) + :type context: :class:`Context` | None + :param actionmap: (never None) + :type actionmap: :class:`XrActionMap` | None + :param actionmap_item: (never None) + :type actionmap_item: :class:`XrActionMapItem` | None + :return: Result + :rtype: bool + + .. classmethod:: action_binding_create(context, actionmap, actionmap_item, actionmap_binding) + + Create a VR action binding + + :param context: (never None) + :type context: :class:`Context` | None + :param actionmap: (never None) + :type actionmap: :class:`XrActionMap` | None + :param actionmap_item: (never None) + :type actionmap_item: :class:`XrActionMapItem` | None + :param actionmap_binding: (never None) + :type actionmap_binding: :class:`XrActionMapBinding` | None + :return: Result + :rtype: bool + + .. classmethod:: active_action_set_set(context, action_set) + + Set the active VR action set + + :param context: (never None) + :type context: :class:`Context` | None + :param action_set: Action Set, Action set name (never None) + :type action_set: str + :return: Result + :rtype: bool + + .. classmethod:: controller_pose_actions_set(context, action_set, grip_action, aim_action) + + Set the actions that determine the VR controller poses + + :param context: (never None) + :type context: :class:`Context` | None + :param action_set: Action Set, Action set name (never None) + :type action_set: str + :param grip_action: Grip Action, Name of the action representing the controller grips (never None) + :type grip_action: str + :param aim_action: Aim Action, Name of the action representing the controller aims (never None) + :type aim_action: str + :return: Result + :rtype: bool + + .. classmethod:: action_state_get(context, action_set_name, action_name, user_path) + + Get the current state of a VR action + + :param context: (never None) + :type context: :class:`Context` | None + :param action_set_name: Action Set, Action set name (never None) + :type action_set_name: str + :param action_name: Action, Action name (never None) + :type action_name: str + :param user_path: User Path, OpenXR user path (never None) + :type user_path: str + :return: Action State, Current state of the VR action. Second float value is only set for 2D vector type actions. (array of 2 items, in [-inf, inf], never None) + :rtype: :class:`bpy_prop_array`\ [float] + + .. classmethod:: haptic_action_apply(context, action_set_name, action_name, user_path, duration, frequency, amplitude) + + Apply a VR haptic action + + :param context: (never None) + :type context: :class:`Context` | None + :param action_set_name: Action Set, Action set name (never None) + :type action_set_name: str + :param action_name: Action, Action name (never None) + :type action_name: str + :param user_path: User Path, Optional OpenXR user path. If not set, the action will be applied to all paths. (never None) + :type user_path: str + :param duration: Duration, Haptic duration in seconds. 0.0 is the minimum supported duration. (in [0, inf]) + :type duration: float + :param frequency: Frequency, Frequency of the haptic vibration in hertz. 0.0 specifies the OpenXR runtime's default frequency. (in [0, inf]) + :type frequency: float + :param amplitude: Amplitude, Haptic amplitude, ranging from 0.0 to 1.0 (in [0, 1]) + :type amplitude: float + :return: Result + :rtype: bool + + .. classmethod:: haptic_action_stop(context, action_set_name, action_name, user_path) + + Stop a VR haptic action + + :param context: (never None) + :type context: :class:`Context` | None + :param action_set_name: Action Set, Action set name (never None) + :type action_set_name: str + :param action_name: Action, Action name (never None) + :type action_name: str + :param user_path: User Path, Optional OpenXR user path. If not set, the action will be stopped for all paths. (never None) + :type user_path: str + + .. classmethod:: controller_grip_location_get(context, index) + + Get the last known controller grip location in world space + + :param context: (never None) + :type context: :class:`Context` | None + :param index: Index, Controller index (in [0, 255]) + :type index: int + :return: Location, Controller grip location (array of 3 items, in [-inf, inf], never None) + :rtype: :class:`mathutils.Vector` + + .. classmethod:: controller_grip_rotation_get(context, index) + + Get the last known controller grip rotation (quaternion) in world space + + :param context: (never None) + :type context: :class:`Context` | None + :param index: Index, Controller index (in [0, 255]) + :type index: int + :return: Rotation, Controller grip quaternion rotation (array of 4 items, in [-inf, inf], never None) + :rtype: :class:`mathutils.Quaternion` + + .. classmethod:: controller_aim_location_get(context, index) + + Get the last known controller aim location in world space + + :param context: (never None) + :type context: :class:`Context` | None + :param index: Index, Controller index (in [0, 255]) + :type index: int + :return: Location, Controller aim location (array of 3 items, in [-inf, inf], never None) + :rtype: :class:`mathutils.Vector` + + .. classmethod:: controller_aim_rotation_get(context, index) + + Get the last known controller aim rotation (quaternion) in world space + + :param context: (never None) + :type context: :class:`Context` | None + :param index: Index, Controller index (in [0, 255]) + :type index: int + :return: Rotation, Controller aim quaternion rotation (array of 4 items, in [-inf, inf], never None) + :rtype: :class:`mathutils.Quaternion` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WindowManager.xr_session_state` + - :class:`XrActionMaps.find` + - :class:`XrActionMaps.new` + - :class:`XrActionMaps.new_from_actionmap` + - :class:`XrActionMaps.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrUserPath.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrUserPath.rst new file mode 100644 index 0000000..a9c699c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrUserPath.rst @@ -0,0 +1,86 @@ +XrUserPath(bpy_struct) +====================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: XrUserPath(bpy_struct) + + + .. attribute:: path + + OpenXR user path (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`XrActionMapItem.user_paths` + - :class:`XrUserPaths.find` + - :class:`XrUserPaths.new` + - :class:`XrUserPaths.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrUserPaths.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrUserPaths.rst new file mode 100644 index 0000000..54c2dc2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.XrUserPaths.rst @@ -0,0 +1,103 @@ +XrUserPaths(bpy_prop_collection) +================================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: XrUserPaths(bpy_prop_collection) + + Collection of OpenXR user paths + + .. method:: new(path) + + new + + :param path: Path, OpenXR user path (never None) + :type path: str + :return: User Path, Added user path + :rtype: :class:`XrUserPath` + + .. method:: remove(user_path) + + remove + + :param user_path: User Path, (never None) + :type user_path: :class:`XrUserPath` | None + + .. method:: find(path) + + find + + :param path: Path, OpenXR user path (never None) + :type path: str + :return: User Path, The user path with the given path + :rtype: :class:`XrUserPath` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`XrActionMapItem.user_paths` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop.rst new file mode 100644 index 0000000..c0c403d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop.rst @@ -0,0 +1,66 @@ +bpy_prop +======== + +.. currentmodule:: bpy.types + +.. class:: bpy_prop + + built-in base class for all property classes. + + .. method:: as_bytes() + + Returns this string property as a byte rather than a Python string. + + :return: The string as bytes. + :rtype: bytes + + + .. method:: path_from_id() + + Returns the data path from the ID to this property (string). + + :return: The path from :class:`bpy.types.bpy_struct.id_data` to this property. + :rtype: str + + + .. method:: path_from_module() + + Returns the full data path to this struct (as a string) from the bpy module. + + :return: The full path to the data. + :rtype: str + + :raises ValueError: + if the input data cannot be converted into a full data path. + + .. note:: Even if all input data is correct, this function might + error out because Blender cannot derive a valid path. + The incomplete path will be printed in the error message. + + + .. method:: update() + + Execute the properties update callback. + + .. note:: + This is called when assigning a property, + however in rare cases it's useful to call explicitly. + + + .. attribute:: data + + The data this property is using, *type* :class:`bpy.types.bpy_struct` + + + .. attribute:: id_data + + The :class:`bpy.types.ID` object this data-block is from or None, (not available for all data types) (readonly) + + :type: :class:`bpy.types.ID` + + + .. attribute:: rna_type + + The property type for introspection. + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop_array.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop_array.rst new file mode 100644 index 0000000..06388e3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop_array.rst @@ -0,0 +1,21 @@ +bpy_prop_array +============== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop` + +.. class:: bpy_prop_array(bpy_prop) + + built-in class used for array properties. + + .. method:: foreach_get(seq) + + This is a function to give fast access to array data. + + + .. method:: foreach_set(seq) + + This is a function to give fast access to array data. + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop_collection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop_collection.rst new file mode 100644 index 0000000..035b9d4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop_collection.rst @@ -0,0 +1,87 @@ +bpy_prop_collection +=================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop` + +.. class:: bpy_prop_collection(bpy_prop) + + built-in class used for all collections. + + .. method:: find(key) + + Returns the index of a key in a collection or -1 when not found + (matches Python's string find function of the same name). + + :param key: The identifier for the collection member. + :type key: str + :return: index of the key. + :rtype: int + + + .. method:: foreach_get(attr, seq) + + This is a function to give fast access to attributes within a collection. + + + Only works for 'basic type' properties (bool, int and float)! + Multi-dimensional arrays (like array of vectors) will be flattened into seq. + + .. literalinclude:: ./examples/bpy.types.bpy_prop_collection.foreach_get.0.py + :lines: 5- + + + .. method:: foreach_set(attr, seq) + + This is a function to give fast access to attributes within a collection. + + + Only works for 'basic type' properties (bool, int and float)! + seq must be uni-dimensional, multi-dimensional arrays (like array of vectors) will be re-created from it. + + .. literalinclude:: ./examples/bpy.types.bpy_prop_collection.foreach_set.0.py + :lines: 5- + + + .. method:: get(key, default=None) + + Returns the value of the item assigned to key or default when not found + (matches Python's dictionary function of the same name). + + :param key: The identifier for the collection member. + :type key: str + :param default: Optional argument for the value to return if + *key* is not found. + :type default: Any + :return: The collection member or default. + :rtype: :class:`bpy_struct` + + + .. method:: items() + + Return the identifiers of collection members + (matching Python's dict.items() functionality). + + :return: (key, value) pairs for each member of this collection. + :rtype: list[tuple[str, :class:`bpy.types.bpy_struct`]] + + + .. method:: keys() + + Return the identifiers of collection members + (matching Python's dict.keys() functionality). + + :return: the identifiers for each member of this collection. + :rtype: list[str] + + + .. method:: values() + + Return the values of collection + (matching Python's dict.values() functionality). + + :return: The members of this collection. + :rtype: list[:class:`bpy.types.bpy_struct` | None] + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop_collection_idprop.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop_collection_idprop.rst new file mode 100644 index 0000000..72c5798 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_prop_collection_idprop.rst @@ -0,0 +1,42 @@ +bpy_prop_collection_idprop +========================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop_collection` + +.. class:: bpy_prop_collection_idprop(bpy_prop_collection) + + built-in class used for user defined collections. + + .. method:: add() + + This is a function to add a new item to a collection. + + :return: A newly created item. + :rtype: Any + + + .. method:: clear() + + This is a function to remove all items from a collection. + + + .. method:: move(src_index, dst_index) + + This is a function to move an item in a collection. + + :param src_index: Source item index. + :type src_index: int + :param dst_index: Destination item index. + :type dst_index: int + + + .. method:: remove(index) + + This is a function to remove an item from a collection. + + :param index: Index of the item to be removed. + :type index: int + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_struct.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_struct.rst new file mode 100644 index 0000000..7099881 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.bpy_struct.rst @@ -0,0 +1,366 @@ +bpy_struct +========== + +.. currentmodule:: bpy.types + +subclasses --- +:class:`AOV`, :class:`AOVs`, :class:`ActionChannelbag`, :class:`ActionChannelbagFCurves`, :class:`ActionChannelbagGroups`, :class:`ActionChannelbags`, :class:`ActionGroup`, :class:`ActionLayer`, :class:`ActionLayers`, :class:`ActionPoseMarkers`, :class:`ActionSlot`, :class:`ActionSlots`, :class:`ActionStrip`, :class:`ActionStrips`, :class:`Addon`, :class:`AddonPreferences`, :class:`Addons`, :class:`AnimData`, :class:`AnimDataDrivers`, :class:`AnimViz`, :class:`AnimVizMotionPaths`, :class:`AnnotationFrame`, :class:`AnnotationFrames`, :class:`AnnotationLayer`, :class:`AnnotationLayers`, :class:`AnnotationStroke`, :class:`AnnotationStrokePoint`, :class:`AnyType`, :class:`Area`, :class:`AreaSpaces`, :class:`ArmatureBones`, :class:`ArmatureConstraintTargets`, :class:`ArmatureEditBones`, :class:`AssetLibraryCollection`, :class:`AssetLibraryReference`, :class:`AssetMetaData`, :class:`AssetRepresentation`, :class:`AssetShelf`, :class:`AssetTag`, :class:`AssetTags`, :class:`AssetWeakReference`, :class:`Attribute`, :class:`AttributeGroupCurves`, :class:`AttributeGroupGreasePencil`, :class:`AttributeGroupGreasePencilDrawing`, :class:`AttributeGroupMesh`, :class:`AttributeGroupPointCloud`, :class:`BakeSettings`, :class:`BezierSplinePoint`, :class:`BlendData`, :class:`BlendDataActions`, :class:`BlendDataAnnotations`, :class:`BlendDataArmatures`, :class:`BlendDataBrushes`, :class:`BlendDataCacheFiles`, :class:`BlendDataCameras`, :class:`BlendDataCollections`, :class:`BlendDataCurves`, :class:`BlendDataFonts`, :class:`BlendDataGreasePencilsV3`, :class:`BlendDataHairCurves`, :class:`BlendDataImages`, :class:`BlendDataLattices`, :class:`BlendDataLibraries`, :class:`BlendDataLights`, :class:`BlendDataLineStyles`, :class:`BlendDataMasks`, :class:`BlendDataMaterials`, :class:`BlendDataMeshes`, :class:`BlendDataMetaBalls`, :class:`BlendDataMovieClips`, :class:`BlendDataNodeTrees`, :class:`BlendDataObjects`, :class:`BlendDataPaintCurves`, :class:`BlendDataPalettes`, :class:`BlendDataParticles`, :class:`BlendDataPointClouds`, :class:`BlendDataProbes`, :class:`BlendDataScenes`, :class:`BlendDataScreens`, :class:`BlendDataSounds`, :class:`BlendDataSpeakers`, :class:`BlendDataTexts`, :class:`BlendDataTextures`, :class:`BlendDataVolumes`, :class:`BlendDataWindowManagers`, :class:`BlendDataWorkSpaces`, :class:`BlendDataWorlds`, :class:`BlendFileColorspace`, :class:`BlendImportContext`, :class:`BlendImportContextItem`, :class:`BlendImportContextItems`, :class:`BlendImportContextLibraries`, :class:`BlendImportContextLibrary`, :class:`BlenderRNA`, :class:`BoidRule`, :class:`BoidSettings`, :class:`BoidState`, :class:`Bone`, :class:`BoneCollection`, :class:`BoneCollectionMemberships`, :class:`BoneCollections`, :class:`BoneColor`, :class:`BoolAttributeValue`, :class:`BrushCapabilities`, :class:`BrushCapabilitiesImagePaint`, :class:`BrushCapabilitiesSculpt`, :class:`BrushCapabilitiesVertexPaint`, :class:`BrushCapabilitiesWeightPaint`, :class:`BrushCurvesSculptSettings`, :class:`BrushGpencilSettings`, :class:`ByteColorAttributeValue`, :class:`ByteIntAttributeValue`, :class:`CacheFileLayer`, :class:`CacheFileLayers`, :class:`CacheObjectPath`, :class:`CacheObjectPaths`, :class:`CameraBackgroundImage`, :class:`CameraBackgroundImages`, :class:`CameraDOFSettings`, :class:`CameraStereoData`, :class:`ChannelDriverVariables`, :class:`ChildParticle`, :class:`ClothCollisionSettings`, :class:`ClothSettings`, :class:`ClothSolverResult`, :class:`CollectionChild`, :class:`CollectionChildren`, :class:`CollectionExport`, :class:`CollectionExports`, :class:`CollectionLightLinking`, :class:`CollectionObject`, :class:`CollectionObjects`, :class:`CollisionSettings`, :class:`ColorManagedDisplaySettings`, :class:`ColorManagedInputColorspaceSettings`, :class:`ColorManagedSequencerColorspaceSettings`, :class:`ColorManagedViewSettings`, :class:`ColorMapping`, :class:`ColorRamp`, :class:`ColorRampElement`, :class:`ColorRampElements`, :class:`ConsoleLine`, :class:`Constraint`, :class:`ConstraintTarget`, :class:`ConstraintTargetBone`, :class:`Context`, :class:`CryptomatteEntry`, :class:`CurveMap`, :class:`CurveMapPoint`, :class:`CurveMapPoints`, :class:`CurveMapping`, :class:`CurvePaintSettings`, :class:`CurvePoint`, :class:`CurveProfile`, :class:`CurveProfilePoint`, :class:`CurveProfilePoints`, :class:`CurveSlice`, :class:`CurveSplines`, :class:`Depsgraph`, :class:`DepsgraphObjectInstance`, :class:`DepsgraphUpdate`, :class:`DisplaySafeAreas`, :class:`DopeSheet`, :class:`Driver`, :class:`DriverTarget`, :class:`DriverVariable`, :class:`DynamicPaintBrushSettings`, :class:`DynamicPaintCanvasSettings`, :class:`DynamicPaintSurface`, :class:`DynamicPaintSurfaces`, :class:`EQCurveMappingData`, :class:`EditBone`, :class:`EffectorWeights`, :class:`EnumPropertyItem`, :class:`Event`, :class:`FCurve`, :class:`FCurveKeyframePoints`, :class:`FCurveModifiers`, :class:`FCurveSample`, :class:`FFmpegSettings`, :class:`FModifier`, :class:`FModifierEnvelopeControlPoint`, :class:`FModifierEnvelopeControlPoints`, :class:`FieldSettings`, :class:`FileAssetSelectIDFilter`, :class:`FileBrowserFSMenuEntry`, :class:`FileHandler`, :class:`FileSelectEntry`, :class:`FileSelectIDFilter`, :class:`FileSelectParams`, :class:`Float2AttributeValue`, :class:`Float4x4AttributeValue`, :class:`FloatAttributeValue`, :class:`FloatColorAttributeValue`, :class:`FloatVectorAttributeValue`, :class:`FloatVectorValueReadOnly`, :class:`FluidDomainSettings`, :class:`FluidEffectorSettings`, :class:`FluidFlowSettings`, :class:`ForeachGeometryElementGenerationItem`, :class:`ForeachGeometryElementInputItem`, :class:`ForeachGeometryElementMainItem`, :class:`FreestyleLineSet`, :class:`FreestyleModuleSettings`, :class:`FreestyleModules`, :class:`FreestyleSettings`, :class:`Function`, :class:`GPencilInterpolateSettings`, :class:`GPencilSculptGuide`, :class:`GPencilSculptSettings`, :class:`GeometryNodeFieldToGridItem`, :class:`GeometryNodeFieldToGridItems`, :class:`GeometryNodeFieldToListItem`, :class:`GeometryNodeFieldToListItems`, :class:`Gizmo`, :class:`GizmoGroup`, :class:`GizmoGroupProperties`, :class:`GizmoProperties`, :class:`Gizmos`, :class:`GreasePencilDashModifierSegment`, :class:`GreasePencilDrawing`, :class:`GreasePencilFrame`, :class:`GreasePencilFrames`, :class:`GreasePencilLayerMask`, :class:`GreasePencilLayerMasks`, :class:`GreasePencilTimeModifierSegment`, :class:`GreasePencilTreeNode`, :class:`GreasePencilv3LayerGroup`, :class:`GreasePencilv3Layers`, :class:`Header`, :class:`Histogram`, :class:`ID`, :class:`IDMaterials`, :class:`IDOverrideLibrary`, :class:`IDOverrideLibraryProperties`, :class:`IDOverrideLibraryProperty`, :class:`IDOverrideLibraryPropertyOperation`, :class:`IDOverrideLibraryPropertyOperations`, :class:`IDPropertyWrapPtr`, :class:`IKParam`, :class:`ImageFormatSettings`, :class:`ImagePackedFile`, :class:`ImagePreview`, :class:`ImageUser`, :class:`IndexSwitchItem`, :class:`Int2AttributeValue`, :class:`IntAttributeValue`, :class:`KeyConfig`, :class:`KeyConfigPreferences`, :class:`KeyConfigurations`, :class:`KeyMap`, :class:`KeyMapItem`, :class:`KeyMapItems`, :class:`KeyMaps`, :class:`Keyframe`, :class:`KeyingSet`, :class:`KeyingSetInfo`, :class:`KeyingSetPath`, :class:`KeyingSetPaths`, :class:`KeyingSets`, :class:`KeyingSetsAll`, :class:`LatticePoint`, :class:`LayerCollection`, :class:`LayerObjects`, :class:`LayoutPanelState`, :class:`LibraryWeakReference`, :class:`Lightgroup`, :class:`Lightgroups`, :class:`LineStyleAlphaModifiers`, :class:`LineStyleColorModifiers`, :class:`LineStyleGeometryModifiers`, :class:`LineStyleModifier`, :class:`LineStyleTextureSlots`, :class:`LineStyleThicknessModifiers`, :class:`Linesets`, :class:`LoopColors`, :class:`Macro`, :class:`MaskLayer`, :class:`MaskLayers`, :class:`MaskParent`, :class:`MaskSpline`, :class:`MaskSplinePoint`, :class:`MaskSplinePointUW`, :class:`MaskSplinePoints`, :class:`MaskSplines`, :class:`MaterialGPencilStyle`, :class:`MaterialLineArt`, :class:`MaterialSlot`, :class:`Menu`, :class:`MeshEdge`, :class:`MeshEdges`, :class:`MeshLoop`, :class:`MeshLoopColor`, :class:`MeshLoopColorLayer`, :class:`MeshLoopTriangle`, :class:`MeshLoopTriangles`, :class:`MeshLoops`, :class:`MeshNormalValue`, :class:`MeshPolygon`, :class:`MeshPolygons`, :class:`MeshSkinVertex`, :class:`MeshSkinVertexLayer`, :class:`MeshStatVis`, :class:`MeshUVLoop`, :class:`MeshUVLoopLayer`, :class:`MeshVertex`, :class:`MeshVertices`, :class:`MetaBallElements`, :class:`MetaElement`, :class:`Modifier`, :class:`MotionPath`, :class:`MotionPathVert`, :class:`MovieClipProxy`, :class:`MovieClipScopes`, :class:`MovieClipUser`, :class:`MovieReconstructedCamera`, :class:`MovieTracking`, :class:`MovieTrackingCamera`, :class:`MovieTrackingDopesheet`, :class:`MovieTrackingMarker`, :class:`MovieTrackingMarkers`, :class:`MovieTrackingObject`, :class:`MovieTrackingObjectPlaneTracks`, :class:`MovieTrackingObjectTracks`, :class:`MovieTrackingObjects`, :class:`MovieTrackingPlaneMarker`, :class:`MovieTrackingPlaneMarkers`, :class:`MovieTrackingPlaneTrack`, :class:`MovieTrackingPlaneTracks`, :class:`MovieTrackingReconstructedCameras`, :class:`MovieTrackingReconstruction`, :class:`MovieTrackingSettings`, :class:`MovieTrackingStabilization`, :class:`MovieTrackingTrack`, :class:`MovieTrackingTracks`, :class:`NDOFMotionEventData`, :class:`NlaStrip`, :class:`NlaStripFCurves`, :class:`NlaStrips`, :class:`NlaTrack`, :class:`NlaTracks`, :class:`Node`, :class:`NodeClosureInputItem`, :class:`NodeClosureInputItems`, :class:`NodeClosureOutputItem`, :class:`NodeClosureOutputItems`, :class:`NodeCombineBundleItem`, :class:`NodeCombineBundleItems`, :class:`NodeCompositorFileOutputItem`, :class:`NodeCompositorFileOutputItems`, :class:`NodeEnumItem`, :class:`NodeEvaluateClosureInputItem`, :class:`NodeEvaluateClosureInputItems`, :class:`NodeEvaluateClosureOutputItem`, :class:`NodeEvaluateClosureOutputItems`, :class:`NodeFunctionFormatStringItem`, :class:`NodeFunctionFormatStringItems`, :class:`NodeGeometryBakeItem`, :class:`NodeGeometryBakeItems`, :class:`NodeGeometryCaptureAttributeItem`, :class:`NodeGeometryCaptureAttributeItems`, :class:`NodeGeometryForeachGeometryElementGenerationItems`, :class:`NodeGeometryForeachGeometryElementInputItems`, :class:`NodeGeometryForeachGeometryElementMainItems`, :class:`NodeGeometryRepeatOutputItems`, :class:`NodeGeometrySimulationOutputItems`, :class:`NodeGeometryViewerItem`, :class:`NodeGeometryViewerItems`, :class:`NodeIndexSwitchItems`, :class:`NodeInputs`, :class:`NodeInstanceHash`, :class:`NodeInternalSocketTemplate`, :class:`NodeLink`, :class:`NodeLinks`, :class:`NodeMenuSwitchItems`, :class:`NodeOutputs`, :class:`NodeSeparateBundleItem`, :class:`NodeSeparateBundleItems`, :class:`NodeSocket`, :class:`NodeTreeInterface`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreePath`, :class:`Nodes`, :class:`NodesModifierBake`, :class:`NodesModifierBakeDataBlocks`, :class:`NodesModifierBakes`, :class:`NodesModifierDataBlock`, :class:`NodesModifierPanel`, :class:`NodesModifierPanels`, :class:`NodesModifierWarning`, :class:`ObjectBase`, :class:`ObjectConstraints`, :class:`ObjectDisplay`, :class:`ObjectLightLinking`, :class:`ObjectLineArt`, :class:`ObjectModifiers`, :class:`ObjectShaderFx`, :class:`Operator`, :class:`OperatorMacro`, :class:`OperatorOptions`, :class:`OperatorProperties`, :class:`PackedFile`, :class:`Paint`, :class:`PaintModeSettings`, :class:`PaletteColor`, :class:`PaletteColors`, :class:`Panel`, :class:`Particle`, :class:`ParticleBrush`, :class:`ParticleDupliWeight`, :class:`ParticleEdit`, :class:`ParticleHairKey`, :class:`ParticleKey`, :class:`ParticleSettingsTextureSlots`, :class:`ParticleSystem`, :class:`ParticleSystems`, :class:`ParticleTarget`, :class:`PathCompare`, :class:`PathCompareCollection`, :class:`Point`, :class:`PointCache`, :class:`PointCacheItem`, :class:`PointCaches`, :class:`Pose`, :class:`PoseBone`, :class:`PoseBoneConstraints`, :class:`Preferences`, :class:`PreferencesApps`, :class:`PreferencesEdit`, :class:`PreferencesExperimental`, :class:`PreferencesExtensions`, :class:`PreferencesFilePaths`, :class:`PreferencesInput`, :class:`PreferencesKeymap`, :class:`PreferencesSystem`, :class:`PreferencesView`, :class:`PrimitiveBoolean`, :class:`PrimitiveFloat`, :class:`PrimitiveInt`, :class:`PrimitiveString`, :class:`Property`, :class:`PropertyGroup`, :class:`PropertyGroupItem`, :class:`QuaternionAttributeValue`, :class:`RaytraceEEVEE`, :class:`ReadOnlyInteger`, :class:`Region`, :class:`RegionView3D`, :class:`RenderEngine`, :class:`RenderLayer`, :class:`RenderPass`, :class:`RenderPasses`, :class:`RenderResult`, :class:`RenderSettings`, :class:`RenderSlot`, :class:`RenderSlots`, :class:`RenderView`, :class:`RenderViews`, :class:`RepeatItem`, :class:`RetimingKey`, :class:`RetimingKeys`, :class:`RigidBodyConstraint`, :class:`RigidBodyObject`, :class:`RigidBodyWorld`, :class:`SPHFluidSettings`, :class:`SceneDisplay`, :class:`SceneEEVEE`, :class:`SceneGpencil`, :class:`SceneHydra`, :class:`SceneObjects`, :class:`SceneRenderView`, :class:`Scopes`, :class:`ScriptDirectory`, :class:`ScriptDirectoryCollection`, :class:`SequenceEditor`, :class:`SequenceTimelineChannel`, :class:`SequencerCacheOverlay`, :class:`SequencerPreviewOverlay`, :class:`SequencerTimelineOverlay`, :class:`SequencerToolSettings`, :class:`ShaderFx`, :class:`ShapeKey`, :class:`ShapeKeyBezierPoint`, :class:`ShapeKeyCurvePoint`, :class:`ShapeKeyPoint`, :class:`Short2AttributeValue`, :class:`SimulationStateItem`, :class:`SoftBodySettings`, :class:`Space`, :class:`SpaceClipOverlay`, :class:`SpaceDopeSheetOverlay`, :class:`SpaceImageOverlay`, :class:`SpaceNodeEditorPath`, :class:`SpaceNodeOverlay`, :class:`SpaceUVEditor`, :class:`Spline`, :class:`SplineBezierPoints`, :class:`SplinePoint`, :class:`SplinePoints`, :class:`SpreadsheetColumn`, :class:`SpreadsheetColumnID`, :class:`SpreadsheetRowFilter`, :class:`SpreadsheetTable`, :class:`SpreadsheetTableID`, :class:`SpreadsheetTables`, :class:`Stereo3dDisplay`, :class:`Stereo3dFormat`, :class:`StringAttributeValue`, :class:`Strip`, :class:`StripColorBalanceData`, :class:`StripCrop`, :class:`StripElement`, :class:`StripElements`, :class:`StripModifier`, :class:`StripModifiers`, :class:`StripProxy`, :class:`StripTransform`, :class:`StripsMeta`, :class:`StripsTopLevel`, :class:`Struct`, :class:`StudioLight`, :class:`StudioLights`, :class:`TexMapping`, :class:`TexPaintSlot`, :class:`TextBox`, :class:`TextCharacterFormat`, :class:`TextLine`, :class:`TextureSlot`, :class:`Theme`, :class:`ThemeBoneColorSet`, :class:`ThemeClipEditor`, :class:`ThemeCollectionColor`, :class:`ThemeCommon`, :class:`ThemeCommonAnim`, :class:`ThemeCommonCurves`, :class:`ThemeConsole`, :class:`ThemeDopeSheet`, :class:`ThemeFileBrowser`, :class:`ThemeFontStyle`, :class:`ThemeGradientColors`, :class:`ThemeGraphEditor`, :class:`ThemeImageEditor`, :class:`ThemeInfo`, :class:`ThemeNLAEditor`, :class:`ThemeNodeEditor`, :class:`ThemeOutliner`, :class:`ThemePreferences`, :class:`ThemeProperties`, :class:`ThemeRegions`, :class:`ThemeRegionsAssetShelf`, :class:`ThemeRegionsChannels`, :class:`ThemeRegionsScrubbing`, :class:`ThemeRegionsSidebars`, :class:`ThemeSequenceEditor`, :class:`ThemeSpaceGeneric`, :class:`ThemeSpaceGradient`, :class:`ThemeSpreadsheet`, :class:`ThemeStatusBar`, :class:`ThemeStripColor`, :class:`ThemeStyle`, :class:`ThemeTextEditor`, :class:`ThemeTopBar`, :class:`ThemeUserInterface`, :class:`ThemeView3D`, :class:`ThemeWidgetColors`, :class:`ThemeWidgetStateColors`, :class:`TimelineMarker`, :class:`TimelineMarkers`, :class:`Timer`, :class:`ToolSettings`, :class:`TransformOrientation`, :class:`TransformOrientationSlot`, :class:`UDIMTile`, :class:`UDIMTiles`, :class:`UILayout`, :class:`UIList`, :class:`UIPieMenu`, :class:`UIPopover`, :class:`UIPopupMenu`, :class:`UVLoopLayers`, :class:`UVProjector`, :class:`UnifiedPaintSettings`, :class:`UnitSettings`, :class:`UnknownType`, :class:`UserAssetLibrary`, :class:`UserExtensionRepo`, :class:`UserExtensionRepoCollection`, :class:`UserSolidLight`, :class:`UvSculpt`, :class:`VertexGroup`, :class:`VertexGroupElement`, :class:`VertexGroups`, :class:`View2D`, :class:`View3DCursor`, :class:`View3DOverlay`, :class:`View3DShading`, :class:`ViewLayer`, :class:`ViewLayerEEVEE`, :class:`ViewLayers`, :class:`ViewerPath`, :class:`ViewerPathElem`, :class:`VolumeDisplay`, :class:`VolumeGrid`, :class:`VolumeGrids`, :class:`VolumeRender`, :class:`WalkNavigation`, :class:`Window`, :class:`Windows`, :class:`WorkSpaceTool`, :class:`WorldLighting`, :class:`WorldMistSettings`, :class:`XrActionMap`, :class:`XrActionMapBinding`, :class:`XrActionMapBindings`, :class:`XrActionMapItem`, :class:`XrActionMapItems`, :class:`XrActionMaps`, :class:`XrComponentPath`, :class:`XrComponentPaths`, :class:`XrEventData`, :class:`XrNavigation`, :class:`XrSessionSettings`, :class:`XrSessionState`, :class:`XrUserPath`, :class:`XrUserPaths`, :class:`wmOwnerID`, :class:`wmOwnerIDs`, :class:`wmTools` + +.. class:: bpy_struct + + built-in base class for all classes in bpy.types. + + .. method:: as_pointer() + + Returns the memory address which holds a pointer to Blender's internal data + + :return: int (memory address). + :rtype: int + + .. note:: This is intended only for advanced script writers who need to + pass blender data to their own C/Python modules. + + + .. method:: driver_add(path, index=-1, /) + + Adds driver(s) to the given property + + :param path: path to the property to drive, analogous to the fcurve's data path. + :type path: str + :param index: array index of the property drive. Defaults to -1 for all indices or a single channel if the property is not an array. + :type index: int + :return: The driver added or a list of drivers when index is -1. + :rtype: :class:`bpy.types.FCurve` | list[:class:`bpy.types.FCurve`] + + + .. method:: driver_remove(path, index=-1, /) + + Remove driver(s) from the given property + + :param path: path to the property to drive, analogous to the fcurve's data path. + :type path: str + :param index: array index of the property drive. Defaults to -1 for all indices or a single channel if the property is not an array. + :type index: int + :return: Success of driver removal. + :rtype: bool + + + .. method:: 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). + + :param key: The key associated with the custom property. + :type key: str + :param default: Optional argument for the value to return if + *key* is not found. + :type default: Any + :return: Custom property value or default. + :rtype: Any + + .. note:: + + Limited to: :ref:`bpy_types-custom_properties`. + + + .. method:: id_properties_clear() + + Remove the parent group for an RNA struct's custom IDProperties. + + + .. method:: id_properties_ensure() + + :return: the parent group for an RNA struct's custom IDProperties. + :rtype: :class:`idprop.types.IDPropertyGroup` + + + .. method:: id_properties_ui(key, /) + + :param key: String name of the property. + :type key: str + :return: An object used to manage an IDProperty's UI data. + :rtype: :class:`bpy.types.IDPropertyUIManager` + + + .. method:: is_property_hidden(property, /) + + Check if a property is hidden. + + :param property: Property name. + :type property: str + :return: True when the property is hidden. + :rtype: bool + + + .. method:: is_property_overridable_library(property, /) + + Check if a property is overridable. + + :param property: Property name. + :type property: str + :return: True when the property is overridable. + :rtype: bool + + + .. method:: is_property_readonly(property, /) + + Check if a property is readonly. + + :param property: Property name. + :type property: str + :return: True when the property is readonly (not writable). + :rtype: bool + + + .. method:: is_property_set(property, /, *, ghost=True) + + Check if a property is set, use for testing operator properties. + + :param property: Property name. + :type property: str + :param ghost: Used for operators that re-run with previous settings. + In this case the property is not marked as set, + yet the value from the previous execution is used. + + In rare cases you may want to set this option to false. + + :type ghost: bool + :return: True when the property has been set. + :rtype: bool + + + .. note:: + + Properties defined at run-time store the values of the properties as custom-properties. + + This method checks if the underlying data exists, causing the property to be considered *set*. + + A common pattern for operators is to calculate a value for the properties + that have not had their values explicitly set by the caller + (where the caller could be a key-binding, menu-items or Python script for example). + + In the case of executing operators multiple times, values are re-used from the previous execution. + + For example: subdividing a mesh with a smooth value of 1.0 will keep using + that value on subsequent calls to subdivision, unless the operator is called with + that property set to a different value. + + This behavior can be disabled using the ``SKIP_SAVE`` option when the property is declared (see: :mod:`bpy.props`). + + The ``ghost`` argument allows detecting how a value from a previous execution is handled. + + - When true: The property is considered unset even if the value from a previous call is used. + - When false: The existence of any values causes ``is_property_set`` to return true. + + While this argument should typically be omitted, there are times when + it's important to know if a value is anything besides the default. + + For example, the previous value may have been scaled by the scene's unit scale. + In this case scaling the value multiple times would cause problems, so the ``ghost`` argument should be false. + + + .. method:: items() + + Returns the items of this objects custom properties (matches Python's + dictionary function of the same name). + + :return: custom property key, value pairs. + :rtype: :class:`idprop.types.IDPropertyGroupViewItems` + + .. note:: + + Limited to: :ref:`bpy_types-custom_properties`. + + + .. method:: keyframe_delete(data_path, *, index=-1, frame=bpy.context.scene.frame_current, group="") + + Remove a keyframe from this properties fcurve. + + :param data_path: path to the property to remove a key, analogous to the fcurve's data path. + :type data_path: str + :param index: array index of the property to remove a key. Defaults to -1 removing all indices or a single channel if the property is not an array. + :type index: int + :param frame: The frame on which the keyframe is deleted, defaulting to the current frame. + :type frame: float + :param group: The name of the group the F-Curve should be added to if it doesn't exist yet. + :type group: str + :return: Success of keyframe deletion. + :rtype: bool + + + .. method:: keyframe_insert(data_path, *, index=-1, frame=bpy.context.scene.frame_current, group="", options=set(), keytype='KEYFRAME') + + Insert a keyframe on the property given, adding fcurves and animation data when necessary. + + :param data_path: path to the property to key, analogous to the fcurve's data path. + :type data_path: str + :param index: array index of the property to key. + Defaults to -1 which will key all indices or a single channel if the property is not an array. + :type index: int + :param frame: The frame on which the keyframe is inserted, defaulting to the current frame. + :type frame: float + :param group: The name of the group the F-Curve should be added to if it doesn't exist yet. + :type group: str + :param options: Optional set of flags: + + - ``INSERTKEY_NEEDED`` Only insert keyframes where they're needed in the relevant F-Curves. + - ``INSERTKEY_VISUAL`` Insert keyframes based on 'visual transforms'. + - ``INSERTKEY_REPLACE`` Only replace already existing keyframes. + - ``INSERTKEY_AVAILABLE`` Only insert into already existing F-Curves. + - ``INSERTKEY_CYCLE_AWARE`` Take cyclic extrapolation into account (Cycle-Aware Keying option). + :type options: set[Literal['INSERTKEY_NEEDED', 'INSERTKEY_VISUAL', 'INSERTKEY_REPLACE', 'INSERTKEY_AVAILABLE', 'INSERTKEY_CYCLE_AWARE']] + :param keytype: Type of the key. + :type keytype: Literal['KEYFRAME', 'BREAKDOWN', 'MOVING_HOLD', 'EXTREME', 'JITTER', 'GENERATED'] + :return: Success of keyframe insertion. + :rtype: bool + + + This is the most simple example of inserting a keyframe from Python. + + .. literalinclude:: ./examples/bpy.types.bpy_struct.keyframe_insert.0.py + :lines: 5- + + + Note that when keying data paths which contain nested properties this must be + done from the :class:`ID` subclass, in this case the :class:`Armature` rather + than the bone. + + .. literalinclude:: ./examples/bpy.types.bpy_struct.keyframe_insert.1.py + :lines: 7- + + + .. method:: keys() + + Returns the keys of this objects custom properties (matches Python's + dictionary function of the same name). + + :return: custom property keys. + :rtype: :class:`idprop.types.IDPropertyGroupViewKeys` + + .. note:: + + Limited to: :ref:`bpy_types-custom_properties`. + + + .. method:: path_from_id(property="", /) + + Returns the data path from the ID to this object (string). + + :param property: Optional property name which can be used if the path is + to a property of this object. + :type property: str + :return: The path from :class:`bpy.types.bpy_struct.id_data` + to this struct and property (when given). + :rtype: str + + + .. method:: path_from_module(property="", index=-1, /) + + Returns the full data path to this struct (as a string) from the bpy module. + + :param property: Optional property name to get the full path from + :type property: str + :param index: Optional index of the property. + "-1" means that the property has no indices. + :type index: int + :return: The full path to the data. + :rtype: str + + :raises ValueError: + if the input data cannot be converted into a full data path. + + .. note:: Even if all input data is correct, this function might + error out because Blender cannot derive a valid path. + The incomplete path will be printed in the error message. + + + .. method:: path_resolve(path, coerce=True, /) + + Returns the property from the path, raise an exception when not found. + + :param path: path which this property resolves. + :type path: str + :param coerce: optional argument, when True, the property will be converted + into its Python representation. + :type coerce: bool + :return: Property value or property object. + :rtype: Any | :class:`bpy.types.bpy_prop` + + + .. method:: pop(key, default=None, /) + + Remove and return the value of the custom property assigned to key or default + when not found (matches Python's dictionary function of the same name). + + :param key: The key associated with the custom property. + :type key: str + :param default: Optional argument for the value to return if + *key* is not found. + :type default: Any + :return: Custom property value or default. + :rtype: Any + + .. note:: + + Limited to: :ref:`bpy_types-custom_properties`. + + + .. method:: property_overridable_library_set(property, overridable, /) + + Define a property as overridable or not (only for custom properties!). + + :param property: Property name. + :type property: str + :param overridable: Overridable status to set. + :type overridable: bool + :return: True when the overridable status of the property was successfully set. + :rtype: bool + + + .. method:: property_unset(property, /) + + Unset a property, will use default value afterward. + + :param property: Property name. + :type property: str + + + .. method:: rna_ancestors() + + Return the chain of data containing this struct, if known. + The first item is the root (typically an ID), the last one is the immediate parent. + May be empty. + + :return: a list of this object's ancestors. + :rtype: list[:class:`bpy.types.bpy_struct`] + + + .. method:: type_recast() + + Return a new instance, this is needed because types + such as textures can be changed at runtime. + + :return: a new instance of this object with the type initialized again. + :rtype: :class:`bpy.types.bpy_struct` + + + .. method:: values() + + Returns the values of this objects custom properties (matches Python's + dictionary function of the same name). + + :return: custom property values. + :rtype: :class:`idprop.types.IDPropertyGroupViewValues` + + .. note:: + + Limited to: :ref:`bpy_types-custom_properties`. + + + .. attribute:: id_data + + The :class:`bpy.types.ID` object this data-block is from or None, (not available for all data types) (readonly) + + :type: :class:`bpy.types.ID` + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.rst new file mode 100644 index 0000000..bcc787f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.rst @@ -0,0 +1,23 @@ +Types (bpy.types) +================= + +.. module:: bpy.types + +.. toctree:: + :maxdepth: 1 + :glob: + + bpy.types.* + +.. toctree:: + :hidden: + :maxdepth: 1 + + Shared Enum Types + +.. toctree:: + :hidden: + :maxdepth: 1 + + Types with Custom Property Support + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.wmOwnerID.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.wmOwnerID.rst new file mode 100644 index 0000000..819e79a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.wmOwnerID.rst @@ -0,0 +1,85 @@ +wmOwnerID(bpy_struct) +===================== + +.. currentmodule:: bpy.types + +base class --- :class:`bpy_struct` + +.. class:: wmOwnerID(bpy_struct) + + + .. attribute:: name + + (default "", never None) + + :type: str + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WorkSpace.owner_ids` + - :class:`wmOwnerIDs.new` + - :class:`wmOwnerIDs.remove` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.wmOwnerIDs.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.wmOwnerIDs.rst new file mode 100644 index 0000000..7cb1824 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.wmOwnerIDs.rst @@ -0,0 +1,97 @@ +wmOwnerIDs(bpy_prop_collection) +=============================== + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: wmOwnerIDs(bpy_prop_collection) + + + .. method:: new(name) + + Add ui tag + + :param name: New name for the tag (never None) + :type name: str + :rtype: :class:`wmOwnerID` + + .. method:: remove(owner_id) + + Remove ui tag + + :param owner_id: Tag to remove (never None) + :type owner_id: :class:`wmOwnerID` | None + + .. method:: clear() + + Remove all tags + + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WorkSpace.owner_ids` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.wmTools.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.wmTools.rst new file mode 100644 index 0000000..9b0f975 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.types.wmTools.rst @@ -0,0 +1,112 @@ +wmTools(bpy_prop_collection) +============================ + +.. currentmodule:: bpy.types + +base classes --- :class:`bpy_prop`, :class:`bpy_prop_collection` + +.. class:: wmTools(bpy_prop_collection) + + + .. method:: from_space_view3d_mode(mode, *, create=False) + + + + :type mode: Literal[:ref:`rna_enum_context_mode_items`] + :param create: Create, (optional) + :type create: bool + :rtype: :class:`WorkSpaceTool` + + .. method:: from_space_image_mode(mode, *, create=False) + + + + :type mode: Literal[:ref:`rna_enum_space_image_mode_all_items`] + :param create: Create, (optional) + :type create: bool + :rtype: :class:`WorkSpaceTool` + + .. method:: from_space_node(*, create=False) + + + + :param create: Create, (optional) + :type create: bool + :rtype: :class:`WorkSpaceTool` + + .. method:: from_space_sequencer(mode, *, create=False) + + + + :type mode: Literal[:ref:`rna_enum_space_sequencer_view_type_items`] + :param create: Create, (optional) + :type create: bool + :rtype: :class:`WorkSpaceTool` + + .. classmethod:: bl_rna_get_subclass(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: :class:`bpy.types.Struct` | None + :return: The RNA type or default when not found. + :rtype: :class:`bpy.types.Struct` + + + .. classmethod:: bl_rna_get_subclass_py(id, default=None, /) + + :param id: The RNA type identifier. + :type id: str + :param default: The value to return when not found. + :type default: type | None + :return: The class or default when not found. + :rtype: type + + +Inherited Properties +-------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.id_data` + +Inherited Functions +------------------- + +.. hlist:: + :columns: 2 + + - :class:`bpy_struct.as_pointer` + - :class:`bpy_struct.driver_add` + - :class:`bpy_struct.driver_remove` + - :class:`bpy_struct.get` + - :class:`bpy_struct.id_properties_clear` + - :class:`bpy_struct.id_properties_ensure` + - :class:`bpy_struct.id_properties_ui` + - :class:`bpy_struct.is_property_hidden` + - :class:`bpy_struct.is_property_overridable_library` + - :class:`bpy_struct.is_property_readonly` + - :class:`bpy_struct.is_property_set` + - :class:`bpy_struct.items` + - :class:`bpy_struct.keyframe_delete` + - :class:`bpy_struct.keyframe_insert` + - :class:`bpy_struct.keys` + - :class:`bpy_struct.path_from_id` + - :class:`bpy_struct.path_from_module` + - :class:`bpy_struct.path_resolve` + - :class:`bpy_struct.pop` + - :class:`bpy_struct.property_overridable_library_set` + - :class:`bpy_struct.property_unset` + - :class:`bpy_struct.rna_ancestors` + - :class:`bpy_struct.type_recast` + - :class:`bpy_struct.values` + +References +---------- + +.. hlist:: + :columns: 2 + + - :class:`WorkSpace.tools` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.utils.previews.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.utils.previews.rst new file mode 100644 index 0000000..6764e77 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.utils.previews.rst @@ -0,0 +1,79 @@ +bpy.utils submodule (bpy.utils.previews) +======================================== + +.. module:: bpy.utils.previews + +This module contains utility functions to handle custom previews. + +It behaves as a high-level 'cached' previews manager. + +This allows scripts to generate their own previews, and use them as icons in UI widgets +('icon_value' for UILayout functions). + + +Custom Icon Example +------------------- + +.. literalinclude:: __/__/__/scripts/templates_py/ui_previews_custom_icon.py + +.. function:: new() + + :return: a new preview collection. + :rtype: :class:`ImagePreviewCollection` + +.. function:: remove(pcoll) + + Remove the specified previews collection. + + :param pcoll: Preview collection to close. + :type pcoll: :class:`ImagePreviewCollection` + +.. class:: ImagePreviewCollection + + Dictionary-like class of previews. + + This is a subclass of Python's built-in dict type, + used to store multiple image previews. + + .. note:: + + - instance with :mod:`bpy.utils.previews.new` + - keys must be ``str`` type. + - values will be :class:`bpy.types.ImagePreview` + + .. method:: clear() + + Clear all previews. + + .. method:: close() + + Close the collection and clear all previews. + + .. method:: load(name, filepath, file_type, force_reload=False) + + Generate a new preview from given file path. + + :param name: The name (unique id) identifying the preview. + :type name: str + :param filepath: The file path to generate the preview from. + :type filepath: str | bytes + :param file_type: The type of file, needed to generate the preview. + :type file_type: Literal['IMAGE', 'MOVIE', 'BLEND', 'FONT', 'OBJECT_IO'] + :param force_reload: If True, force running thumbnail manager even if preview already exists in cache. + :type force_reload: bool + :return: The Preview matching given name, or a new empty one. + :rtype: :class:`bpy.types.ImagePreview` + :raises KeyError: if ``name`` already exists. + + .. method:: new(name) + + Generate a new empty preview. + + :param name: The name (unique id) identifying the preview. + :type name: str + :return: The Preview matching given name, or a new empty one. + :rtype: :class:`bpy.types.ImagePreview` + :raises KeyError: if ``name`` already exists. + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.utils.rst new file mode 100644 index 0000000..fff538e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.utils.rst @@ -0,0 +1,473 @@ +Utilities (bpy.utils) +===================== + +.. module:: bpy.utils + +This module contains utility functions specific to blender but +not associated with blenders internal data. + +.. toctree:: + :maxdepth: 1 + :caption: Submodules + + bpy.utils.previews.rst + bpy.utils.units.rst + +.. function:: blend_paths(*, absolute=False, packed=False, local=False) + + Returns a list of paths to external files referenced by the loaded .blend file. + + :param absolute: When true the paths returned are made absolute. + :type absolute: bool + :param packed: When true include file paths for packed data. + :type packed: bool + :param local: When true skip linked library paths. + :type local: bool + :return: path list. + :rtype: list[str] + + +.. function:: escape_identifier(string) + + Simple string escaping function used for animation paths. + + :param string: text + :type string: str + :return: The escaped string. + :rtype: str + + +.. function:: flip_name(name, *, strip_digits=False) + + Flip a name between left/right sides, useful for + mirroring bone names. + + :param name: Bone name to flip. + :type name: str + :param strip_digits: Whether to remove ``.###`` suffix. + :type strip_digits: bool + :return: The flipped name. + :rtype: str + + +.. function:: unescape_identifier(string) + + Simple string un-escape function used for animation paths. + This performs the reverse of :func:`escape_identifier`. + + :param string: text + :type string: str + :return: The un-escaped string. + :rtype: str + + +.. function:: register_class(cls) + + Register a subclass of a Blender type class. + + :param cls: Registerable Blender class type. + :type cls: type[:class:`bpy.types.Panel` | :class:`bpy.types.UIList` | :class:`bpy.types.Menu` | :class:`bpy.types.Header` | :class:`bpy.types.Operator` | :class:`bpy.types.KeyingSetInfo` | :class:`bpy.types.RenderEngine` | :class:`bpy.types.AssetShelf` | :class:`bpy.types.FileHandler` | :class:`bpy.types.PropertyGroup` | :class:`bpy.types.AddonPreferences` | :class:`bpy.types.NodeTree` | :class:`bpy.types.Node` | :class:`bpy.types.NodeSocket` | :class:`bpy.types.Gizmo` | :class:`bpy.types.GizmoGroup`] + + :raises ValueError: + if the class is not a subclass of a registerable blender class. + + .. note:: + + If the class has a *register* class method it will be called + before registration. + + +.. function:: register_cli_command(id, execute) + + Register a command, accessible via the (``-c`` / ``--command``) command-line argument. + + :param id: The command identifier (must pass an ``str.isidentifier`` check). + + If the ``id`` is already registered, a warning is printed and the command is inaccessible to prevent accidents invoking the wrong command. + :type id: str + :param execute: Callback, taking a single list of strings and returns an int. + The arguments are built from all command-line arguments following the command id. + The return value should be 0 for success, 1 on failure (specific error codes from the ``os`` module can also be used). + :type execute: Callable[[list[str]], int] + :return: The command handle which can be passed to :func:`unregister_cli_command`. + + This uses Python's capsule type however the result should be considered an opaque handle only used for unregistering. + :rtype: Any + + + **Custom Commands** + + Registering commands makes it possible to conveniently expose command line + functionality via commands passed to (``-c`` / ``--command``). + + .. literalinclude:: ./examples/bpy.utils.register_cli_command.0.py + :lines: 8- + + + **Using Python Argument Parsing** + + This example shows how the Python ``argparse`` module can be used with a custom command. + + Using ``argparse`` is generally recommended as it has many useful utilities and + generates a ``--help`` message for your command. + + .. literalinclude:: ./examples/bpy.utils.register_cli_command.1.py + :lines: 10- + + +.. function:: unregister_cli_command(handle) + + Unregister a CLI command. + + :param handle: The return value of :func:`register_cli_command`. + :type handle: Any + + +.. function:: resource_path(type, *, major=bpy.app.version[0], minor=bpy.app.version[1]) + + Return the base path for storing system files. + + :param type: The resource type. + :type type: Literal['USER', 'LOCAL', 'SYSTEM'] + :param major: major version, defaults to current. + :type major: int + :param minor: minor version, defaults to current. + :type minor: int + :return: the resource path (not necessarily existing). + :rtype: str + + +.. function:: unregister_class(cls) + + Unload the Python class from blender. + + :param cls: Blender type class, + see :func:`bpy.utils.register_class` for classes which can + be registered. + :type cls: type[:class:`bpy.types.Panel` | :class:`bpy.types.UIList` | :class:`bpy.types.Menu` | :class:`bpy.types.Header` | :class:`bpy.types.Operator` | :class:`bpy.types.KeyingSetInfo` | :class:`bpy.types.RenderEngine` | :class:`bpy.types.AssetShelf` | :class:`bpy.types.FileHandler` | :class:`bpy.types.PropertyGroup` | :class:`bpy.types.AddonPreferences` | :class:`bpy.types.NodeTree` | :class:`bpy.types.Node` | :class:`bpy.types.NodeSocket` | :class:`bpy.types.Gizmo` | :class:`bpy.types.GizmoGroup`] + + .. note:: + + If the class has an *unregister* class method it will be called + before unregistering. + + +.. function:: keyconfig_init() + + Initialize and refresh key configurations, called from the Blender + window manager on startup and refresh. + +.. function:: keyconfig_set(filepath, *, report=None) + + Load and activate a key configuration from a file. + + :param filepath: The file path to the key configuration preset. + :type filepath: str + :param report: An optional callable for reporting errors. + :type report: Callable[[set[str], str], None] | None + +.. function:: load_scripts(*, reload_scripts=False, refresh_scripts=False, extensions=True) + + Load scripts and run each modules register function. + + :param reload_scripts: Causes all scripts to have their unregister method + called before loading. + :type reload_scripts: bool + :param refresh_scripts: only load scripts which are not already loaded + as modules. + :type refresh_scripts: bool + :param extensions: Loads additional scripts (add-ons & app-templates). + :type extensions: bool + +.. function:: modules_from_path(path, loaded_modules) + + Load all modules in a path and return them as a list. + + :param path: this path is scanned for scripts and packages. + :type path: str + :param loaded_modules: already loaded module names, files matching these + names will be ignored. + :type loaded_modules: set[str] + :return: all loaded modules. + :rtype: list[ModuleType] + +.. function:: preset_find(name, preset_path, *, display_name=False, ext='.py') + + Search for a preset by name. + + :param name: The preset name. + :type name: str + :param preset_path: The preset subdirectory (e.g. ``"keyconfig"``). + :type preset_path: str + :param display_name: When True, search by display name instead of filename. + :type display_name: bool + :param ext: The file extension for the preset. + :type ext: str + :return: The file path of the preset or None if not found. + :rtype: str | None + +.. function:: preset_paths(subdir) + + Returns a list of paths for a specific preset. + + :param subdir: preset subdirectory (must not be an absolute path). + :type subdir: str + :return: Script paths. + :rtype: list[str] + +.. function:: refresh_script_paths() + + Run this after creating new script paths to update sys.path + +.. function:: app_template_paths(*, path=None) + + Returns valid application template paths. + + :param path: Optional subdir. + :type path: str | None + :return: App template paths. + :rtype: Iterator[str] + +.. function:: time_from_frame(frame, *, fps=None, fps_base=None) + + Returns the time from a frame number. + + If *fps* and *fps_base* are not given the current scene is used. + + :param frame: number. + :type frame: int | float + :param fps: Frames per second, if not given the current scene is used. + :type fps: float | None + :param fps_base: Frames per second base, if not given the current scene is used. + :type fps_base: float | None + :return: the time in seconds. + :rtype: datetime.timedelta + +.. function:: register_manual_map(manual_hook) + + Register a function to provide manual URL mappings. + + :param manual_hook: A callable that returns ``(prefix, mapping)`` + where *mapping* is a sequence of ``(pattern, url)`` pairs. + :type manual_hook: Callable[[], tuple[str, list[tuple[str, str]]]] + +.. function:: unregister_manual_map(manual_hook) + + Unregister a previously registered manual map hook. + + :param manual_hook: The hook function to remove. + :type manual_hook: Callable[[], tuple[str, list[tuple[str, str]]]] + +.. function:: register_preset_path(path) + + Register a preset search path. + + :param path: preset directory (must be an absolute path). + + This path must contain a "presets" subdirectory which will typically contain presets for add-ons. + + You may call ``bpy.utils.register_preset_path(os.path.dirname(__file__))`` from an add-ons ``__init__.py`` file. + When the ``__init__.py`` is in the same location as a ``presets`` directory. + For example an operators preset would be located under: ``presets/operator/{operator.id}/`` + where ``operator.id`` is the ``bl_idname`` of the operator. + :type path: str + :return: success + :rtype: bool + +.. function:: unregister_preset_path(path) + + Unregister a preset search path. + + :param path: preset directory (must be an absolute path). + + This must match the registered path exactly. + :type path: str + :return: success + :rtype: bool + +.. function:: register_classes_factory(classes) + + Utility function to create register and unregister functions + which simply registers and unregisters a sequence of classes. + + :param classes: Sequence of classes to register and unregister. + :type classes: Sequence[type] + :return: register and unregister functions. + :rtype: tuple[Callable[[], None], Callable[[], None]] + +.. function:: register_submodule_factory(module_name, submodule_names) + + Utility function to create register and unregister functions + which simply load submodules, + calling their register & unregister functions. + + .. note:: + + Modules are registered in the order given, + unregistered in reverse order. + + :param module_name: The module name, typically ``__name__``. + :type module_name: str + :param submodule_names: List of submodule names to load and unload. + :type submodule_names: list[str] + :return: register and unregister functions. + :rtype: tuple[Callable[[], None], Callable[[], None]] + +.. function:: register_tool(tool_cls, *, after=None, separator=False, group=False) + + Register a tool in the toolbar. + + :param tool_cls: A tool subclass. + :type tool_cls: type[:class:`bpy.types.WorkSpaceTool`] + :param after: Optional identifiers this tool will be added after. + :type after: Sequence[str] | set[str] | None + :param separator: When true, add a separator before this tool. + :type separator: bool + :param group: When true, add a new nested group of tools. + :type group: bool + +.. function:: make_rna_paths(struct_name, prop_name, enum_name) + + Create RNA "paths" from given names. + + :param struct_name: Name of a RNA struct (like e.g. "Scene"). + :type struct_name: str + :param prop_name: Name of a RNA struct's property. + :type prop_name: str + :param enum_name: Name of a RNA enum identifier. + :type enum_name: str + :return: A triple of three "RNA paths" + (most_complete_path, "struct.prop", "struct.prop:'enum'"). + If no enum_name is given, the third element will always be empty. + :rtype: tuple[str, str, str] + +.. function:: manual_map() + + Yield manual URL mappings from all registered hooks. + + :return: An iterator of ``(prefix, mapping)`` pairs. + :rtype: Iterator[tuple[str, list[tuple[str, str]]]] + +.. function:: manual_language_code(default='en') + + :param default: The fallback language code to use when the current language is unavailable. + :type default: str + :return: + The language code used for user manual URL component based on the current language user-preference, + falling back to the ``default`` when unavailable. + :rtype: str + +.. function:: script_path_user() + + Return the user script path or None. + + :return: The user script path, or None if not found. + :rtype: str | None + +.. function:: extension_path_user(package, *, path='', create=False) + + Return a user writable directory associated with an extension. + + .. note:: + + This allows each extension to have its own user directory to store files. + + The location of the extension it self is not a suitable place to store files + because it is cleared each upgrade and the users may not have write permissions + to the repository (typically "System" repositories). + + :param package: The ``__package__`` of the extension. + :type package: str + :param path: Optional subdirectory. + :type path: str + :param create: Treat the path as a directory and create it if its not existing. + :type create: bool + :return: a path. + :rtype: str + +.. function:: script_paths(*, subdir=None, user_pref=True, check_all=False, use_user=True, use_system_environment=True) + + Returns a list of valid script paths. + + :param subdir: Optional subdir. + :type subdir: str | None + :param user_pref: Include the user preference script paths. + :type user_pref: bool + :param check_all: Include local, user and system paths rather just the paths Blender uses. + :type check_all: bool + :param use_user: Include user paths + :type use_user: bool + :param use_system_environment: Include BLENDER_SYSTEM_SCRIPTS variable path + :type use_system_environment: bool + :return: script paths. + :rtype: list[str] + +.. function:: smpte_from_frame(frame, *, fps=None, fps_base=None) + + Returns an SMPTE formatted string from the *frame*: + ``HH:MM:SS:FF``. + + If *fps* and *fps_base* are not given the current scene is used. + + :param frame: frame number. + :type frame: int | float + :param fps: Frames per second, if not given the current scene is used. + :type fps: float | None + :param fps_base: Frames per second base, if not given the current scene is used. + :type fps_base: float | None + :return: the frame string. + :rtype: str + +.. function:: smpte_from_seconds(time, *, fps=None, fps_base=None) + + Returns an SMPTE formatted string from the *time*: + ``HH:MM:SS:FF``. + + If *fps* and *fps_base* are not given the current scene is used. + + :param time: time in seconds. + :type time: int | float | datetime.timedelta + :param fps: Frames per second, if not given the current scene is used. + :type fps: float | None + :param fps_base: Frames per second base, if not given the current scene is used. + :type fps_base: float | None + :return: the frame string. + :rtype: str + +.. function:: unregister_tool(tool_cls) + + Unregister a previously registered tool. + + :param tool_cls: The tool class to unregister. + :type tool_cls: type[:class:`bpy.types.WorkSpaceTool`] + +.. function:: user_resource(resource_type, *, path='', create=False) + + Return a user resource path (normally from the users home directory). + + :param resource_type: The resource type. + :type resource_type: Literal['DATAFILES', 'CONFIG', 'SCRIPTS', 'EXTENSIONS'] + :param path: Optional subdirectory. + :type path: str + :param create: Treat the path as a directory and create it if its not existing. + :type create: bool + :return: a path. + :rtype: str + +.. function:: execfile(filepath, *, mod=None) + + Execute a file path as a Python script. + + :param filepath: Path of the script to execute. + :type filepath: str + :param mod: Optional cached module, the result of a previous execution. + :type mod: ModuleType | None + :return: The module which can be passed back in as ``mod``. + :rtype: ModuleType + +.. function:: expose_bundled_modules() + + For Blender as a Python module, add bundled VFX library python bindings + to ``sys.path``. These may be used instead of dedicated packages, to ensure + the libraries are compatible with Blender. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.utils.units.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.utils.units.rst new file mode 100644 index 0000000..364ba0d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy.utils.units.rst @@ -0,0 +1,55 @@ +bpy.utils submodule (bpy.utils.units) +===================================== + +.. module:: bpy.utils.units + +This module contains some data/methods regarding units handling. + +.. data:: categories + + Constant value bpy.utils.units.categories(NONE='NONE', LENGTH='LENGTH', AREA='AREA', VOLUME='VOLUME', MASS='MASS', ROTATION='ROTATION', TIME='TIME', TIME_ABSOLUTE='TIME_ABSOLUTE', VELOCITY='VELOCITY', ACCELERATION='ACCELERATION', CAMERA='CAMERA', POWER='POWER', TEMPERATURE='TEMPERATURE', WAVELENGTH='WAVELENGTH', COLOR_TEMPERATURE='COLOR_TEMPERATURE', FREQUENCY='FREQUENCY') + +.. data:: systems + + Constant value bpy.utils.units.systems(NONE='NONE', METRIC='METRIC', IMPERIAL='IMPERIAL') + +.. function:: to_string(unit_system, unit_category, value, *, precision=3, split_unit=False, compatible_unit=False) + + Convert a given input float value into a string with units. + + :param unit_system: The unit system, from :attr:`bpy.utils.units.systems`. + :type unit_system: str + :param unit_category: The category of data we are converting (length, area, rotation, etc.), + from :attr:`bpy.utils.units.categories`. + :type unit_category: str + :param value: The value to convert to a string. + :type value: float + :param precision: Number of digits after the decimal point. + :type precision: int + :param split_unit: Whether to use several units if needed (1m1cm), or always only one (1.01m). + :type split_unit: bool + :param compatible_unit: Whether to use keyboard-friendly units (1m2) or nicer UTF8 ones (1m²). + :type compatible_unit: bool + :return: The converted string. + :rtype: str + :raises ValueError: if conversion fails to generate a valid Python string. + + +.. function:: to_value(unit_system, unit_category, str_input, *, str_ref_unit=None) + + Convert a given input string into a float value. + + :param unit_system: The unit system, from :attr:`bpy.utils.units.systems`. + :type unit_system: str + :param unit_category: The category of data we are converting (length, area, rotation, etc.), + from :attr:`bpy.utils.units.categories`. + :type unit_category: str + :param str_input: The string to convert to a float value. + :type str_input: str + :param str_ref_unit: A reference string from which to extract a default unit, if none is found in ``str_input``. + :type str_ref_unit: str | None + :return: The converted/interpreted value. + :rtype: float + :raises ValueError: if conversion fails to generate a valid Python float value. + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.anim_utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.anim_utils.rst new file mode 100644 index 0000000..381f727 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.anim_utils.rst @@ -0,0 +1,193 @@ +bpy_extras submodule (bpy_extras.anim_utils) +============================================ + +.. module:: bpy_extras.anim_utils + +.. function:: bake_action(obj, *, action, frames, bake_options) + + :param obj: Object to bake. + :type obj: :class:`bpy.types.Object` + :param action: An action to bake the data into, or None for a new action + to be created. + :type action: :class:`bpy.types.Action` | None + :param frames: Frames to bake. + :type frames: Iterable[int] + :param bake_options: Options for baking. + :type bake_options: :class:`anim_utils.BakeOptions` + :return: Action or None. + :rtype: :class:`bpy.types.Action` | None + +.. function:: bake_action_objects(object_action_pairs, *, frames, bake_options) + + A version of :func:`bake_action_objects_iter` that takes frames and returns the output. + + :param object_action_pairs: Sequence of object action tuples, + action is the destination for the baked data. When None a new action will be created. + :type object_action_pairs: Sequence[tuple[:class:`bpy.types.Object`, :class:`bpy.types.Action` | None]] + :param frames: Frames to bake. + :type frames: Iterable[int] + :param bake_options: Options for baking. + :type bake_options: :class:`anim_utils.BakeOptions` + :return: A sequence of Action or None types (aligned with ``object_action_pairs``) + :rtype: Sequence[:class:`bpy.types.Action`] + +.. function:: bake_action_iter(obj, *, action, bake_options) + + A coroutine that bakes action for a single object. + + :param obj: Object to bake. + :type obj: :class:`bpy.types.Object` + :param action: An action to bake the data into, or None for a new action + to be created. + :type action: :class:`bpy.types.Action` | None + :param bake_options: Options for baking. + :type bake_options: :class:`anim_utils.BakeOptions` + :return: an action or None + :rtype: :class:`bpy.types.Action` | None + +.. function:: bake_action_objects_iter(object_action_pairs, bake_options) + + A coroutine that bakes actions for multiple objects. + + :param object_action_pairs: Sequence of object action tuples, + action is the destination for the baked data. When None a new action will be created. + :type object_action_pairs: Sequence[tuple[:class:`bpy.types.Object`, :class:`bpy.types.Action` | None]] + :param bake_options: Options for baking. + :type bake_options: :class:`anim_utils.BakeOptions` + :return: A generator that yields None for each frame, then finally + yields a tuple of actions (aligned with *object_action_pairs*). + :rtype: Generator + +.. class:: AutoKeying + + Auto-keying support. + + .. classmethod:: active_keyingset(context) + + Return the active keying set, if it should be used. + + Only returns the active keying set when the auto-key settings indicate + it should be used, and when it is not using absolute paths (because + that's not supported by the Copy Global Transform add-on). + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: The active keying set, or None when it should not be used. + :rtype: :class:`bpy.types.KeyingSet` | None + + .. classmethod:: autokey_transformation(context, target) + + Auto-key transformation properties. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :param target: The object or pose bone to keyframe. + :type target: :class:`bpy.types.Object` | :class:`bpy.types.PoseBone` + + .. classmethod:: autokeying_options(context) + + Retrieve the Auto Keyframe options, or None if disabled. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: The keyframing option flags, or None when auto-keying is disabled. + :rtype: set[str] | None + + .. classmethod:: key_transformation(target, options) + + Keyframe transformation properties, avoiding keying locked channels. + + :param target: The object or pose bone to keyframe. + :type target: :class:`bpy.types.Object` | :class:`bpy.types.PoseBone` + :param options: Keyframing options. + :type options: set[str] + + .. classmethod:: key_transformation_via_keyingset(context, target, keyingset) + + Auto-key transformation properties with the given keying set. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :param target: The object or pose bone to keyframe. + :type target: :class:`bpy.types.Object` | :class:`bpy.types.PoseBone` + :param keyingset: The keying set to use. + :type keyingset: :class:`bpy.types.KeyingSet` + + .. classmethod:: keyframe_channels(target, options, data_path, group, locks) + + Keyframe channels, avoiding keying locked channels. + + :param target: The object or pose bone to keyframe. + :type target: :class:`bpy.types.Object` | :class:`bpy.types.PoseBone` + :param options: Keyframing options. + :type options: set[str] + :param data_path: The data path to keyframe. + :type data_path: str + :param group: The group name for the keyframes. + :type group: str + :param locks: Per-channel lock status. + :type locks: Iterable[bool] + + .. classmethod:: keying_options(context) + + Retrieve the general keyframing options from user preferences. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: The keyframing option flags. + :rtype: set[str] + + .. classmethod:: keying_options_from_keyingset(context, keyingset) + + Retrieve the general keyframing options from user preferences. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :param keyingset: The keying set to read options from. + :type keyingset: :class:`bpy.types.KeyingSet` + :return: The keyframing option flags. + :rtype: set[str] + + .. classmethod:: keytype(the_keytype) + + Context manager to set the key type that's inserted. + + :param the_keytype: The key type to use. + :type the_keytype: str + :return: A context manager that resets the key type on exit. + :rtype: Iterator[None] + + .. classmethod:: options(*, keytype='', use_loc=True, use_rot=True, use_scale=True, force_autokey=False) + + Context manager to set various keyframing options. + + :param keytype: The key type to use. + :type keytype: str + :param use_loc: Key location channels. + :type use_loc: bool + :param use_rot: Key rotation channels. + :type use_rot: bool + :param use_scale: Key scale channels. + :type use_scale: bool + :param force_autokey: Allow use without the user activating auto-keying. + :type force_autokey: bool + :return: A context manager that resets the options on exit. + :rtype: Iterator[None] + + .. staticmethod:: get_4d_rotlock(bone) + + Retrieve the lock status for 4D rotation. + + :param bone: The pose bone to check. + :type bone: :class:`bpy.types.PoseBone` + :return: Lock status for W, X, Y, Z rotation channels. + :rtype: list[bool] + + + +.. class:: BakeOptions + + BakeOptions(only_selected: bool, do_pose: bool, do_object: bool, do_visual_keying: bool, do_constraint_clear: bool, do_parents_clear: bool, do_clean: bool, do_location: bool, do_rotation: bool, do_scale: bool, do_bbone: bool, do_custom_props: bool) + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.asset_utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.asset_utils.rst new file mode 100644 index 0000000..e86c296 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.asset_utils.rst @@ -0,0 +1,70 @@ +bpy_extras submodule (bpy_extras.asset_utils) +============================================= + +.. module:: bpy_extras.asset_utils + +Helpers for asset management tasks. + +.. class:: AssetBrowserPanel + + Mixin class for panels that should only show in the asset browser. + + .. classmethod:: asset_browser_panel_poll(context) + + Check if the panel should be shown in the asset browser. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: True when the panel should be visible. + :rtype: bool + + .. classmethod:: poll(context) + + Poll for asset browser visibility. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: True when the panel should be visible. + :rtype: bool + + + +.. class:: AssetMetaDataPanel + + Mixin class for panels that display asset metadata in the asset browser. + + .. classmethod:: poll(context) + + Poll for asset browser with active asset metadata. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: True when the asset browser has active asset data. + :rtype: bool + + + +.. class:: SpaceAssetInfo + + Utility class for checking if a space is an asset browser. + + .. classmethod:: is_asset_browser(space_data) + + Check if the given space is an asset browser. + + :param space_data: The space to check. + :type space_data: :class:`bpy.types.Space` + :return: True when the space is an asset browser. + :rtype: bool + + .. classmethod:: is_asset_browser_poll(context) + + Poll whether the active space is an asset browser. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: True when the active space is an asset browser. + :rtype: bool + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.id_map_utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.id_map_utils.rst new file mode 100644 index 0000000..7140cdd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.id_map_utils.rst @@ -0,0 +1,23 @@ +bpy_extras submodule (bpy_extras.id_map_utils) +============================================== + +.. module:: bpy_extras.id_map_utils + +.. function:: get_id_reference_map() + + Return a dictionary of direct data-block references for every data-block in the blend file. + + :return: Each datablock of the .blend file mapped to the set of IDs they directly reference. + :rtype: dict[bpy.types.ID, set[bpy.types.ID]] + +.. function:: get_all_referenced_ids(id, ref_map) + + Return a set of IDs directly or indirectly referenced by id. + + :param id: Datablock whose references we're interested in. + :type id: bpy.types.ID + :param ref_map: The global ID reference map, retrieved from get_id_reference_map() + :type ref_map: dict[bpy.types.ID, set[bpy.types.ID]] + :return: Set of datablocks referenced by `id`. + :rtype: set[bpy.types.ID] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.image_utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.image_utils.rst new file mode 100644 index 0000000..173a1b4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.image_utils.rst @@ -0,0 +1,46 @@ +bpy_extras submodule (bpy_extras.image_utils) +============================================= + +.. module:: bpy_extras.image_utils + +.. function:: load_image(imagepath, dirname='', place_holder=False, recursive=False, ncase_cmp=True, convert_callback=None, verbose=False, relpath=None, check_existing=False, force_reload=False) + + Return an image from the file path with options to search multiple paths + and return a placeholder if it's not found. + + :param imagepath: The image filename + If a path precedes it, this will be searched as well. + :type imagepath: str + :param dirname: is the directory where the image may be located - any file at + the end will be ignored. + :type dirname: str + :param place_holder: if True a new place holder image will be created. + this is useful so later you can relink the image to its original data. + :type place_holder: bool + :param recursive: If True, directories will be recursively searched. + Be careful with this if you have files in your root directory because + it may take a long time. + :type recursive: bool + :param ncase_cmp: on non windows systems, find the correct case for the file. + :type ncase_cmp: bool + :param convert_callback: a function that takes an existing path and returns + a new one. Use this when loading image formats blender may not support, + the CONVERT_CALLBACK can take the path for a GIF (for example), + convert it to a PNG and return the PNG's path. + For formats blender can read, simply return the path that is given. + :type convert_callback: Callable[[str], str] | None + :param verbose: If True, print extra information when searching for the image. + :type verbose: bool + :param relpath: If not None, make the file relative to this path. + :type relpath: str | None + :param check_existing: If true, + returns already loaded image data-block if possible + (based on file path). + :type check_existing: bool + :param force_reload: If true, + force reloading of image (only useful when ``check_existing`` + is also enabled). + :type force_reload: bool + :return: an image or None + :rtype: :class:`bpy.types.Image` | None + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.io_utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.io_utils.rst new file mode 100644 index 0000000..e2f5029 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.io_utils.rst @@ -0,0 +1,205 @@ +bpy_extras submodule (bpy_extras.io_utils) +========================================== + +.. module:: bpy_extras.io_utils + +.. function:: orientation_helper(axis_forward='Y', axis_up='Z') + + A decorator for import/export classes, generating properties needed by the axis conversion system and IO helpers, + with specified default values (axes). + + :param axis_forward: The default forward axis. + :type axis_forward: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param axis_up: The default up axis. + :type axis_up: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :return: A class decorator. + :rtype: Callable[[type], type] + +.. function:: axis_conversion(from_forward='Y', from_up='Z', to_forward='Y', to_up='Z') + + Each argument is an axis + where the first 2 are a source and the second 2 are the target. + + :param from_forward: Source forward axis. + :type from_forward: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param from_up: Source up axis. + :type from_up: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param to_forward: Target forward axis. + :type to_forward: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param to_up: Target up axis. + :type to_up: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :return: The conversion matrix. + :rtype: :class:`mathutils.Matrix` + +.. function:: axis_conversion_ensure(operator, forward_attr, up_attr) + + Function to ensure an operator has valid axis conversion settings, intended + to be used from :class:`bpy.types.Operator.check`. + + :param operator: the operator to access axis attributes from. + :type operator: :class:`bpy.types.Operator` + :param forward_attr: attribute storing the forward axis + :type forward_attr: str + :param up_attr: attribute storing the up axis + :type up_attr: str + :return: True if the value was modified. + :rtype: bool + +.. function:: create_derived_objects(depsgraph, objects) + + This function takes a sequence of objects, returning their instances. + + :param depsgraph: The evaluated depsgraph. + :type depsgraph: :class:`bpy.types.Depsgraph` + :param objects: A sequence of objects. + :type objects: Sequence[:class:`bpy.types.Object`] + :return: A dictionary where each key is an object from ``objects``, + values are lists of (object, matrix) tuples representing instances. + :rtype: dict[:class:`bpy.types.Object`, list[tuple[:class:`bpy.types.Object`, :class:`mathutils.Matrix`]]] + +.. function:: poll_file_object_drop(context) + + A default implementation for FileHandler poll_drop methods. Allows for both the 3D Viewport and + the Outliner (in ViewLayer display mode) to be targets for file drag and drop. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: Whether the drop target is valid. + :rtype: bool + +.. function:: unpack_list(list_of_tuples) + + Flatten a sequence of tuples into a single list. + + :param list_of_tuples: A sequence of tuples to unpack. + :type list_of_tuples: Sequence[tuple] + :return: A flat list of all values. + :rtype: list + +.. function:: unpack_face_list(list_of_tuples) + + Unpack a list of faces (triangles or quads) into a flat list, + padding triangles with a zero to fit into groups of four. + + :param list_of_tuples: A sequence of face index tuples (3 or 4 elements each). + :type list_of_tuples: Sequence[tuple[int, ...]] + :return: A flat list of face indices, padded with zeros. + :rtype: list[int] + +.. function:: path_reference(filepath, base_src, base_dst, mode='AUTO', copy_subdir='', copy_set=None, library=None) + + Return a filepath relative to a destination directory, for use with + exporters. + + :param filepath: the file path to return, + supporting blenders relative '//' prefix. + :type filepath: str + :param base_src: the directory the *filepath* is relative to + (normally the blend file). + :type base_src: str + :param base_dst: the directory the *filepath* will be referenced from + (normally the export path). + :type base_dst: str + :param mode: the method used to reference the path. + :type mode: Literal['AUTO', 'ABSOLUTE', 'RELATIVE', 'MATCH', 'STRIP', 'COPY'] + :param copy_subdir: the subdirectory of *base_dst* to use when mode='COPY'. + :type copy_subdir: str + :param copy_set: collect from/to pairs when mode='COPY', + pass to *path_reference_copy* when exporting is done. + :type copy_set: set[tuple[str, str]] | None + :param library: The library this path is relative to. + :type library: :class:`bpy.types.Library` | None + :return: the new filepath. + :rtype: str + +.. function:: path_reference_copy(copy_set, report=) + + Execute copying files of path_reference + + :param copy_set: set of (from, to) pairs to copy. + :type copy_set: set[tuple[str, str]] + :param report: function used for reporting warnings, takes a string argument. + :type report: Callable[[str], None] + +.. function:: unique_name(key, name, name_dict, name_max=-1, clean_func=None, sep='.') + + Helper function for storing unique names which may have special characters + stripped and restricted to a maximum length. + + :param key: Unique item this name belongs to, name_dict[key] will be reused + when available. + This can be the object, mesh, material, etc instance itself. + Any hashable object associated with the *name*. + :type key: Any + :param name: The name used to create a unique value in *name_dict*. + :type name: str + :param name_dict: This is used to cache namespace to ensure no collisions + occur, this should be an empty dict initially and only modified by this + function. + :type name_dict: dict[Any, str] + :param name_max: Maximum length of the name. When ``-1`` the name is unlimited. + :type name_max: int + :param clean_func: Function to call on *name* before creating a unique value. + :type clean_func: Callable[[str], str] | None + :param sep: Separator to use when between the name and a number when a + duplicate name is found. + :type sep: str + :return: A unique name. + :rtype: str + +.. class:: ExportHelper + + + .. method:: check(_context) + + Validate the filepath and axis conversion settings. + + :return: True when a property was updated. + :rtype: bool + + .. method:: invoke(context, _event) + + Invoke the file selector for exporting, setting a default filepath + based on the current blend file name. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: The operator return value. + :rtype: set[str] + + + +.. class:: ImportHelper + + + .. method:: check(_context) + + Validate axis conversion settings. + + :return: True when a property was updated. + :rtype: bool + + .. method:: invoke(context, _event) + + Invoke the file selector for importing. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: The operator return value. + :rtype: set[str] + + .. method:: invoke_popup(context, confirm_text='') + + Invoke as a popup confirmation dialog when a filepath is already set, + otherwise fall back to the file selector. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :param confirm_text: Label for the confirm button, + defaults to the operator label. + :type confirm_text: str + :return: The operator return value. + :rtype: set[str] + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.keyconfig_utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.keyconfig_utils.rst new file mode 100644 index 0000000..885b28e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.keyconfig_utils.rst @@ -0,0 +1,30 @@ +bpy_extras submodule (bpy_extras.keyconfig_utils) +================================================= + +.. module:: bpy_extras.keyconfig_utils + +.. function:: addon_keymap_register(keymap_data) + + Register a set of keymaps for addons using a list of keymaps. + + See 'blender_default.py' for examples of the format this takes. + + :param keymap_data: A list of keymap definitions to register. + :type keymap_data: list[tuple[str, dict[str, Any], dict[str, Any]]] + +.. function:: addon_keymap_unregister(keymap_data) + + Unregister a set of keymaps for addons. + + :param keymap_data: A list of keymap definitions to unregister. + :type keymap_data: list[tuple[str, dict[str, Any], dict[str, Any]]] + +.. function:: keyconfig_test(kc) + + Test a key configuration for duplicate key-map item assignments. + + :param kc: The key configuration to test. + :type kc: :class:`bpy.types.KeyConfig` + :return: True if any duplicates were found. + :rtype: bool + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.mesh_utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.mesh_utils.rst new file mode 100644 index 0000000..b7e70f3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.mesh_utils.rst @@ -0,0 +1,84 @@ +bpy_extras submodule (bpy_extras.mesh_utils) +============================================ + +.. module:: bpy_extras.mesh_utils + +.. function:: mesh_linked_uv_islands(mesh) + + Returns lists of polygon indices connected by UV islands. + + :param mesh: the mesh used to group with. + :type mesh: :class:`bpy.types.Mesh` + :return: list of lists containing polygon indices + :rtype: list[list[int]] + +.. function:: mesh_linked_triangles(mesh) + + Splits the mesh into connected triangles, use this for separating cubes from + other mesh elements within 1 mesh data-block. + + :param mesh: the mesh used to group with. + :type mesh: :class:`bpy.types.Mesh` + :return: Lists of lists containing triangles. + :rtype: list[list[:class:`bpy.types.MeshLoopTriangle`]] + +.. function:: edge_face_count_dict(mesh) + + :param mesh: The mesh to count edges for. + :type mesh: :class:`bpy.types.Mesh` + :return: Dictionary of edge keys with their value set to the number of faces using each edge. + :rtype: dict[tuple[int, int], int] + +.. function:: edge_face_count(mesh) + + :param mesh: The mesh to count edges for. + :type mesh: :class:`bpy.types.Mesh` + :return: list of face users for each item in mesh.edges. + :rtype: list[int] + +.. function:: edge_loops_from_edges(mesh, edges=None) + + Edge loops defined by edges. + + Takes mesh.edges or a list of edges and returns the edge loops + as a list of vertex indices. + Closed loops have matching start and end values. + + :param mesh: The mesh to extract edge loops from. + :type mesh: :class:`bpy.types.Mesh` + :param edges: Edges to use, or None to use all edges in the mesh. + :type edges: list[:class:`bpy.types.MeshEdge`] | None + :return: A list of edge loops, each a list of vertex indices. + :rtype: list[list[int]] + +.. function:: ngon_tessellate(from_data, indices, fix_loops=True, debug_print=True) + + Takes a poly-line of indices (ngon) and returns a list of face + index lists. Designed to be used for importers that need indices for an + ngon to create from existing verts. + + :param from_data: Either a mesh, or a list/tuple of 3D vectors. + :type from_data: :class:`bpy.types.Mesh` | list[Sequence[float]] | tuple[Sequence[float]] + :param indices: a list of indices to use. + This list is the ordered closed poly-line to fill, and can be a subset of the data given. + :type indices: list[int] + :param fix_loops: If this is enabled poly-lines + that use loops to make multiple + poly-lines are dealt with correctly. + :type fix_loops: bool + :param debug_print: Print debug information to the console. + :type debug_print: bool + :return: Tessellated faces as a list of triangle index tuples. + :rtype: list[tuple[int, int, int]] + +.. function:: triangle_random_points(num_points, loop_triangles) + + Generates a list of random points over mesh loop triangles. + + :param num_points: The number of random points to generate on each triangle. + :type num_points: int + :param loop_triangles: Sequence of the triangles to generate points on. + :type loop_triangles: Sequence[:class:`bpy.types.MeshLoopTriangle`] + :return: List of random points over all triangles. + :rtype: list[:class:`mathutils.Vector`] + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.node_utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.node_utils.rst new file mode 100644 index 0000000..193ab21 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.node_utils.rst @@ -0,0 +1,45 @@ +bpy_extras submodule (bpy_extras.node_utils) +============================================ + +.. module:: bpy_extras.node_utils + +.. function:: connect_sockets(input, output) + + Connect sockets in a node tree. + + This is useful because the links created through the normal Python API are + invalid when one of the sockets is a virtual socket (grayed out sockets in + Group Input and Group Output nodes). + + It replaces node_tree.links.new(input, output) + + :param input: The input socket. + :type input: :class:`bpy.types.NodeSocket` + :param output: The output socket. + :type output: :class:`bpy.types.NodeSocket` + +.. function:: find_base_socket_type(socket) + + Find the base class of the socket. + + Sockets can have a subtype such as NodeSocketFloatFactor, + but only the base type is allowed, e.g. NodeSocketFloat + + :param socket: The socket to find the base type for. + :type socket: :class:`bpy.types.NodeSocket` + :return: The base socket type identifier. + :rtype: str + +.. function:: find_node_input(node, name) + + Find a node input socket by name. + + Note that names are not unique, returns the first match. + + :param node: The node to search. + :type node: :class:`bpy.types.Node` + :param name: The name of the input socket. + :type name: str + :return: The input socket or None if not found. + :rtype: :class:`bpy.types.NodeSocket` | None + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.object_utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.object_utils.rst new file mode 100644 index 0000000..f80b0e1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.object_utils.rst @@ -0,0 +1,105 @@ +bpy_extras submodule (bpy_extras.object_utils) +============================================== + +.. module:: bpy_extras.object_utils + +.. function:: add_object_align_init(context, operator) + + Return a matrix using the operator settings and view context. + + :param context: The context to use. + :type context: :class:`bpy.types.Context` + :param operator: The operator, checked for location and rotation properties. + :type operator: :class:`bpy.types.Operator` | None + :return: the matrix from the context and settings. + :rtype: :class:`mathutils.Matrix` + +.. function:: object_data_add(context, obdata, operator=None, name=None) + + Add an object using the view context and preference to initialize the + location, rotation and layer. + + :param context: The context to use. + :type context: :class:`bpy.types.Context` + :param obdata: Valid object data to be used for the new object or None. + :type obdata: :class:`bpy.types.ID` | None + :param operator: The operator, checked for location and rotation properties. + :type operator: :class:`bpy.types.Operator` | None + :param name: Optional name + :type name: str | None + :return: the newly created object in the scene. + :rtype: :class:`bpy.types.Object` + +.. function:: object_add_grid_scale(context) + + Return scale which should be applied on object + data to align it to grid scale. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: The grid scale. + :rtype: float + +.. function:: object_add_grid_scale_apply_operator(operator, context) + + Scale an operator's distance values by the grid size. + + :param operator: The operator to scale. + :type operator: :class:`bpy.types.Operator` + :param context: The context. + :type context: :class:`bpy.types.Context` + +.. function:: world_to_camera_view(scene, obj, coord) + + Returns the camera space coords for a 3d point. + (also known as: normalized device coordinates - NDC). + + Where (0, 0) is the bottom left and (1, 1) + is the top right of the camera frame. + values outside 0-1 are also supported. + A negative 'z' value means the point is behind the camera. + + Takes shift-x/y, lens angle and sensor size into account + as well as perspective/ortho projections. + + :param scene: Scene to use for frame size. + :type scene: :class:`bpy.types.Scene` + :param obj: Camera object. + :type obj: :class:`bpy.types.Object` + :param coord: World space location. + :type coord: :class:`mathutils.Vector` + :return: a vector where X and Y map to the view plane and + Z is the depth on the view axis. + :rtype: :class:`mathutils.Vector` + +.. function:: object_report_if_active_shape_key_is_locked(obj, operator) + + Checks if the active shape key of the specified object is locked, and reports an error if so. + + If the object has no shape keys, there is nothing to lock, and the function returns False. + + :param obj: Object to check. + :type obj: :class:`bpy.types.Object` + :param operator: Currently running operator to report the error through. Use None to suppress emitting the message. + :type operator: :class:`bpy.types.Operator` | None + :return: True if the shape key was locked. + :rtype: bool + +.. class:: AddObjectHelper + + + .. method:: align_update_callback(_context) + + Update callback for the align property, resets rotation for world alignment. + + .. classmethod:: poll(context) + + Check the scene is not linked from a library. + + :param context: The context. + :type context: :class:`bpy.types.Context` + :return: True when the scene is local (not linked from a library). + :rtype: bool + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.rst new file mode 100644 index 0000000..5e68869 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.rst @@ -0,0 +1,22 @@ +Extra Utilities (bpy_extras) +============================ + +.. module:: bpy_extras + +Utility modules associated with the bpy module. + +.. toctree:: + :maxdepth: 1 + :caption: Submodules + + bpy_extras.anim_utils.rst + bpy_extras.asset_utils.rst + bpy_extras.object_utils.rst + bpy_extras.io_utils.rst + bpy_extras.image_utils.rst + bpy_extras.keyconfig_utils.rst + bpy_extras.mesh_utils.rst + bpy_extras.node_utils.rst + bpy_extras.view3d_utils.rst + bpy_extras.id_map_utils.rst + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.view3d_utils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.view3d_utils.rst new file mode 100644 index 0000000..2d70118 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_extras.view3d_utils.rst @@ -0,0 +1,81 @@ +bpy_extras submodule (bpy_extras.view3d_utils) +============================================== + +.. module:: bpy_extras.view3d_utils + +.. function:: region_2d_to_vector_3d(region, rv3d, coord) + + Return a direction vector from the viewport at the specific 2D region + coordinate. + + :param region: region of the 3D viewport, typically bpy.context.region. + :type region: :class:`bpy.types.Region` + :param rv3d: 3D region data, typically bpy.context.space_data.region_3d. + :type rv3d: :class:`bpy.types.RegionView3D` + :param coord: 2D coordinates relative to the region: + (event.mouse_region_x, event.mouse_region_y) for example. + :type coord: Sequence[float] + :return: normalized 3D vector. + :rtype: :class:`mathutils.Vector` + +.. function:: region_2d_to_origin_3d(region, rv3d, coord, *, clamp=None) + + Return the 3D view origin from the region relative 2D coords. + + .. note:: + + Orthographic views have a less obvious origin, + the far clip is used to define the viewport near/far extents. + Since far clip can be a very large value, + the result may have numeric precision issues. + + To avoid this problem, you can optionally clamp the far clip to a + smaller value based on the data you're operating on. + + :param region: region of the 3D viewport, typically bpy.context.region. + :type region: :class:`bpy.types.Region` + :param rv3d: 3D region data, typically bpy.context.space_data.region_3d. + :type rv3d: :class:`bpy.types.RegionView3D` + :param coord: 2D coordinates relative to the region; + (event.mouse_region_x, event.mouse_region_y) for example. + :type coord: Sequence[float] + :param clamp: Clamp the maximum far-clip value used. + (negative value will move the offset away from the view_location) + :type clamp: float | None + :return: The origin of the viewpoint in 3D space. + :rtype: :class:`mathutils.Vector` + +.. function:: region_2d_to_location_3d(region, rv3d, coord, depth_location) + + Return a 3D location from the region relative 2D coords, aligned with + *depth_location*. + + :param region: region of the 3D viewport, typically bpy.context.region. + :type region: :class:`bpy.types.Region` + :param rv3d: 3D region data, typically bpy.context.space_data.region_3d. + :type rv3d: :class:`bpy.types.RegionView3D` + :param coord: 2D coordinates relative to the region; + (event.mouse_region_x, event.mouse_region_y) for example. + :type coord: Sequence[float] + :param depth_location: the returned vectors depth is aligned with this since + there is no defined depth with a 2D region input. + :type depth_location: :class:`mathutils.Vector` + :return: normalized 3D vector. + :rtype: :class:`mathutils.Vector` + +.. function:: location_3d_to_region_2d(region, rv3d, coord, *, default=None) + + Return the *region* relative 2D location of a 3D position. + + :param region: region of the 3D viewport, typically bpy.context.region. + :type region: :class:`bpy.types.Region` + :param rv3d: 3D region data, typically bpy.context.space_data.region_3d. + :type rv3d: :class:`bpy.types.RegionView3D` + :param coord: 3D world-space location. + :type coord: :class:`mathutils.Vector` + :param default: Return this value if ``coord`` + is behind the origin of a perspective view. + :type default: Any + :return: 2D location + :rtype: :class:`mathutils.Vector` | Any + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_custom_properties.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_custom_properties.rst new file mode 100644 index 0000000..8955790 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_custom_properties.rst @@ -0,0 +1,29 @@ +.. _bpy_types-custom_properties: + +Types with Custom Property Support +================================== + + +The following types (and their sub-types) have custom-property access. + +For examples on using custom properties see the quick-start section on +:ref:`info_quickstart-custom_properties`. + +- :class:`bpy.types.Bone` +- :class:`bpy.types.BoneCollection` +- :class:`bpy.types.EditBone` +- :class:`bpy.types.GizmoGroupProperties` +- :class:`bpy.types.GizmoProperties` +- :class:`bpy.types.ID` +- :class:`bpy.types.KeyConfigPreferences` +- :class:`bpy.types.Node` +- :class:`bpy.types.NodeSocket` +- :class:`bpy.types.NodeTreeInterfaceSocket` +- :class:`bpy.types.NodesModifier` +- :class:`bpy.types.OperatorProperties` +- :class:`bpy.types.PoseBone` +- :class:`bpy.types.PropertyGroup` +- :class:`bpy.types.Strip` +- :class:`bpy.types.TimelineMarker` +- :class:`bpy.types.View3DShading` +- :class:`bpy.types.ViewLayer` diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/asset_library_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/asset_library_type_items.rst new file mode 100644 index 0000000..28e54b9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/asset_library_type_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_asset_library_type_items: + +Asset Library Type Items +######################## + +:ALL: All Libraries. + + Show assets from all of the listed asset libraries. +:LOCAL: Current File. + + Show the assets currently available in this Blender session. +:ESSENTIALS: Essentials. + + Show the basic building blocks and utilities coming with Blender. +:CUSTOM: Custom. + + Show assets from the asset libraries configured in the Preferences. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attr_storage_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attr_storage_type_items.rst new file mode 100644 index 0000000..116e17c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attr_storage_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_attr_storage_type_items: + +Attr Storage Type Items +####################### + +:ARRAY: Array. + + Store a value for every element. +:SINGLE: Single. + + Store a single value for the entire domain. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_curves_domain_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_curves_domain_items.rst new file mode 100644 index 0000000..0fa7ef8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_curves_domain_items.rst @@ -0,0 +1,9 @@ +.. _rna_enum_attribute_curves_domain_items: + +Attribute Curves Domain Items +############################# + +:POINT: Control Point. + +:CURVE: Curve. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_edge_face_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_edge_face_items.rst new file mode 100644 index 0000000..5c53190 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_edge_face_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_attribute_domain_edge_face_items: + +Attribute Domain Edge Face Items +################################ + +:EDGE: Edge. + + Attribute on mesh edge. +:FACE: Face. + + Attribute on mesh faces. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_items.rst new file mode 100644 index 0000000..1659bf0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_items.rst @@ -0,0 +1,26 @@ +.. _rna_enum_attribute_domain_items: + +Attribute Domain Items +###################### + +:POINT: Point. + + Attribute on point. +:EDGE: Edge. + + Attribute on mesh edge. +:FACE: Face. + + Attribute on mesh faces. +:CORNER: Face Corner. + + Attribute on mesh face corner. +:CURVE: Spline. + + Attribute on spline. +:INSTANCE: Instance. + + Attribute on instance. +:LAYER: Layer. + + Attribute on Grease Pencil layer. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_only_mesh_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_only_mesh_items.rst new file mode 100644 index 0000000..6eb8bd1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_only_mesh_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_attribute_domain_only_mesh_items: + +Attribute Domain Only Mesh Items +################################ + +:POINT: Point. + + Attribute on point. +:EDGE: Edge. + + Attribute on mesh edge. +:FACE: Face. + + Attribute on mesh faces. +:CORNER: Face Corner. + + Attribute on mesh face corner. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_only_mesh_no_corner_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_only_mesh_no_corner_items.rst new file mode 100644 index 0000000..eaf224f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_only_mesh_no_corner_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_attribute_domain_only_mesh_no_corner_items: + +Attribute Domain Only Mesh No Corner Items +########################################## + +:POINT: Point. + + Attribute on point. +:EDGE: Edge. + + Attribute on mesh edge. +:FACE: Face. + + Attribute on mesh faces. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_only_mesh_no_edge_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_only_mesh_no_edge_items.rst new file mode 100644 index 0000000..d5ff9ee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_only_mesh_no_edge_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_attribute_domain_only_mesh_no_edge_items: + +Attribute Domain Only Mesh No Edge Items +######################################## + +:POINT: Point. + + Attribute on point. +:FACE: Face. + + Attribute on mesh faces. +:CORNER: Face Corner. + + Attribute on mesh face corner. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_point_edge_face_curve_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_point_edge_face_curve_items.rst new file mode 100644 index 0000000..4cad759 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_point_edge_face_curve_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_attribute_domain_point_edge_face_curve_items: + +Attribute Domain Point Edge Face Curve Items +############################################ + +:POINT: Point. + + Attribute on point. +:EDGE: Edge. + + Attribute on mesh edge. +:FACE: Face. + + Attribute on mesh faces. +:CURVE: Spline. + + Attribute on spline. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_point_face_curve_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_point_face_curve_items.rst new file mode 100644 index 0000000..abcdabd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_point_face_curve_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_attribute_domain_point_face_curve_items: + +Attribute Domain Point Face Curve Items +####################################### + +:POINT: Point. + + Attribute on point. +:FACE: Face. + + Attribute on mesh faces. +:CURVE: Spline. + + Attribute on spline. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_with_auto_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_with_auto_items.rst new file mode 100644 index 0000000..40bba10 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_with_auto_items.rst @@ -0,0 +1,28 @@ +.. _rna_enum_attribute_domain_with_auto_items: + +Attribute Domain With Auto Items +################################ + +:AUTO: Auto. + +:POINT: Point. + + Attribute on point. +:EDGE: Edge. + + Attribute on mesh edge. +:FACE: Face. + + Attribute on mesh faces. +:CORNER: Face Corner. + + Attribute on mesh face corner. +:CURVE: Spline. + + Attribute on spline. +:INSTANCE: Instance. + + Attribute on instance. +:LAYER: Layer. + + Attribute on Grease Pencil layer. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_without_corner_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_without_corner_items.rst new file mode 100644 index 0000000..3b2004a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_domain_without_corner_items.rst @@ -0,0 +1,23 @@ +.. _rna_enum_attribute_domain_without_corner_items: + +Attribute Domain Without Corner Items +##################################### + +:POINT: Point. + + Attribute on point. +:EDGE: Edge. + + Attribute on mesh edge. +:FACE: Face. + + Attribute on mesh faces. +:CURVE: Spline. + + Attribute on spline. +:INSTANCE: Instance. + + Attribute on instance. +:LAYER: Layer. + + Attribute on Grease Pencil layer. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_type_items.rst new file mode 100644 index 0000000..92af03e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_type_items.rst @@ -0,0 +1,44 @@ +.. _rna_enum_attribute_type_items: + +Attribute Type Items +#################### + +:FLOAT: Float. + + Floating-point value. +:INT: Integer. + + 32-bit integer. +:BOOLEAN: Boolean. + + True or false. +:FLOAT_VECTOR: Vector. + + 3D vector with floating-point values. +:FLOAT_COLOR: Color. + + RGBA color with 32-bit floating-point values. +:QUATERNION: Quaternion. + + Floating point quaternion rotation. +:FLOAT4X4: 4x4 Matrix. + + Floating point matrix. +:STRING: String. + + Text string. +:INT8: 8-Bit Integer. + + Smaller integer with a range from -128 to 127. +:INT16_2D: 2D 16-Bit Integer Vector. + + 16-bit signed integer vector. +:INT32_2D: 2D Integer Vector. + + 32-bit signed integer vector. +:FLOAT2: 2D Vector. + + 2D vector with floating-point values. +:BYTE_COLOR: Byte Color. + + RGBA color with 8-bit positive integer values. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_type_with_auto_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_type_with_auto_items.rst new file mode 100644 index 0000000..172a2b2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/attribute_type_with_auto_items.rst @@ -0,0 +1,46 @@ +.. _rna_enum_attribute_type_with_auto_items: + +Attribute Type With Auto Items +############################## + +:AUTO: Auto. + +:FLOAT: Float. + + Floating-point value. +:INT: Integer. + + 32-bit integer. +:BOOLEAN: Boolean. + + True or false. +:FLOAT_VECTOR: Vector. + + 3D vector with floating-point values. +:FLOAT_COLOR: Color. + + RGBA color with 32-bit floating-point values. +:QUATERNION: Quaternion. + + Floating point quaternion rotation. +:FLOAT4X4: 4x4 Matrix. + + Floating point matrix. +:STRING: String. + + Text string. +:INT8: 8-Bit Integer. + + Smaller integer with a range from -128 to 127. +:INT16_2D: 2D 16-Bit Integer Vector. + + 16-bit signed integer vector. +:INT32_2D: 2D Integer Vector. + + 32-bit signed integer vector. +:FLOAT2: 2D Vector. + + 2D vector with floating-point values. +:BYTE_COLOR: Byte Color. + + RGBA color with 8-bit positive integer values. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/axis_flag_xyz_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/axis_flag_xyz_items.rst new file mode 100644 index 0000000..cc27eca --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/axis_flag_xyz_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_axis_flag_xyz_items: + +Axis Flag Xyz Items +################### + +:X: X. + +:Y: Y. + +:Z: Z. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/axis_xy_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/axis_xy_items.rst new file mode 100644 index 0000000..600b04f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/axis_xy_items.rst @@ -0,0 +1,9 @@ +.. _rna_enum_axis_xy_items: + +Axis Xy Items +############# + +:X: X. + +:Y: Y. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/axis_xyz_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/axis_xyz_items.rst new file mode 100644 index 0000000..397fadd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/axis_xyz_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_axis_xyz_items: + +Axis Xyz Items +############## + +:X: X. + +:Y: Y. + +:Z: Z. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_margin_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_margin_type_items.rst new file mode 100644 index 0000000..c9c13d1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_margin_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_bake_margin_type_items: + +Bake Margin Type Items +###################### + +:ADJACENT_FACES: Adjacent Faces. + + Use pixels from adjacent faces across UV seams. +:EXTEND: Extend. + + Extend border pixels outwards. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_pass_filter_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_pass_filter_type_items.rst new file mode 100644 index 0000000..4eb69f7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_pass_filter_type_items.rst @@ -0,0 +1,21 @@ +.. _rna_enum_bake_pass_filter_type_items: + +Bake Pass Filter Type Items +########################### + +:NONE: None. + +:EMIT: Emit. + +:DIRECT: Direct. + +:INDIRECT: Indirect. + +:COLOR: Color. + +:DIFFUSE: Diffuse. + +:GLOSSY: Glossy. + +:TRANSMISSION: Transmission. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_pass_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_pass_type_items.rst new file mode 100644 index 0000000..0b7d5ee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_pass_type_items.rst @@ -0,0 +1,29 @@ +.. _rna_enum_bake_pass_type_items: + +Bake Pass Type Items +#################### + +:COMBINED: Combined. + +:AO: Ambient Occlusion. + +:SHADOW: Shadow. + +:POSITION: Position. + +:NORMAL: Normal. + +:UV: UV. + +:ROUGHNESS: ROUGHNESS. + +:EMIT: Emission. + +:ENVIRONMENT: Environment. + +:DIFFUSE: Diffuse. + +:GLOSSY: Glossy. + +:TRANSMISSION: Transmission. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_save_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_save_mode_items.rst new file mode 100644 index 0000000..ce3cc10 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_save_mode_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_bake_save_mode_items: + +Bake Save Mode Items +#################### + +:INTERNAL: Internal. + + Save the baking map in an internal image data-block. +:EXTERNAL: External. + + Save the baking map in an external file. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_target_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_target_items.rst new file mode 100644 index 0000000..a357bad --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/bake_target_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_bake_target_items: + +Bake Target Items +################# + +:IMAGE_TEXTURES: Image Textures. + + Bake to image data-blocks associated with active image texture nodes in materials. +:VERTEX_COLORS: Active Color Attribute. + + Bake to the active color attribute on meshes. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/beztriple_interpolation_easing_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/beztriple_interpolation_easing_items.rst new file mode 100644 index 0000000..5a37d2c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/beztriple_interpolation_easing_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_beztriple_interpolation_easing_items: + +Beztriple Interpolation Easing Items +#################################### + +:AUTO: Automatic Easing. + + Easing type is chosen automatically based on what the type of interpolation used (e.g. Ease In for transitional types, and Ease Out for dynamic effects). +:EASE_IN: Ease In. + + Only on the end closest to the next keyframe. +:EASE_OUT: Ease Out. + + Only on the end closest to the first keyframe. +:EASE_IN_OUT: Ease In and Out. + + Segment between both keyframes. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/beztriple_interpolation_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/beztriple_interpolation_mode_items.rst new file mode 100644 index 0000000..40246f4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/beztriple_interpolation_mode_items.rst @@ -0,0 +1,62 @@ +.. _rna_enum_beztriple_interpolation_mode_items: + +Beztriple Interpolation Mode Items +################################## + + + +**Interpolation** + +Standard transitions between keyframes. + +:CONSTANT: Constant. + + No interpolation, value of A gets held until B is encountered. +:LINEAR: Linear. + + Straight-line interpolation between A and B (i.e. no ease in/out). +:BEZIER: Bézier. + + Smooth interpolation between A and B, with some control over curve shape. + + +**Easing (by strength)** + +Predefined inertial transitions, useful for motion graphics (from least to most "dramatic"). + +:SINE: Sinusoidal. + + Sinusoidal easing (weakest, almost linear but with a slight curvature). +:QUAD: Quadratic. + + Quadratic easing. +:CUBIC: Cubic. + + Cubic easing. +:QUART: Quartic. + + Quartic easing. +:QUINT: Quintic. + + Quintic easing. +:EXPO: Exponential. + + Exponential easing (dramatic). +:CIRC: Circular. + + Circular easing (strongest and most dynamic). + + +**Dynamic Effects** + +Simple physics-inspired easing effects. + +:BACK: Back. + + Cubic easing with overshoot and settle. +:BOUNCE: Bounce. + + Exponentially decaying parabolic bounce, like when objects collide. +:ELASTIC: Elastic. + + Exponentially decaying sine wave, like an elastic band. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/beztriple_keyframe_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/beztriple_keyframe_type_items.rst new file mode 100644 index 0000000..938b45a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/beztriple_keyframe_type_items.rst @@ -0,0 +1,23 @@ +.. _rna_enum_beztriple_keyframe_type_items: + +Beztriple Keyframe Type Items +############################# + +:KEYFRAME: Keyframe. + + Normal keyframe, e.g. for key poses. +:BREAKDOWN: Breakdown. + + A breakdown pose, e.g. for transitions between key poses. +:MOVING_HOLD: Moving Hold. + + A keyframe that is part of a moving hold. +:EXTREME: Extreme. + + An "extreme" pose, or some other purpose as needed. +:JITTER: Jitter. + + A filler or baked keyframe for keying on ones, or some other purpose as needed. +:GENERATED: Generated. + + A key generated automatically by a tool, not manually created. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/boidrule_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/boidrule_type_items.rst new file mode 100644 index 0000000..8ea941b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/boidrule_type_items.rst @@ -0,0 +1,29 @@ +.. _rna_enum_boidrule_type_items: + +Boidrule Type Items +################### + +:GOAL: Goal. + + Go to assigned object or loudest assigned signal source. +:AVOID: Avoid. + + Get away from assigned object or loudest assigned signal source. +:AVOID_COLLISION: Avoid Collision. + + Maneuver to avoid collisions with other boids and deflector objects in near future. +:SEPARATE: Separate. + + Keep from going through other boids. +:FLOCK: Flock. + + Move to center of neighbors and match their velocity. +:FOLLOW_LEADER: Follow Leader. + + Follow a boid or assigned object. +:AVERAGE_SPEED: Average Speed. + + Maintain speed, flight level or wander. +:FIGHT: Fight. + + Go to closest enemy and attack when in range. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_automasking_flag_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_automasking_flag_items.rst new file mode 100644 index 0000000..9a28a5c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_automasking_flag_items.rst @@ -0,0 +1,26 @@ +.. _rna_enum_brush_automasking_flag_items: + +Brush Automasking Flag Items +############################ + +:use_automasking_topology: Topology. + + Affect only vertices connected to the active vertex under the brush. +:use_automasking_face_sets: Face Sets. + + Affect only vertices that share face sets with the active vertex. +:use_automasking_boundary_edges: Mesh Boundary Auto-Masking. + + Do not affect non manifold boundary edges. +:use_automasking_boundary_face_sets: Face Sets Boundary Automasking. + + Do not affect vertices that belong to a face set boundary. +:use_automasking_cavity: Cavity Mask. + + Do not affect vertices on peaks, based on the surface curvature. +:use_automasking_cavity_inverted: Inverted Cavity Mask. + + Do not affect vertices within crevices, based on the surface curvature. +:use_automasking_custom_cavity_curve: Custom Cavity Curve. + + Use custom curve. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_curve_preset_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_curve_preset_items.rst new file mode 100644 index 0000000..708e4c7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_curve_preset_items.rst @@ -0,0 +1,25 @@ +.. _rna_enum_brush_curve_preset_items: + +Brush Curve Preset Items +######################## + +:CUSTOM: Custom. + +:SMOOTH: Smooth. + +:SMOOTHER: Smoother. + +:SPHERE: Sphere. + +:ROOT: Root. + +:SHARP: Sharp. + +:LIN: Linear. + +:POW4: Sharper. + +:INVSQUARE: Inverse Square. + +:CONSTANT: Constant. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_curves_sculpt_brush_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_curves_sculpt_brush_type_items.rst new file mode 100644 index 0000000..a8818db --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_curves_sculpt_brush_type_items.rst @@ -0,0 +1,35 @@ +.. _rna_enum_brush_curves_sculpt_brush_type_items: + +Brush Curves Sculpt Brush Type Items +#################################### + +:SELECTION_PAINT: Paint Selection. + + + +---- + +:ADD: Add. + +:DELETE: Delete. + +:DENSITY: Density. + + + +---- + +:COMB: Comb. + +:SNAKE_HOOK: Snake Hook. + +:GROW_SHRINK: Grow / Shrink. + +:PINCH: Pinch. + +:PUFF: Puff. + +:SMOOTH: Smooth. + +:SLIDE: Slide. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_sculpt_types_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_sculpt_types_items.rst new file mode 100644 index 0000000..ab75dee --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_sculpt_types_items.rst @@ -0,0 +1,32 @@ +.. _rna_enum_brush_gpencil_sculpt_types_items: + +Brush Gpencil Sculpt Types Items +################################ + +:SMOOTH: Smooth. + + Smooth stroke points. +:THICKNESS: Thickness. + + Adjust thickness of strokes. +:STRENGTH: Strength. + + Adjust color strength of strokes. +:RANDOMIZE: Randomize. + + Introduce jitter/randomness into strokes. +:GRAB: Grab. + + Translate the set of points initially within the brush circle. +:PUSH: Push. + + Move points out of the way, as if combing them. +:TWIST: Twist. + + Rotate points around the midpoint of the brush. +:PINCH: Pinch. + + Pull points towards the midpoint of the brush. +:CLONE: Clone. + + Paste copies of the strokes stored on the internal clipboard. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_types_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_types_items.rst new file mode 100644 index 0000000..f2e82b9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_types_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_brush_gpencil_types_items: + +Brush Gpencil Types Items +######################### + +:DRAW: Draw. + + The brush is of type used for drawing strokes. +:FILL: Fill. + + The brush is of type used for filling areas. +:ERASE: Erase. + + The brush is used for erasing strokes. +:TINT: Tint. + + The brush is of type used for tinting strokes. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_vertex_types_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_vertex_types_items.rst new file mode 100644 index 0000000..76057a2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_vertex_types_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_brush_gpencil_vertex_types_items: + +Brush Gpencil Vertex Types Items +################################ + +:DRAW: Draw. + + Paint a color on stroke points. +:BLUR: Blur. + + Smooth out the colors of adjacent stroke points. +:AVERAGE: Average. + + Smooth out colors with the average color under the brush. +:SMEAR: Smear. + + Smudge colors by grabbing and dragging them. +:REPLACE: Replace. + + Replace the color of stroke points that already have a color applied. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_weight_types_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_weight_types_items.rst new file mode 100644 index 0000000..548fd57 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_gpencil_weight_types_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_brush_gpencil_weight_types_items: + +Brush Gpencil Weight Types Items +################################ + +:WEIGHT: Weight. + + Paint weight in active vertex group. +:BLUR: Blur. + + Blur weight in active vertex group. +:AVERAGE: Average. + + Average weight in active vertex group. +:SMEAR: Smear. + + Smear weight in active vertex group. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_image_brush_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_image_brush_type_items.rst new file mode 100644 index 0000000..86338a0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_image_brush_type_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_brush_image_brush_type_items: + +Brush Image Brush Type Items +############################ + +:DRAW: Draw. + +:SOFTEN: Soften. + +:SMEAR: Smear. + +:CLONE: Clone. + +:FILL: Fill. + +:MASK: Mask. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_sculpt_brush_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_sculpt_brush_type_items.rst new file mode 100644 index 0000000..947d9bd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_sculpt_brush_type_items.rst @@ -0,0 +1,79 @@ +.. _rna_enum_brush_sculpt_brush_type_items: + +Brush Sculpt Brush Type Items +############################# + +:DRAW: Draw. + +:DRAW_SHARP: Draw Sharp. + +:CLAY: Clay. + +:CLAY_STRIPS: Clay Strips. + +:CLAY_THUMB: Clay Thumb. + +:LAYER: Layer. + +:INFLATE: Inflate. + +:BLOB: Blob. + +:CREASE: Crease. + + + +---- + +:SMOOTH: Smooth. + +:PLANE: Plane. + +:MULTIPLANE_SCRAPE: Multi-plane Scrape. + +:PINCH: Pinch. + + + +---- + +:GRAB: Grab. + +:ELASTIC_DEFORM: Elastic Deform. + +:SNAKE_HOOK: Snake Hook. + +:THUMB: Thumb. + +:POSE: Pose. + +:NUDGE: Nudge. + +:ROTATE: Rotate. + +:TOPOLOGY: Slide Relax. + +:BOUNDARY: Boundary. + + + +---- + +:CLOTH: Cloth. + +:SIMPLIFY: Simplify. + +:MASK: Mask. + +:DRAW_FACE_SETS: Draw Face Sets. + +:DISPLACEMENT_ERASER: Multires Displacement Eraser. + +:DISPLACEMENT_SMEAR: Multires Displacement Smear. + +:PAINT: Paint. + +:SMEAR: Smear. + +:BLUR: Blur. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_vertex_brush_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_vertex_brush_type_items.rst new file mode 100644 index 0000000..b416be4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_vertex_brush_type_items.rst @@ -0,0 +1,13 @@ +.. _rna_enum_brush_vertex_brush_type_items: + +Brush Vertex Brush Type Items +############################# + +:DRAW: Draw. + +:BLUR: Blur. + +:AVERAGE: Average. + +:SMEAR: Smear. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_weight_brush_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_weight_brush_type_items.rst new file mode 100644 index 0000000..1c8ccd9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/brush_weight_brush_type_items.rst @@ -0,0 +1,13 @@ +.. _rna_enum_brush_weight_brush_type_items: + +Brush Weight Brush Type Items +############################# + +:DRAW: Draw. + +:BLUR: Blur. + +:AVERAGE: Average. + +:SMEAR: Smear. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/clip_editor_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/clip_editor_mode_items.rst new file mode 100644 index 0000000..c128583 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/clip_editor_mode_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_clip_editor_mode_items: + +Clip Editor Mode Items +###################### + +:TRACKING: Tracking. + + Show tracking and solving tools. +:MASK: Mask. + + Show mask editing tools. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/collection_color_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/collection_color_items.rst new file mode 100644 index 0000000..dbe7b97 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/collection_color_items.rst @@ -0,0 +1,24 @@ +.. _rna_enum_collection_color_items: + +Collection Color Items +###################### + +:NONE: None. + + Assign no color tag to the collection. +:COLOR_01: Color 01. + +:COLOR_02: Color 02. + +:COLOR_03: Color 03. + +:COLOR_04: Color 04. + +:COLOR_05: Color 05. + +:COLOR_06: Color 06. + +:COLOR_07: Color 07. + +:COLOR_08: Color 08. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_attribute_domain_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_attribute_domain_items.rst new file mode 100644 index 0000000..8b4ab16 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_attribute_domain_items.rst @@ -0,0 +1,9 @@ +.. _rna_enum_color_attribute_domain_items: + +Color Attribute Domain Items +############################ + +:POINT: Vertex. + +:CORNER: Face Corner. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_attribute_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_attribute_type_items.rst new file mode 100644 index 0000000..b7e99ec --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_attribute_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_color_attribute_type_items: + +Color Attribute Type Items +########################## + +:FLOAT_COLOR: Color. + + RGBA color 32-bit floating-point values. +:BYTE_COLOR: Byte Color. + + RGBA color with 8-bit positive integer values. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_sets_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_sets_items.rst new file mode 100644 index 0000000..d9f4350 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_sets_items.rst @@ -0,0 +1,49 @@ +.. _rna_enum_color_sets_items: + +Color Sets Items +################ + +:DEFAULT: Default Colors. + +:THEME01: 01 - Theme Color Set. + +:THEME02: 02 - Theme Color Set. + +:THEME03: 03 - Theme Color Set. + +:THEME04: 04 - Theme Color Set. + +:THEME05: 05 - Theme Color Set. + +:THEME06: 06 - Theme Color Set. + +:THEME07: 07 - Theme Color Set. + +:THEME08: 08 - Theme Color Set. + +:THEME09: 09 - Theme Color Set. + +:THEME10: 10 - Theme Color Set. + +:THEME11: 11 - Theme Color Set. + +:THEME12: 12 - Theme Color Set. + +:THEME13: 13 - Theme Color Set. + +:THEME14: 14 - Theme Color Set. + +:THEME15: 15 - Theme Color Set. + +:THEME16: 16 - Theme Color Set. + +:THEME17: 17 - Theme Color Set. + +:THEME18: 18 - Theme Color Set. + +:THEME19: 19 - Theme Color Set. + +:THEME20: 20 - Theme Color Set. + +:CUSTOM: Custom Color Set. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_space_convert_default_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_space_convert_default_items.rst new file mode 100644 index 0000000..210f1f2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/color_space_convert_default_items.rst @@ -0,0 +1,8 @@ +.. _rna_enum_color_space_convert_default_items: + +Color Space Convert Default Items +################################# + +:NONE: None. + + Do not perform any color transform on load, treat colors as in scene linear space already. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/constraint_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/constraint_type_items.rst new file mode 100644 index 0000000..7894f9f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/constraint_type_items.rst @@ -0,0 +1,105 @@ +.. _rna_enum_constraint_type_items: + +Constraint Type Items +##################### + + + +**Motion Tracking** + +:CAMERA_SOLVER: Camera Solver. + +:FOLLOW_TRACK: Follow Track. + +:OBJECT_SOLVER: Object Solver. + + + +**Transform** + +:COPY_LOCATION: Copy Location. + + Copy the location of a target (with an optional offset), so that they move together. +:COPY_ROTATION: Copy Rotation. + + Copy the rotation of a target (with an optional offset), so that they rotate together. +:COPY_SCALE: Copy Scale. + + Copy the scale factors of a target (with an optional offset), so that they are scaled by the same amount. +:COPY_TRANSFORMS: Copy Transforms. + + Copy all the transformations of a target, so that they move together. +:LIMIT_DISTANCE: Limit Distance. + + Restrict movements to within a certain distance of a target (at the time of constraint evaluation only). +:LIMIT_LOCATION: Limit Location. + + Restrict movement along each axis within given ranges. +:LIMIT_ROTATION: Limit Rotation. + + Restrict rotation along each axis within given ranges. +:LIMIT_SCALE: Limit Scale. + + Restrict scaling along each axis with given ranges. +:MAINTAIN_VOLUME: Maintain Volume. + + Compensate for scaling one axis by applying suitable scaling to the other two axes. +:TRANSFORM: Transformation. + + Use one transform property from target to control another (or same) property on owner. +:TRANSFORM_CACHE: Transform Cache. + + Look up the transformation matrix from an external file. + + +**Tracking** + +:CLAMP_TO: Clamp To. + + Restrict movements to lie along a curve by remapping location along curve's longest axis. +:DAMPED_TRACK: Damped Track. + + Point towards a target by performing the smallest rotation necessary. +:IK: Inverse Kinematics. + + Control a chain of bones by specifying the endpoint target (Bones only). +:LOCKED_TRACK: Locked Track. + + Rotate around the specified ('locked') axis to point towards a target. +:SPLINE_IK: Spline IK. + + Align chain of bones along a curve (Bones only). +:STRETCH_TO: Stretch To. + + Stretch along Y-Axis to point towards a target. +:TRACK_TO: Track To. + + Legacy tracking constraint prone to twisting artifacts. + + +**Relationship** + +:ACTION: Action. + + Use transform property of target to look up pose for owner from an Action. +:ARMATURE: Armature. + + Apply weight-blended transformation from multiple bones like the Armature modifier. +:CHILD_OF: Child Of. + + Make target the 'detachable' parent of owner. +:FLOOR: Floor. + + Use position (and optionally rotation) of target to define a 'wall' or 'floor' that the owner cannot cross. +:FOLLOW_PATH: Follow Path. + + Use to animate an object/bone following a path. +:GEOMETRY_ATTRIBUTE: Geometry Attribute. + + Retrieve transform from target geometry attribute data. +:PIVOT: Pivot. + + Change pivot point for transforms (buggy). +:SHRINKWRAP: Shrinkwrap. + + Restrict movements to surface of target mesh. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/context_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/context_mode_items.rst new file mode 100644 index 0000000..397bf17 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/context_mode_items.rst @@ -0,0 +1,59 @@ +.. _rna_enum_context_mode_items: + +Context Mode Items +################## + +:EDIT_MESH: Mesh Edit. + +:EDIT_CURVE: Curve Edit. + +:EDIT_CURVES: Curves Edit. + +:EDIT_SURFACE: Surface Edit. + +:EDIT_TEXT: Text Edit. + +:EDIT_ARMATURE: Armature Edit. + +:EDIT_METABALL: Metaball Edit. + +:EDIT_LATTICE: Lattice Edit. + +:EDIT_GREASE_PENCIL: Grease Pencil Edit. + +:EDIT_POINTCLOUD: Point Cloud Edit. + +:POSE: Pose. + +:SCULPT: Sculpt. + +:PAINT_WEIGHT: Weight Paint. + +:PAINT_VERTEX: Vertex Paint. + +:PAINT_TEXTURE: Texture Paint. + +:PARTICLE: Particle. + +:OBJECT: Object. + +:PAINT_GPENCIL: Grease Pencil Paint. + +:EDIT_GPENCIL: Grease Pencil Edit. + +:SCULPT_GPENCIL: Grease Pencil Sculpt. + +:WEIGHT_GPENCIL: Grease Pencil Weight Paint. + +:VERTEX_GPENCIL: Grease Pencil Vertex Paint. + +:SCULPT_CURVES: Curves Sculpt. + +:PAINT_GREASE_PENCIL: Grease Pencil Paint. + +:SCULPT_GREASE_PENCIL: Grease Pencil Sculpt. + +:WEIGHT_GREASE_PENCIL: Grease Pencil Weight Paint. + +:VERTEX_GREASE_PENCIL: Grease Pencil Vertex Paint. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curve_fit_method_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curve_fit_method_items.rst new file mode 100644 index 0000000..b12a8f6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curve_fit_method_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_curve_fit_method_items: + +Curve Fit Method Items +###################### + +:REFIT: Refit. + + Incrementally refit the curve (high quality). +:SPLIT: Split. + + Split the curve until the tolerance is met (fast). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curve_normal_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curve_normal_mode_items.rst new file mode 100644 index 0000000..9dface6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curve_normal_mode_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_curve_normal_mode_items: + +Curve Normal Mode Items +####################### + +:MINIMUM_TWIST: Minimum Twist. + + Calculate normals with the smallest twist around the curve tangent across the whole curve. +:Z_UP: Z Up. + + Calculate normals perpendicular to the Z axis and the curve tangent. If a series of points is vertical, the X axis is used.. +:FREE: Free. + + Use the stored custom normal attribute as the final normals. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curves_handle_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curves_handle_type_items.rst new file mode 100644 index 0000000..88da9f5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curves_handle_type_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_curves_handle_type_items: + +Curves Handle Type Items +######################## + +:FREE: Free. + + The handle can be moved anywhere, and does not influence the point's other handle. +:AUTO: Auto. + + The location is automatically calculated to be smooth. +:VECTOR: Vector. + + The location is calculated to point to the next/previous control point. +:ALIGN: Align. + + The location is constrained to point in the opposite direction as the other handle. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curves_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curves_type_items.rst new file mode 100644 index 0000000..8fb0794 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/curves_type_items.rst @@ -0,0 +1,13 @@ +.. _rna_enum_curves_type_items: + +Curves Type Items +################# + +:CATMULL_ROM: Catmull Rom. + +:POLY: Poly. + +:BEZIER: Bézier. + +:NURBS: NURBS. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/driver_target_rotation_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/driver_target_rotation_mode_items.rst new file mode 100644 index 0000000..5f60ba9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/driver_target_rotation_mode_items.rst @@ -0,0 +1,38 @@ +.. _rna_enum_driver_target_rotation_mode_items: + +Driver Target Rotation Mode Items +################################# + +:AUTO: Auto Euler. + + Euler using the rotation order of the target. +:XYZ: XYZ Euler. + + Euler using the XYZ rotation order. +:XZY: XZY Euler. + + Euler using the XZY rotation order. +:YXZ: YXZ Euler. + + Euler using the YXZ rotation order. +:YZX: YZX Euler. + + Euler using the YZX rotation order. +:ZXY: ZXY Euler. + + Euler using the ZXY rotation order. +:ZYX: ZYX Euler. + + Euler using the ZYX rotation order. +:QUATERNION: Quaternion. + + Quaternion rotation. +:SWING_TWIST_X: Swing and X Twist. + + Decompose into a swing rotation to aim the X axis, followed by twist around it. +:SWING_TWIST_Y: Swing and Y Twist. + + Decompose into a swing rotation to aim the Y axis, followed by twist around it. +:SWING_TWIST_Z: Swing and Z Twist. + + Decompose into a swing rotation to aim the Z axis, followed by twist around it. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_layers_select_dst_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_layers_select_dst_items.rst new file mode 100644 index 0000000..d4d8bd5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_layers_select_dst_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_dt_layers_select_dst_items: + +Dt Layers Select Dst Items +########################## + +:ACTIVE: Active Layer. + + Affect active data layer of all targets. +:NAME: By Name. + + Match target data layers to affect by name. +:INDEX: By Order. + + Match target data layers to affect by order (indices). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_layers_select_src_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_layers_select_src_items.rst new file mode 100644 index 0000000..cc89f36 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_layers_select_src_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_dt_layers_select_src_items: + +Dt Layers Select Src Items +########################## + +:ACTIVE: Active Layer. + + Only transfer active data layer. +:ALL: All Layers. + + Transfer all data layers. +:BONE_SELECT: Selected Pose Bones. + + Transfer all vertex groups used by selected pose bones. +:BONE_DEFORM: Deform Pose Bones. + + Transfer all vertex groups used by deform bones. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_edge_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_edge_items.rst new file mode 100644 index 0000000..2951d09 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_edge_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_dt_method_edge_items: + +Dt Method Edge Items +#################### + +:TOPOLOGY: Topology. + + Copy from identical topology meshes. +:VERT_NEAREST: Nearest Vertices. + + Copy from most similar edge (edge which vertices are the closest of destination edge's ones). +:NEAREST: Nearest Edge. + + Copy from closest edge (using midpoints). +:POLY_NEAREST: Nearest Face Edge. + + Copy from closest edge of closest face (using midpoints). +:EDGEINTERP_VNORPROJ: Projected Edge Interpolated. + + Interpolate all source edges hit by the projection of destination one along its own normal (from vertices). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_loop_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_loop_items.rst new file mode 100644 index 0000000..be1e529 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_loop_items.rst @@ -0,0 +1,23 @@ +.. _rna_enum_dt_method_loop_items: + +Dt Method Loop Items +#################### + +:TOPOLOGY: Topology. + + Copy from identical topology meshes. +:NEAREST_NORMAL: Nearest Corner and Best Matching Normal. + + Copy from nearest corner which has the best matching normal. +:NEAREST_POLYNOR: Nearest Corner and Best Matching Face Normal. + + Copy from nearest corner which has the face with the best matching normal to destination corner's face one. +:NEAREST_POLY: Nearest Corner of Nearest Face. + + Copy from nearest corner of nearest face. +:POLYINTERP_NEAREST: Nearest Face Interpolated. + + Copy from interpolated corners of the nearest source face. +:POLYINTERP_LNORPROJ: Projected Face Interpolated. + + Copy from interpolated corners of the source face hit by corner normal projection. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_poly_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_poly_items.rst new file mode 100644 index 0000000..fef3619 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_poly_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_dt_method_poly_items: + +Dt Method Poly Items +#################### + +:TOPOLOGY: Topology. + + Copy from identical topology meshes. +:NEAREST: Nearest Face. + + Copy from nearest face (using center points). +:NORMAL: Best Normal-Matching. + + Copy from source face which normal is the closest to destination one. +:POLYINTERP_PNORPROJ: Projected Face Interpolated. + + Interpolate all source polygons intersected by the projection of destination one along its own normal. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_vertex_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_vertex_items.rst new file mode 100644 index 0000000..87562a7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_method_vertex_items.rst @@ -0,0 +1,26 @@ +.. _rna_enum_dt_method_vertex_items: + +Dt Method Vertex Items +###################### + +:TOPOLOGY: Topology. + + Copy from identical topology meshes. +:NEAREST: Nearest Vertex. + + Copy from closest vertex. +:EDGE_NEAREST: Nearest Edge Vertex. + + Copy from closest vertex of closest edge. +:EDGEINTERP_NEAREST: Nearest Edge Interpolated. + + Copy from interpolated values of vertices from closest point on closest edge. +:POLY_NEAREST: Nearest Face Vertex. + + Copy from closest vertex of closest face. +:POLYINTERP_NEAREST: Nearest Face Interpolated. + + Copy from interpolated values of vertices from closest point on closest face. +:POLYINTERP_VNORPROJ: Projected Face Interpolated. + + Copy from interpolated values of vertices from point on closest face hit by normal-projection. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_mix_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_mix_mode_items.rst new file mode 100644 index 0000000..5cba80a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/dt_mix_mode_items.rst @@ -0,0 +1,26 @@ +.. _rna_enum_dt_mix_mode_items: + +Dt Mix Mode Items +################# + +:REPLACE: Replace. + + Overwrite all elements' data. +:ABOVE_THRESHOLD: Above Threshold. + + Only replace destination elements where data is above given threshold (exact behavior depends on data type). +:BELOW_THRESHOLD: Below Threshold. + + Only replace destination elements where data is below given threshold (exact behavior depends on data type). +:MIX: Mix. + + Mix source value into destination one, using given threshold as factor. +:ADD: Add. + + Add source value to destination one, using given threshold as factor. +:SUB: Subtract. + + Subtract source value to destination one, using given threshold as factor. +:MUL: Multiply. + + Multiply source value to destination one, using given threshold as factor. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_direction_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_direction_items.rst new file mode 100644 index 0000000..fbc6da7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_direction_items.rst @@ -0,0 +1,23 @@ +.. _rna_enum_event_direction_items: + +Event Direction Items +##################### + +:ANY: Any. + +:NORTH: North. + +:NORTH_EAST: North-East. + +:EAST: East. + +:SOUTH_EAST: South-East. + +:SOUTH: South. + +:SOUTH_WEST: South-West. + +:WEST: West. + +:NORTH_WEST: North-West. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_type_items.rst new file mode 100644 index 0000000..7d4b498 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_type_items.rst @@ -0,0 +1,553 @@ +.. _rna_enum_event_type_items: + +Event Type Items +################ + +:NONE: + +:LEFTMOUSE: Left Mouse. + + LMB. +:MIDDLEMOUSE: Middle Mouse. + + MMB. +:RIGHTMOUSE: Right Mouse. + + RMB. +:BUTTON4MOUSE: Button4 Mouse. + + MB4. +:BUTTON5MOUSE: Button5 Mouse. + + MB5. +:BUTTON6MOUSE: Button6 Mouse. + + MB6. +:BUTTON7MOUSE: Button7 Mouse. + + MB7. + + +---- + +:PEN: Pen. + +:ERASER: Eraser. + + + +---- + +:MOUSEMOVE: Mouse Move. + + MsMov. +:INBETWEEN_MOUSEMOVE: In-between Move. + + MsSubMov. +:TRACKPADPAN: Mouse/Trackpad Pan. + + MsPan. +:TRACKPADZOOM: Mouse/Trackpad Zoom. + + MsZoom. +:MOUSEROTATE: Mouse/Trackpad Rotate. + + MsRot. +:MOUSESMARTZOOM: Mouse/Trackpad Smart Zoom. + + MsSmartZoom. + + +---- + +:WHEELUPMOUSE: Wheel Up. + + WhUp. +:WHEELDOWNMOUSE: Wheel Down. + + WhDown. +:WHEELINMOUSE: Wheel In. + + WhIn. +:WHEELOUTMOUSE: Wheel Out. + + WhOut. +:WHEELLEFTMOUSE: Wheel Left. + + WhLeft. +:WHEELRIGHTMOUSE: Wheel Right. + + WhRight. + + +---- + +:A: A. + +:B: B. + +:C: C. + +:D: D. + +:E: E. + +:F: F. + +:G: G. + +:H: H. + +:I: I. + +:J: J. + +:K: K. + +:L: L. + +:M: M. + +:N: N. + +:O: O. + +:P: P. + +:Q: Q. + +:R: R. + +:S: S. + +:T: T. + +:U: U. + +:V: V. + +:W: W. + +:X: X. + +:Y: Y. + +:Z: Z. + + + +---- + +:ZERO: 0. + +:ONE: 1. + +:TWO: 2. + +:THREE: 3. + +:FOUR: 4. + +:FIVE: 5. + +:SIX: 6. + +:SEVEN: 7. + +:EIGHT: 8. + +:NINE: 9. + + + +---- + +:LEFT_CTRL: Left Ctrl. + + CtrlL. +:LEFT_ALT: Left Alt. + + AltL. +:LEFT_SHIFT: Left Shift. + + ShiftL. +:RIGHT_ALT: Right Alt. + + AltR. +:RIGHT_CTRL: Right Ctrl. + + CtrlR. +:RIGHT_SHIFT: Right Shift. + + ShiftR. + + +---- + +:OSKEY: OS Key. + + Cmd. +:HYPER: Hyper. + + Hyp. +:APP: Application. + + App. +:GRLESS: Grless. + +:ESC: Esc. + +:TAB: Tab. + +:RET: Return. + + Enter. +:SPACE: Space Bar. + + Spacebar. +:LINE_FEED: Line Feed. + +:BACK_SPACE: Backspace. + + BkSpace. +:DEL: Delete. + + Del. +:SEMI_COLON: ;. + +:PERIOD: .. + +:COMMA: ,. + +:QUOTE: ". + +:ACCENT_GRAVE: \`. + +:MINUS: -. + +:PLUS: +. + +:SLASH: /. + +:BACK_SLASH: \\. + +:EQUAL: =. + +:LEFT_BRACKET: [. + +:RIGHT_BRACKET: ]. + +:LEFT_ARROW: Left Arrow. + + ←. +:DOWN_ARROW: Down Arrow. + + ↓. +:RIGHT_ARROW: Right Arrow. + + →. +:UP_ARROW: Up Arrow. + + ↑. +:NUMPAD_2: Numpad 2. + + Pad2. +:NUMPAD_4: Numpad 4. + + Pad4. +:NUMPAD_6: Numpad 6. + + Pad6. +:NUMPAD_8: Numpad 8. + + Pad8. +:NUMPAD_1: Numpad 1. + + Pad1. +:NUMPAD_3: Numpad 3. + + Pad3. +:NUMPAD_5: Numpad 5. + + Pad5. +:NUMPAD_7: Numpad 7. + + Pad7. +:NUMPAD_9: Numpad 9. + + Pad9. +:NUMPAD_PERIOD: Numpad .. + + Pad.. +:NUMPAD_SLASH: Numpad /. + + Pad/. +:NUMPAD_ASTERIX: Numpad \*. + + Pad\*. +:NUMPAD_0: Numpad 0. + + Pad0. +:NUMPAD_MINUS: Numpad -. + + Pad-. +:NUMPAD_ENTER: Numpad Enter. + + PadEnter. +:NUMPAD_PLUS: Numpad +. + + Pad+. +:F1: F1. + +:F2: F2. + +:F3: F3. + +:F4: F4. + +:F5: F5. + +:F6: F6. + +:F7: F7. + +:F8: F8. + +:F9: F9. + +:F10: F10. + +:F11: F11. + +:F12: F12. + +:F13: F13. + +:F14: F14. + +:F15: F15. + +:F16: F16. + +:F17: F17. + +:F18: F18. + +:F19: F19. + +:F20: F20. + +:F21: F21. + +:F22: F22. + +:F23: F23. + +:F24: F24. + +:PAUSE: Pause. + +:INSERT: Insert. + + Ins. +:HOME: Home. + +:PAGE_UP: Page Up. + + PgUp. +:PAGE_DOWN: Page Down. + + PgDown. +:END: End. + + + +---- + +:MEDIA_PLAY: Media Play/Pause. + + ⏯. +:MEDIA_STOP: Media Stop. + + ⏹. +:MEDIA_FIRST: Media First. + + ⏮. +:MEDIA_LAST: Media Last. + + ⏭. + + +---- + +:TEXTINPUT: Text Input. + + TxtIn. + + +---- + +:WINDOW_DEACTIVATE: Window Deactivate. + +:TIMER: Timer. + + Tmr. +:TIMER0: Timer 0. + + Tmr0. +:TIMER1: Timer 1. + + Tmr1. +:TIMER2: Timer 2. + + Tmr2. +:TIMER_JOBS: Timer Jobs. + + TmrJob. +:TIMER_AUTOSAVE: Timer Autosave. + + TmrSave. +:TIMER_REPORT: Timer Report. + + TmrReport. +:TIMERREGION: Timer Region. + + TmrReg. + + +---- + +:NDOF_MOTION: NDOF Motion. + + NdofMov. +:NDOF_BUTTON_MENU: NDOF Menu. + + NdofMenu. +:NDOF_BUTTON_FIT: NDOF Fit. + + NdofFit. +:NDOF_BUTTON_TOP: NDOF Top. + + Ndof↑. +:NDOF_BUTTON_BOTTOM: NDOF Bottom. + + Ndof↓. +:NDOF_BUTTON_LEFT: NDOF Left. + + Ndof←. +:NDOF_BUTTON_RIGHT: NDOF Right. + + Ndof→. +:NDOF_BUTTON_FRONT: NDOF Front. + + NdofFront. +:NDOF_BUTTON_BACK: NDOF Back. + + NdofBack. +:NDOF_BUTTON_ISO1: NDOF Isometric 1. + + NdofIso1. +:NDOF_BUTTON_ISO2: NDOF Isometric 2. + + NdofIso2. +:NDOF_BUTTON_ROLL_CW: NDOF Roll CW. + + NdofRCW. +:NDOF_BUTTON_ROLL_CCW: NDOF Roll CCW. + + NdofRCCW. +:NDOF_BUTTON_SPIN_CW: NDOF Spin CW. + + NdofSCW. +:NDOF_BUTTON_SPIN_CCW: NDOF Spin CCW. + + NdofSCCW. +:NDOF_BUTTON_TILT_CW: NDOF Tilt CW. + + NdofTCW. +:NDOF_BUTTON_TILT_CCW: NDOF Tilt CCW. + + NdofTCCW. +:NDOF_BUTTON_ROTATE: NDOF Rotate. + + NdofRot. +:NDOF_BUTTON_PANZOOM: NDOF Pan/Zoom. + + NdofPanZoom. +:NDOF_BUTTON_DOMINANT: NDOF Dominant. + + NdofDom. +:NDOF_BUTTON_PLUS: NDOF Plus. + + Ndof+. +:NDOF_BUTTON_MINUS: NDOF Minus. + + Ndof-. +:NDOF_BUTTON_V1: NDOF View 1. + + NdofView1. +:NDOF_BUTTON_V2: NDOF View 2. + + NdofView2. +:NDOF_BUTTON_V3: NDOF View 3. + + NdofView3. +:NDOF_BUTTON_SAVE_V1: NDOF Save View 1. + + NdofSaveView1. +:NDOF_BUTTON_SAVE_V2: NDOF Save View 2. + + NdofSaveView2. +:NDOF_BUTTON_SAVE_V3: NDOF Save View 3. + + NdofSaveView3. +:NDOF_BUTTON_1: NDOF Button 1. + + NdofB1. +:NDOF_BUTTON_2: NDOF Button 2. + + NdofB2. +:NDOF_BUTTON_3: NDOF Button 3. + + NdofB3. +:NDOF_BUTTON_4: NDOF Button 4. + + NdofB4. +:NDOF_BUTTON_5: NDOF Button 5. + + NdofB5. +:NDOF_BUTTON_6: NDOF Button 6. + + NdofB6. +:NDOF_BUTTON_7: NDOF Button 7. + + NdofB7. +:NDOF_BUTTON_8: NDOF Button 8. + + NdofB8. +:NDOF_BUTTON_9: NDOF Button 9. + + NdofB9. +:NDOF_BUTTON_10: NDOF Button 10. + + NdofB10. +:NDOF_BUTTON_11: NDOF Button 11. + + NdofB11. +:NDOF_BUTTON_12: NDOF Button 12. + + NdofB12. +:ACTIONZONE_AREA: ActionZone Area. + + AZone Area. +:ACTIONZONE_REGION: ActionZone Region. + + AZone Region. +:ACTIONZONE_REGION_QUAD: ActionZone Quad. + + AZone Quad. +:ACTIONZONE_FULLSCREEN: ActionZone Fullscreen. + + AZone FullScr. +:XR_ACTION: XR Action. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_type_mask_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_type_mask_items.rst new file mode 100644 index 0000000..f9d2e29 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_type_mask_items.rst @@ -0,0 +1,21 @@ +.. _rna_enum_event_type_mask_items: + +Event Type Mask Items +##################### + +:KEYBOARD_MODIFIER: Keyboard Modifier. + +:KEYBOARD: Keyboard. + +:MOUSE_WHEEL: Mouse Wheel. + +:MOUSE_GESTURE: Mouse Gesture. + +:MOUSE_BUTTON: Mouse Button. + +:MOUSE: Mouse. + +:NDOF: NDOF. + +:ACTIONZONE: Action Zone. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_value_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_value_items.rst new file mode 100644 index 0000000..85e0a21 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/event_value_items.rst @@ -0,0 +1,19 @@ +.. _rna_enum_event_value_items: + +Event Value Items +################# + +:ANY: Any. + +:PRESS: Press. + +:RELEASE: Release. + +:CLICK: Click. + +:DOUBLE_CLICK: Double Click. + +:CLICK_DRAG: Drag. + +:NOTHING: Nothing. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/fcurve_auto_smoothing_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/fcurve_auto_smoothing_items.rst new file mode 100644 index 0000000..82f911c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/fcurve_auto_smoothing_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_fcurve_auto_smoothing_items: + +Fcurve Auto Smoothing Items +########################### + +:NONE: None. + + Automatic handles only take immediately adjacent keys into account. +:CONT_ACCEL: Continuous Acceleration. + + Automatic handles are adjusted to avoid jumps in acceleration, resulting in smoother curves. However, key changes may affect interpolation over a larger stretch of the curve.. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/file_path_foreach_flag_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/file_path_foreach_flag_items.rst new file mode 100644 index 0000000..efdf718 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/file_path_foreach_flag_items.rst @@ -0,0 +1,23 @@ +.. _rna_enum_file_path_foreach_flag_items: + +File Path Foreach Flag Items +############################ + +:SKIP_LINKED: Skip Linked. + + Skip paths of linked IDs. +:SKIP_PACKED: Skip Packed. + + Skip paths when their matching data is packed. +:RESOLVE_TOKEN: Resolve Token. + + Resolve tokens within a virtual filepath to a single, concrete, filepath. Currently only used for UDIM tiles. +:SKIP_WEAK_REFERENCES: Skip Weak References. + + Skip weak reference paths. Those paths are typically 'nice to have' extra information, but are not used as actual source of data by the current .blend file. +:SKIP_MULTIFILE: Skip Multi-file. + + Skip paths where a single dir is used with an array of files, eg. sequence strip images or point-caches. In this case only the first file path is processed. This is needed for directory manipulation callbacks which might otherwise modify the same directory multiple times. +:RELOAD_EDITED: Reload Edited. + + Reload data when the path is edited. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/fileselect_params_sort_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/fileselect_params_sort_items.rst new file mode 100644 index 0000000..c486d3a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/fileselect_params_sort_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_fileselect_params_sort_items: + +Fileselect Params Sort Items +############################ + +:FILE_SORT_ALPHA: Name. + + Sort the file list alphabetically. +:FILE_SORT_EXTENSION: Extension. + + Sort the file list by extension/type. +:FILE_SORT_TIME: Modified Date. + + Sort files by modification time. +:FILE_SORT_SIZE: Size. + + Sort files by size. +:ASSET_CATALOG: Asset Catalog. + + Sort the asset list so that assets in the same catalog are kept together. Within a single catalog, assets are ordered by name. The catalogs are in order of the flattened catalog hierarchy.. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/fmodifier_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/fmodifier_type_items.rst new file mode 100644 index 0000000..5baddb8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/fmodifier_type_items.rst @@ -0,0 +1,31 @@ +.. _rna_enum_fmodifier_type_items: + +Fmodifier Type Items +#################### + +:NULL: Invalid. + +:GENERATOR: Generator. + + Generate a curve using a factorized or expanded polynomial. +:FNGENERATOR: Built-In Function. + + Generate a curve using standard math functions such as sin and cos. +:ENVELOPE: Envelope. + + Reshape F-Curve values, e.g. change amplitude of movements. +:CYCLES: Cycles. + + Cyclic extend/repeat keyframe sequence. +:NOISE: Noise. + + Add pseudo-random noise on top of F-Curves. +:LIMITS: Limits. + + Restrict maximum and minimum values of F-Curve. +:STEPPED: Stepped Interpolation. + + Snap values to nearest grid step, e.g. for a stop-motion look. +:SMOOTH: Smooth (Gaussian). + + Smooth curve using Gaussian smoothing. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/geometry_component_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/geometry_component_type_items.rst new file mode 100644 index 0000000..729f429 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/geometry_component_type_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_geometry_component_type_items: + +Geometry Component Type Items +############################# + +:MESH: Mesh. + + Mesh component containing point, corner, edge and face data. +:POINTCLOUD: Point Cloud. + + Point cloud component containing only point data. +:CURVE: Curve. + + Curve component containing spline and control point data. +:INSTANCES: Instances. + + Instances of objects or collections. +:GREASEPENCIL: Grease Pencil. + + Grease Pencil component containing layers and curves data. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/geometry_nodes_gizmo_color_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/geometry_nodes_gizmo_color_items.rst new file mode 100644 index 0000000..b8c7bb6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/geometry_nodes_gizmo_color_items.rst @@ -0,0 +1,15 @@ +.. _rna_enum_geometry_nodes_gizmo_color_items: + +Geometry Nodes Gizmo Color Items +################################ + +:PRIMARY: Primary. + +:SECONDARY: Secondary. + +:X: X. + +:Y: Y. + +:Z: Z. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/geometry_nodes_linear_gizmo_draw_style_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/geometry_nodes_linear_gizmo_draw_style_items.rst new file mode 100644 index 0000000..b7a75c9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/geometry_nodes_linear_gizmo_draw_style_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_geometry_nodes_linear_gizmo_draw_style_items: + +Geometry Nodes Linear Gizmo Draw Style Items +############################################ + +:ARROW: Arrow. + +:CROSS: Cross. + +:BOX: Box. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/grease_pencil_selectmode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/grease_pencil_selectmode_items.rst new file mode 100644 index 0000000..ca8bcb4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/grease_pencil_selectmode_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_grease_pencil_selectmode_items: + +Grease Pencil Selectmode Items +############################## + +:POINT: Point. + + Select only points. +:STROKE: Stroke. + + Select all stroke points. +:SEGMENT: Segment. + + Select all stroke points between other strokes. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/icon_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/icon_items.rst new file mode 100644 index 0000000..21e01e4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/icon_items.rst @@ -0,0 +1,2039 @@ +.. _rna_enum_icon_items: + +Icon Items +########## + +:NONE: NONE. + +:CHAR_NOTDEF: CHAR_NOTDEF. + +:CHAR_REPLACEMENT: CHAR_REPLACEMENT. + +:NOT_FOUND: NOT_FOUND. + +:BLANK1: BLANK1. + +:AUTOMERGE_OFF: AUTOMERGE_OFF. + +:AUTOMERGE_ON: AUTOMERGE_ON. + +:CHECKBOX_DEHLT: CHECKBOX_DEHLT. + +:CHECKBOX_HLT: CHECKBOX_HLT. + +:CLIPUV_DEHLT: CLIPUV_DEHLT. + +:CLIPUV_HLT: CLIPUV_HLT. + +:DECORATE_UNLOCKED: DECORATE_UNLOCKED. + +:DECORATE_LOCKED: DECORATE_LOCKED. + +:FAKE_USER_OFF: FAKE_USER_OFF. + +:FAKE_USER_ON: FAKE_USER_ON. + +:HIDE_ON: HIDE_ON. + +:HIDE_OFF: HIDE_OFF. + +:INDIRECT_ONLY_OFF: INDIRECT_ONLY_OFF. + +:INDIRECT_ONLY_ON: INDIRECT_ONLY_ON. + +:ONIONSKIN_OFF: ONIONSKIN_OFF. + +:ONIONSKIN_ON: ONIONSKIN_ON. + +:UNPINNED: UNPINNED. + +:PINNED: PINNED. + +:RADIOBUT_OFF: RADIOBUT_OFF. + +:RADIOBUT_ON: RADIOBUT_ON. + +:RECORD_OFF: RECORD_OFF. + +:RECORD_ON: RECORD_ON. + +:RESTRICT_RENDER_ON: RESTRICT_RENDER_ON. + +:RESTRICT_RENDER_OFF: RESTRICT_RENDER_OFF. + +:RESTRICT_SELECT_ON: RESTRICT_SELECT_ON. + +:RESTRICT_SELECT_OFF: RESTRICT_SELECT_OFF. + +:RESTRICT_VIEW_ON: RESTRICT_VIEW_ON. + +:RESTRICT_VIEW_OFF: RESTRICT_VIEW_OFF. + +:RIGHTARROW: RIGHTARROW. + +:DOWNARROW_HLT: DOWNARROW_HLT. + +:SELECT_INTERSECT: SELECT_INTERSECT. + +:SELECT_DIFFERENCE: SELECT_DIFFERENCE. + +:SNAP_OFF: SNAP_OFF. + +:SNAP_ON: SNAP_ON. + +:PLAYHEAD_SNAP_OFF: PLAYHEAD_SNAP_OFF. + +:PLAYHEAD_SNAP_ON: PLAYHEAD_SNAP_ON. + +:UNLOCKED: UNLOCKED. + +:LOCKED: LOCKED. + +:VIS_SEL_11: VIS_SEL_11. + +:VIS_SEL_10: VIS_SEL_10. + +:VIS_SEL_01: VIS_SEL_01. + +:VIS_SEL_00: VIS_SEL_00. + +:CANCEL: CANCEL. + +:ERROR: ERROR. + +:QUESTION: QUESTION. + +:ADD: ADD. + +:ARROW_LEFTRIGHT: ARROW_LEFTRIGHT. + +:AUTO: AUTO. + +:BLENDER: BLENDER. + +:BORDERMOVE: BORDERMOVE. + +:BRUSHES_ALL: BRUSHES_ALL. + +:CHECKMARK: CHECKMARK. + +:COLLAPSEMENU: COLLAPSEMENU. + +:COLLECTION_NEW: COLLECTION_NEW. + +:COLOR: COLOR. + +:COPY_ID: COPY_ID. + +:DISCLOSURE_TRI_DOWN: DISCLOSURE_TRI_DOWN. + +:DISCLOSURE_TRI_RIGHT: DISCLOSURE_TRI_RIGHT. + +:DOT: DOT. + +:DRIVER_DISTANCE: DRIVER_DISTANCE. + +:DRIVER_ROTATIONAL_DIFFERENCE: DRIVER_ROTATIONAL_DIFFERENCE. + +:DRIVER_TRANSFORM: DRIVER_TRANSFORM. + +:DUPLICATE: DUPLICATE. + +:EYEDROPPER: EYEDROPPER. + +:FCURVE_SNAPSHOT: FCURVE_SNAPSHOT. + +:FILE_NEW: FILE_NEW. + +:FILE_TICK: FILE_TICK. + +:FREEZE: FREEZE. + +:FULLSCREEN_ENTER: FULLSCREEN_ENTER. + +:FULLSCREEN_EXIT: FULLSCREEN_EXIT. + +:GHOST_DISABLED: GHOST_DISABLED. + +:GHOST_ENABLED: GHOST_ENABLED. + +:GRIP: GRIP. + +:GRIP_V: GRIP_V. + +:HAND: HAND. + +:HELP: HELP. + +:LINKED: LINKED. + +:MENU_PANEL: MENU_PANEL. + +:NODE_SEL: NODE_SEL. + +:NODE: NODE. + +:OBJECT_HIDDEN: OBJECT_HIDDEN. + +:OPTIONS: OPTIONS. + +:PANEL_CLOSE: PANEL_CLOSE. + +:PLUGIN: PLUGIN. + +:PLUS: PLUS. + +:PRESET_NEW: PRESET_NEW. + +:PROJECT: PROJECT. + +:QUIT: QUIT. + +:RECOVER_LAST: RECOVER_LAST. + +:REMOVE: REMOVE. + +:RIGHTARROW_THIN: RIGHTARROW_THIN. + +:SCREEN_BACK: SCREEN_BACK. + +:STATUSBAR: STATUSBAR. + +:STYLUS_PRESSURE: STYLUS_PRESSURE. + +:THREE_DOTS: THREE_DOTS. + +:TOPBAR: TOPBAR. + +:TRASH: TRASH. + +:TRIA_DOWN: TRIA_DOWN. + +:TRIA_LEFT: TRIA_LEFT. + +:TRIA_RIGHT: TRIA_RIGHT. + +:TRIA_UP: TRIA_UP. + +:UNLINKED: UNLINKED. + +:URL: URL. + +:VIEWZOOM: VIEWZOOM. + +:WINDOW: WINDOW. + +:WORKSPACE: WORKSPACE. + +:X: X. + +:ZOOM_ALL: ZOOM_ALL. + +:ZOOM_IN: ZOOM_IN. + +:ZOOM_OUT: ZOOM_OUT. + +:ZOOM_PREVIOUS: ZOOM_PREVIOUS. + +:ZOOM_SELECTED: ZOOM_SELECTED. + +:MODIFIER: MODIFIER. + +:PARTICLES: PARTICLES. + +:PHYSICS: PHYSICS. + +:SHADERFX: SHADERFX. + +:SPEAKER: SPEAKER. + +:OUTPUT: OUTPUT. + +:SCENE: SCENE. + +:TOOL_SETTINGS: TOOL_SETTINGS. + +:LIGHT: LIGHT. + +:MATERIAL: MATERIAL. + +:TEXTURE: TEXTURE. + +:WORLD: WORLD. + +:ANIM: ANIM. + +:SCRIPT: SCRIPT. + +:GEOMETRY_NODES: GEOMETRY_NODES. + +:TEXT: TEXT. + +:ACTION: ACTION. + +:ASSET_MANAGER: ASSET_MANAGER. + +:CONSOLE: CONSOLE. + +:FILEBROWSER: FILEBROWSER. + +:GEOMETRY_SET: GEOMETRY_SET. + +:GRAPH: GRAPH. + +:IMAGE: IMAGE. + +:INFO: INFO. + +:NLA: NLA. + +:NODE_COMPOSITING: NODE_COMPOSITING. + +:NODE_MATERIAL: NODE_MATERIAL. + +:NODE_TEXTURE: NODE_TEXTURE. + +:NODETREE: NODETREE. + +:OUTLINER: OUTLINER. + +:PREFERENCES: PREFERENCES. + +:PROPERTIES: PROPERTIES. + +:SEQUENCE: SEQUENCE. + +:SOUND: SOUND. + +:SPREADSHEET: SPREADSHEET. + +:TIME: TIME. + +:TRACKER: TRACKER. + +:UV: UV. + +:VIEW3D: VIEW3D. + +:EDITMODE_HLT: EDITMODE_HLT. + +:OBJECT_DATAMODE: OBJECT_DATAMODE. + +:PARTICLEMODE: PARTICLEMODE. + +:POSE_HLT: POSE_HLT. + +:SCULPTMODE_HLT: SCULPTMODE_HLT. + +:TPAINT_HLT: TPAINT_HLT. + +:UV_DATA: UV_DATA. + +:VPAINT_HLT: VPAINT_HLT. + +:WPAINT_HLT: WPAINT_HLT. + +:TRACKER_DATA: TRACKER_DATA. + +:TRACKING_BACKWARDS_SINGLE: TRACKING_BACKWARDS_SINGLE. + +:TRACKING_BACKWARDS: TRACKING_BACKWARDS. + +:TRACKING_CLEAR_BACKWARDS: TRACKING_CLEAR_BACKWARDS. + +:TRACKING_CLEAR_FORWARDS: TRACKING_CLEAR_FORWARDS. + +:TRACKING_FORWARDS_SINGLE: TRACKING_FORWARDS_SINGLE. + +:TRACKING_FORWARDS: TRACKING_FORWARDS. + +:TRACKING_REFINE_BACKWARDS: TRACKING_REFINE_BACKWARDS. + +:TRACKING_REFINE_FORWARDS: TRACKING_REFINE_FORWARDS. + +:TRACKING: TRACKING. + +:GROUP: GROUP. + +:CONSTRAINT_BONE: CONSTRAINT_BONE. + +:CONSTRAINT: CONSTRAINT. + +:ARMATURE_DATA: ARMATURE_DATA. + +:BONE_DATA: BONE_DATA. + +:CAMERA_DATA: CAMERA_DATA. + +:CURVE_DATA: CURVE_DATA. + +:EMPTY_DATA: EMPTY_DATA. + +:FONT_DATA: FONT_DATA. + +:LATTICE_DATA: LATTICE_DATA. + +:LIGHT_DATA: LIGHT_DATA. + +:MESH_DATA: MESH_DATA. + +:META_DATA: META_DATA. + +:PARTICLE_DATA: PARTICLE_DATA. + +:SHAPEKEY_DATA: SHAPEKEY_DATA. + +:SURFACE_DATA: SURFACE_DATA. + +:OBJECT_DATA: OBJECT_DATA. + +:RENDER_RESULT: RENDER_RESULT. + +:RENDERLAYERS: RENDERLAYERS. + +:SCENE_DATA: SCENE_DATA. + +:BRUSH_DATA: BRUSH_DATA. + +:IMAGE_DATA: IMAGE_DATA. + +:LINE_DATA: LINE_DATA. + +:MATERIAL_DATA: MATERIAL_DATA. + +:TEXTURE_DATA: TEXTURE_DATA. + +:WORLD_DATA: WORLD_DATA. + +:ANIM_DATA: ANIM_DATA. + +:BOIDS: BOIDS. + +:CAMERA_STEREO: CAMERA_STEREO. + +:COMMUNITY: COMMUNITY. + +:FACE_MAPS: FACE_MAPS. + +:FCURVE: FCURVE. + +:FILE: FILE. + +:GREASEPENCIL: GREASEPENCIL. + +:GREASEPENCIL_LAYER_GROUP: GREASEPENCIL_LAYER_GROUP. + +:GROUP_BONE: GROUP_BONE. + +:GROUP_UVS: GROUP_UVS. + +:GROUP_VCOL: GROUP_VCOL. + +:GROUP_VERTEX: GROUP_VERTEX. + +:LIBRARY_DATA_BROKEN: LIBRARY_DATA_BROKEN. + +:LIBRARY_DATA_DIRECT: LIBRARY_DATA_DIRECT. + +:LIBRARY_DATA_OVERRIDE: LIBRARY_DATA_OVERRIDE. + +:ORPHAN_DATA: ORPHAN_DATA. + +:PACKAGE: PACKAGE. + +:PRESET: PRESET. + +:RENDER_ANIMATION: RENDER_ANIMATION. + +:RENDER_STILL: RENDER_STILL. + +:RNA: RNA. + +:STRANDS: STRANDS. + +:UGLYPACKAGE: UGLYPACKAGE. + +:MOUSE_LMB: MOUSE_LMB. + +:MOUSE_MMB: MOUSE_MMB. + +:MOUSE_RMB: MOUSE_RMB. + +:MOUSE_MMB_SCROLL: MOUSE_MMB_SCROLL. + +:MOUSE_LMB_2X: MOUSE_LMB_2X. + +:MOUSE_MOVE: MOUSE_MOVE. + +:MOUSE_LMB_DRAG: MOUSE_LMB_DRAG. + +:MOUSE_MMB_DRAG: MOUSE_MMB_DRAG. + +:MOUSE_RMB_DRAG: MOUSE_RMB_DRAG. + +:DECORATE_ANIMATE: DECORATE_ANIMATE. + +:DECORATE_DRIVER: DECORATE_DRIVER. + +:DECORATE_KEYFRAME: DECORATE_KEYFRAME. + +:DECORATE_LIBRARY_OVERRIDE: DECORATE_LIBRARY_OVERRIDE. + +:DECORATE_LINKED: DECORATE_LINKED. + +:DECORATE_OVERRIDE: DECORATE_OVERRIDE. + +:DECORATE: DECORATE. + +:OUTLINER_COLLECTION: OUTLINER_COLLECTION. + +:COLLECTION_COLOR_01: COLLECTION_COLOR_01. + +:COLLECTION_COLOR_02: COLLECTION_COLOR_02. + +:COLLECTION_COLOR_03: COLLECTION_COLOR_03. + +:COLLECTION_COLOR_04: COLLECTION_COLOR_04. + +:COLLECTION_COLOR_05: COLLECTION_COLOR_05. + +:COLLECTION_COLOR_06: COLLECTION_COLOR_06. + +:COLLECTION_COLOR_07: COLLECTION_COLOR_07. + +:COLLECTION_COLOR_08: COLLECTION_COLOR_08. + +:CURVES_DATA: CURVES_DATA. + +:OUTLINER_DATA_ARMATURE: OUTLINER_DATA_ARMATURE. + +:OUTLINER_DATA_CAMERA: OUTLINER_DATA_CAMERA. + +:OUTLINER_DATA_CURVE: OUTLINER_DATA_CURVE. + +:OUTLINER_DATA_CURVES: OUTLINER_DATA_CURVES. + +:OUTLINER_DATA_EMPTY: OUTLINER_DATA_EMPTY. + +:OUTLINER_DATA_FONT: OUTLINER_DATA_FONT. + +:OUTLINER_DATA_GP_LAYER: OUTLINER_DATA_GP_LAYER. + +:OUTLINER_DATA_GREASEPENCIL: OUTLINER_DATA_GREASEPENCIL. + +:OUTLINER_DATA_LATTICE: OUTLINER_DATA_LATTICE. + +:OUTLINER_DATA_LIGHT: OUTLINER_DATA_LIGHT. + +:OUTLINER_DATA_LIGHTPROBE: OUTLINER_DATA_LIGHTPROBE. + +:OUTLINER_DATA_MESH: OUTLINER_DATA_MESH. + +:OUTLINER_DATA_META: OUTLINER_DATA_META. + +:OUTLINER_DATA_POINTCLOUD: OUTLINER_DATA_POINTCLOUD. + +:OUTLINER_DATA_SPEAKER: OUTLINER_DATA_SPEAKER. + +:OUTLINER_DATA_SURFACE: OUTLINER_DATA_SURFACE. + +:OUTLINER_DATA_VOLUME: OUTLINER_DATA_VOLUME. + +:POINTCLOUD_DATA: POINTCLOUD_DATA. + +:POINTCLOUD_POINT: POINTCLOUD_POINT. + +:VOLUME_DATA: VOLUME_DATA. + +:OUTLINER_OB_ARMATURE: OUTLINER_OB_ARMATURE. + +:OUTLINER_OB_CAMERA: OUTLINER_OB_CAMERA. + +:OUTLINER_OB_CURVE: OUTLINER_OB_CURVE. + +:OUTLINER_OB_CURVES: OUTLINER_OB_CURVES. + +:OUTLINER_OB_EMPTY: OUTLINER_OB_EMPTY. + +:OUTLINER_OB_FONT: OUTLINER_OB_FONT. + +:OUTLINER_OB_FORCE_FIELD: OUTLINER_OB_FORCE_FIELD. + +:OUTLINER_OB_GREASEPENCIL: OUTLINER_OB_GREASEPENCIL. + +:OUTLINER_OB_GROUP_INSTANCE: OUTLINER_OB_GROUP_INSTANCE. + +:OUTLINER_OB_IMAGE: OUTLINER_OB_IMAGE. + +:OUTLINER_OB_LATTICE: OUTLINER_OB_LATTICE. + +:OUTLINER_OB_LIGHT: OUTLINER_OB_LIGHT. + +:OUTLINER_OB_LIGHTPROBE: OUTLINER_OB_LIGHTPROBE. + +:OUTLINER_OB_MESH: OUTLINER_OB_MESH. + +:OUTLINER_OB_META: OUTLINER_OB_META. + +:OUTLINER_OB_POINTCLOUD: OUTLINER_OB_POINTCLOUD. + +:OUTLINER_OB_SPEAKER: OUTLINER_OB_SPEAKER. + +:OUTLINER_OB_SURFACE: OUTLINER_OB_SURFACE. + +:OUTLINER_OB_VOLUME: OUTLINER_OB_VOLUME. + +:GP_MULTIFRAME_EDITING: GP_MULTIFRAME_EDITING. + +:GP_ONLY_SELECTED: GP_ONLY_SELECTED. + +:GP_SELECT_BETWEEN_STROKES: GP_SELECT_BETWEEN_STROKES. + +:GP_SELECT_POINTS: GP_SELECT_POINTS. + +:GP_SELECT_STROKES: GP_SELECT_STROKES. + +:HOLDOUT_OFF: HOLDOUT_OFF. + +:HOLDOUT_ON: HOLDOUT_ON. + +:MODIFIER_OFF: MODIFIER_OFF. + +:MODIFIER_ON: MODIFIER_ON. + +:RESTRICT_COLOR_OFF: RESTRICT_COLOR_OFF. + +:RESTRICT_COLOR_ON: RESTRICT_COLOR_ON. + +:RESTRICT_INSTANCED_OFF: RESTRICT_INSTANCED_OFF. + +:RESTRICT_INSTANCED_ON: RESTRICT_INSTANCED_ON. + +:LIGHT_AREA: LIGHT_AREA. + +:LIGHT_HEMI: LIGHT_HEMI. + +:LIGHT_POINT: LIGHT_POINT. + +:LIGHT_SPOT: LIGHT_SPOT. + +:LIGHT_SUN: LIGHT_SUN. + +:LIGHTPROBE_PLANE: LIGHTPROBE_PLANE. + +:LIGHTPROBE_SPHERE: LIGHTPROBE_SPHERE. + +:LIGHTPROBE_VOLUME: LIGHTPROBE_VOLUME. + +:COLOR_BLUE: COLOR_BLUE. + +:COLOR_GREEN: COLOR_GREEN. + +:COLOR_RED: COLOR_RED. + +:CONE: CONE. + +:CUBE: CUBE. + +:CURVE_BEZCIRCLE: CURVE_BEZCIRCLE. + +:CURVE_BEZCURVE: CURVE_BEZCURVE. + +:CURVE_NCIRCLE: CURVE_NCIRCLE. + +:CURVE_NCURVE: CURVE_NCURVE. + +:CURVE_PATH: CURVE_PATH. + +:CURVES: CURVES. + +:EMPTY_ARROWS: EMPTY_ARROWS. + +:EMPTY_AXIS: EMPTY_AXIS. + +:EMPTY_SINGLE_ARROW: EMPTY_SINGLE_ARROW. + +:MESH_CAPSULE: MESH_CAPSULE. + +:MESH_CIRCLE: MESH_CIRCLE. + +:MESH_CONE: MESH_CONE. + +:MESH_CUBE: MESH_CUBE. + +:MESH_CYLINDER: MESH_CYLINDER. + +:MESH_GRID: MESH_GRID. + +:MESH_ICOSPHERE: MESH_ICOSPHERE. + +:MESH_MONKEY: MESH_MONKEY. + +:MESH_PLANE: MESH_PLANE. + +:MESH_TORUS: MESH_TORUS. + +:MESH_UVSPHERE: MESH_UVSPHERE. + +:META_BALL: META_BALL. + +:META_CAPSULE: META_CAPSULE. + +:META_CUBE: META_CUBE. + +:META_ELLIPSOID: META_ELLIPSOID. + +:META_PLANE: META_PLANE. + +:MONKEY: MONKEY. + +:SPHERE: SPHERE. + +:STROKE: STROKE. + +:SURFACE_NCIRCLE: SURFACE_NCIRCLE. + +:SURFACE_NCURVE: SURFACE_NCURVE. + +:SURFACE_NCYLINDER: SURFACE_NCYLINDER. + +:SURFACE_NSPHERE: SURFACE_NSPHERE. + +:SURFACE_NSURFACE: SURFACE_NSURFACE. + +:SURFACE_NTORUS: SURFACE_NTORUS. + +:TRIA_DOWN_BAR: TRIA_DOWN_BAR. + +:TRIA_LEFT_BAR: TRIA_LEFT_BAR. + +:TRIA_RIGHT_BAR: TRIA_RIGHT_BAR. + +:TRIA_UP_BAR: TRIA_UP_BAR. + +:AREA_DOCK: AREA_DOCK. + +:AREA_JOIN_DOWN: AREA_JOIN_DOWN. + +:AREA_JOIN_LEFT: AREA_JOIN_LEFT. + +:AREA_JOIN_UP: AREA_JOIN_UP. + +:AREA_JOIN: AREA_JOIN. + +:AREA_SWAP: AREA_SWAP. + +:FORCE_BOID: FORCE_BOID. + +:FORCE_CHARGE: FORCE_CHARGE. + +:FORCE_CURVE: FORCE_CURVE. + +:FORCE_DRAG: FORCE_DRAG. + +:FORCE_FLUIDFLOW: FORCE_FLUIDFLOW. + +:FORCE_FORCE: FORCE_FORCE. + +:FORCE_HARMONIC: FORCE_HARMONIC. + +:FORCE_LENNARDJONES: FORCE_LENNARDJONES. + +:FORCE_MAGNETIC: FORCE_MAGNETIC. + +:FORCE_TEXTURE: FORCE_TEXTURE. + +:FORCE_TURBULENCE: FORCE_TURBULENCE. + +:FORCE_VORTEX: FORCE_VORTEX. + +:FORCE_WIND: FORCE_WIND. + +:IMAGE_BACKGROUND: IMAGE_BACKGROUND. + +:IMAGE_PLANE: IMAGE_PLANE. + +:IMAGE_REFERENCE: IMAGE_REFERENCE. + +:RIGID_BODY_CONSTRAINT: RIGID_BODY_CONSTRAINT. + +:RIGID_BODY: RIGID_BODY. + +:SPLIT_HORIZONTAL: SPLIT_HORIZONTAL. + +:SPLIT_VERTICAL: SPLIT_VERTICAL. + +:ANCHOR_BOTTOM: ANCHOR_BOTTOM. + +:ANCHOR_CENTER: ANCHOR_CENTER. + +:ANCHOR_LEFT: ANCHOR_LEFT. + +:ANCHOR_RIGHT: ANCHOR_RIGHT. + +:ANCHOR_TOP: ANCHOR_TOP. + +:NODE_CORNER: NODE_CORNER. + +:NODE_INSERT_OFF: NODE_INSERT_OFF. + +:NODE_INSERT_ON: NODE_INSERT_ON. + +:NODE_SIDE: NODE_SIDE. + +:NODE_TOP: NODE_TOP. + +:SELECT_EXTEND: SELECT_EXTEND. + +:SELECT_SET: SELECT_SET. + +:SELECT_SUBTRACT: SELECT_SUBTRACT. + +:ALIGN_BOTTOM: ALIGN_BOTTOM. + +:ALIGN_CENTER: ALIGN_CENTER. + +:ALIGN_FLUSH: ALIGN_FLUSH. + +:ALIGN_JUSTIFY: ALIGN_JUSTIFY. + +:ALIGN_LEFT: ALIGN_LEFT. + +:ALIGN_MIDDLE: ALIGN_MIDDLE. + +:ALIGN_RIGHT: ALIGN_RIGHT. + +:ALIGN_TOP: ALIGN_TOP. + +:BOLD: BOLD. + +:ITALIC: ITALIC. + +:LINENUMBERS_OFF: LINENUMBERS_OFF. + +:LINENUMBERS_ON: LINENUMBERS_ON. + +:SCRIPTPLUGINS: SCRIPTPLUGINS. + +:SMALL_CAPS: SMALL_CAPS. + +:SYNTAX_OFF: SYNTAX_OFF. + +:SYNTAX_ON: SYNTAX_ON. + +:UNDERLINE: UNDERLINE. + +:WORDWRAP_OFF: WORDWRAP_OFF. + +:WORDWRAP_ON: WORDWRAP_ON. + +:CON_ACTION: CON_ACTION. + +:CON_ARMATURE: CON_ARMATURE. + +:CON_GEOMETRYATTRIBUTE: CON_GEOMETRYATTRIBUTE. + +:CON_CAMERASOLVER: CON_CAMERASOLVER. + +:CON_CHILDOF: CON_CHILDOF. + +:CON_CLAMPTO: CON_CLAMPTO. + +:CON_DISTLIMIT: CON_DISTLIMIT. + +:CON_FLOOR: CON_FLOOR. + +:CON_FOLLOWPATH: CON_FOLLOWPATH. + +:CON_FOLLOWTRACK: CON_FOLLOWTRACK. + +:CON_KINEMATIC: CON_KINEMATIC. + +:CON_LOCKTRACK: CON_LOCKTRACK. + +:CON_LOCLIKE: CON_LOCLIKE. + +:CON_LOCLIMIT: CON_LOCLIMIT. + +:CON_OBJECTSOLVER: CON_OBJECTSOLVER. + +:CON_PIVOT: CON_PIVOT. + +:CON_ROTLIKE: CON_ROTLIKE. + +:CON_ROTLIMIT: CON_ROTLIMIT. + +:CON_SAMEVOL: CON_SAMEVOL. + +:CON_SHRINKWRAP: CON_SHRINKWRAP. + +:CON_SIZELIKE: CON_SIZELIKE. + +:CON_SIZELIMIT: CON_SIZELIMIT. + +:CON_SPLINEIK: CON_SPLINEIK. + +:CON_STRETCHTO: CON_STRETCHTO. + +:CON_TRACKTO: CON_TRACKTO. + +:CON_TRANSFORM_CACHE: CON_TRANSFORM_CACHE. + +:CON_TRANSFORM: CON_TRANSFORM. + +:CON_TRANSLIKE: CON_TRANSLIKE. + +:HOOK: HOOK. + +:MOD_ARMATURE: MOD_ARMATURE. + +:MOD_ARRAY: MOD_ARRAY. + +:MOD_BEVEL: MOD_BEVEL. + +:MOD_BOOLEAN: MOD_BOOLEAN. + +:MOD_BUILD: MOD_BUILD. + +:MOD_CAST: MOD_CAST. + +:MOD_CLOTH: MOD_CLOTH. + +:MOD_CURVE: MOD_CURVE. + +:MOD_CURVE_TO_TUBE: MOD_CURVE_TO_TUBE. + +:MOD_DASH: MOD_DASH. + +:MOD_DATA_TRANSFER: MOD_DATA_TRANSFER. + +:MOD_DECIM: MOD_DECIM. + +:MOD_DISPLACE: MOD_DISPLACE. + +:MOD_DYNAMICPAINT: MOD_DYNAMICPAINT. + +:MOD_EDGESPLIT: MOD_EDGESPLIT. + +:MOD_ENVELOPE: MOD_ENVELOPE. + +:MOD_EXPLODE: MOD_EXPLODE. + +:MOD_FLUID: MOD_FLUID. + +:MOD_FLUIDSIM: MOD_FLUIDSIM. + +:MOD_HUE_SATURATION: MOD_HUE_SATURATION. + +:MOD_INSTANCE: MOD_INSTANCE. + +:MOD_LATTICE: MOD_LATTICE. + +:MOD_LENGTH: MOD_LENGTH. + +:MOD_LINEART: MOD_LINEART. + +:MOD_MASK: MOD_MASK. + +:MOD_MESHDEFORM: MOD_MESHDEFORM. + +:MOD_MIRROR: MOD_MIRROR. + +:MOD_MULTIRES: MOD_MULTIRES. + +:MOD_NOISE: MOD_NOISE. + +:MOD_NORMALEDIT: MOD_NORMALEDIT. + +:MOD_OCEAN: MOD_OCEAN. + +:MOD_OFFSET: MOD_OFFSET. + +:MOD_OPACITY: MOD_OPACITY. + +:MOD_OUTLINE: MOD_OUTLINE. + +:MOD_PARTICLE_INSTANCE: MOD_PARTICLE_INSTANCE. + +:MOD_PARTICLES: MOD_PARTICLES. + +:MOD_PHYSICS: MOD_PHYSICS. + +:MOD_REMESH: MOD_REMESH. + +:MOD_SCATTER_ON_SURFACE: MOD_SCATTER_ON_SURFACE. + +:MOD_SCREW: MOD_SCREW. + +:MOD_SHRINKWRAP: MOD_SHRINKWRAP. + +:MOD_SIMPLEDEFORM: MOD_SIMPLEDEFORM. + +:MOD_SIMPLIFY: MOD_SIMPLIFY. + +:MOD_SKIN: MOD_SKIN. + +:MOD_SMOOTH: MOD_SMOOTH. + +:MOD_SOFT: MOD_SOFT. + +:MOD_SOLIDIFY: MOD_SOLIDIFY. + +:MOD_SUBSURF: MOD_SUBSURF. + +:MOD_THICKNESS: MOD_THICKNESS. + +:MOD_TIME: MOD_TIME. + +:MOD_TINT: MOD_TINT. + +:MOD_TRIANGULATE: MOD_TRIANGULATE. + +:MOD_UVPROJECT: MOD_UVPROJECT. + +:MOD_VERTEX_WEIGHT: MOD_VERTEX_WEIGHT. + +:MOD_WARP: MOD_WARP. + +:MOD_WAVE: MOD_WAVE. + +:MOD_WIREFRAME: MOD_WIREFRAME. + +:MODIFIER_DATA: MODIFIER_DATA. + +:ACTION_SLOT: ACTION_SLOT. + +:ACTION_TWEAK: ACTION_TWEAK. + +:DRIVER: DRIVER. + +:FF: FF. + +:FRAME_NEXT: FRAME_NEXT. + +:FRAME_PREV: FRAME_PREV. + +:HANDLE_ALIGNED: HANDLE_ALIGNED. + +:HANDLE_AUTO: HANDLE_AUTO. + +:HANDLE_AUTOCLAMPED: HANDLE_AUTOCLAMPED. + +:HANDLE_FREE: HANDLE_FREE. + +:HANDLE_VECTOR: HANDLE_VECTOR. + +:IPO_BACK: IPO_BACK. + +:IPO_BEZIER: IPO_BEZIER. + +:IPO_BOUNCE: IPO_BOUNCE. + +:IPO_CIRC: IPO_CIRC. + +:IPO_CONSTANT: IPO_CONSTANT. + +:IPO_CUBIC: IPO_CUBIC. + +:IPO_EASE_IN_OUT: IPO_EASE_IN_OUT. + +:IPO_EASE_IN: IPO_EASE_IN. + +:IPO_EASE_OUT: IPO_EASE_OUT. + +:IPO_ELASTIC: IPO_ELASTIC. + +:IPO_EXPO: IPO_EXPO. + +:IPO_LINEAR: IPO_LINEAR. + +:IPO_QUAD: IPO_QUAD. + +:IPO_QUART: IPO_QUART. + +:IPO_QUINT: IPO_QUINT. + +:IPO_SINE: IPO_SINE. + +:KEY_DEHLT: KEY_DEHLT. + +:KEY_HLT: KEY_HLT. + +:KEYFRAME_HLT: KEYFRAME_HLT. + +:KEYFRAME: KEYFRAME. + +:KEYINGSET: KEYINGSET. + +:MARKER_HLT: MARKER_HLT. + +:MARKER: MARKER. + +:MUTE_IPO_OFF: MUTE_IPO_OFF. + +:MUTE_IPO_ON: MUTE_IPO_ON. + +:NEXT_KEYFRAME: NEXT_KEYFRAME. + +:NLA_PUSHDOWN: NLA_PUSHDOWN. + +:NORMALIZE_FCURVES: NORMALIZE_FCURVES. + +:ORIENTATION_PARENT: ORIENTATION_PARENT. + +:PAUSE: PAUSE. + +:PLAY_REVERSE: PLAY_REVERSE. + +:PLAY_SOUND: PLAY_SOUND. + +:PLAY: PLAY. + +:PMARKER_ACT: PMARKER_ACT. + +:PMARKER_SEL: PMARKER_SEL. + +:PMARKER: PMARKER. + +:PREV_KEYFRAME: PREV_KEYFRAME. + +:PREVIEW_RANGE: PREVIEW_RANGE. + +:REC: REC. + +:REW: REW. + +:SOLO_OFF: SOLO_OFF. + +:SOLO_ON: SOLO_ON. + +:CENTER_ONLY: CENTER_ONLY. + +:CURSOR: CURSOR. + +:EDGESEL: EDGESEL. + +:EDGE_BEVEL: EDGE_BEVEL. + +:EDGE_CREASE: EDGE_CREASE. + +:EDGE_SEAM: EDGE_SEAM. + +:EDGE_SHARP: EDGE_SHARP. + +:FACE_CORNER: FACE_CORNER. + +:FACESEL: FACESEL. + +:INVERSESQUARECURVE: INVERSESQUARECURVE. + +:LINCURVE: LINCURVE. + +:NOCURVE: NOCURVE. + +:PARTICLE_PATH: PARTICLE_PATH. + +:PARTICLE_POINT: PARTICLE_POINT. + +:PARTICLE_TIP: PARTICLE_TIP. + +:PIVOT_ACTIVE: PIVOT_ACTIVE. + +:PIVOT_BOUNDBOX: PIVOT_BOUNDBOX. + +:PIVOT_CURSOR: PIVOT_CURSOR. + +:PIVOT_INDIVIDUAL: PIVOT_INDIVIDUAL. + +:PIVOT_MEDIAN: PIVOT_MEDIAN. + +:PROP_CON: PROP_CON. + +:PROP_OFF: PROP_OFF. + +:PROP_ON: PROP_ON. + +:PROP_PROJECTED: PROP_PROJECTED. + +:RNDCURVE: RNDCURVE. + +:ROOTCURVE: ROOTCURVE. + +:SHARPCURVE: SHARPCURVE. + +:SMOOTHCURVE: SMOOTHCURVE. + +:SPHERECURVE: SPHERECURVE. + +:VERTEXSEL: VERTEXSEL. + +:VERTEX_CREASE: VERTEX_CREASE. + +:SNAP_EDGE: SNAP_EDGE. + +:SNAP_FACE_CENTER: SNAP_FACE_CENTER. + +:SNAP_FACE_NEAREST: SNAP_FACE_NEAREST. + +:SNAP_FACE: SNAP_FACE. + +:SNAP_GRID: SNAP_GRID. + +:SNAP_INCREMENT: SNAP_INCREMENT. + +:SNAP_MIDPOINT: SNAP_MIDPOINT. + +:SNAP_NORMAL: SNAP_NORMAL. + +:SNAP_PEEL_OBJECT: SNAP_PEEL_OBJECT. + +:SNAP_PERPENDICULAR: SNAP_PERPENDICULAR. + +:SNAP_VERTEX: SNAP_VERTEX. + +:SNAP_VOLUME: SNAP_VOLUME. + +:STICKY_UVS_DISABLE: STICKY_UVS_DISABLE. + +:STICKY_UVS_LOC: STICKY_UVS_LOC. + +:STICKY_UVS_VERT: STICKY_UVS_VERT. + +:ORIENTATION_GIMBAL: ORIENTATION_GIMBAL. + +:ORIENTATION_GLOBAL: ORIENTATION_GLOBAL. + +:ORIENTATION_LOCAL: ORIENTATION_LOCAL. + +:ORIENTATION_NORMAL: ORIENTATION_NORMAL. + +:ORIENTATION_VIEW: ORIENTATION_VIEW. + +:COPYDOWN: COPYDOWN. + +:FIXED_SIZE: FIXED_SIZE. + +:GIZMO: GIZMO. + +:GP_CAPS_FLAT: GP_CAPS_FLAT. + +:GP_CAPS_ROUND: GP_CAPS_ROUND. + +:NORMALS_FACE: NORMALS_FACE. + +:NORMALS_VERTEX_FACE: NORMALS_VERTEX_FACE. + +:NORMALS_VERTEX: NORMALS_VERTEX. + +:OBJECT_ORIGIN: OBJECT_ORIGIN. + +:ORIENTATION_CURSOR: ORIENTATION_CURSOR. + +:PASTEDOWN: PASTEDOWN. + +:PASTEFLIPDOWN: PASTEFLIPDOWN. + +:PASTEFLIPUP: PASTEFLIPUP. + +:TRANSFORM_ORIGINS: TRANSFORM_ORIGINS. + +:UV_EDGESEL: UV_EDGESEL. + +:UV_FACESEL: UV_FACESEL. + +:UV_ISLANDSEL: UV_ISLANDSEL. + +:UV_SYNC_SELECT: UV_SYNC_SELECT. + +:UV_VERTEXSEL: UV_VERTEXSEL. + +:AXIS_FRONT: AXIS_FRONT. + +:AXIS_SIDE: AXIS_SIDE. + +:AXIS_TOP: AXIS_TOP. + +:GRID: GRID. + +:LAYER_ACTIVE: LAYER_ACTIVE. + +:LAYER_USED: LAYER_USED. + +:LOCKVIEW_OFF: LOCKVIEW_OFF. + +:LOCKVIEW_ON: LOCKVIEW_ON. + +:OVERLAY: OVERLAY. + +:SHADING_BBOX: SHADING_BBOX. + +:SHADING_RENDERED: SHADING_RENDERED. + +:SHADING_SOLID: SHADING_SOLID. + +:SHADING_TEXTURE: SHADING_TEXTURE. + +:SHADING_WIRE: SHADING_WIRE. + +:XRAY: XRAY. + +:VIEW_CAMERA_UNSELECTED: VIEW_CAMERA_UNSELECTED. + +:VIEW_CAMERA: VIEW_CAMERA. + +:VIEW_LOCKED: VIEW_LOCKED. + +:VIEW_ORTHO: VIEW_ORTHO. + +:VIEW_PAN: VIEW_PAN. + +:VIEW_PERSPECTIVE: VIEW_PERSPECTIVE. + +:VIEW_UNLOCKED: VIEW_UNLOCKED. + +:VIEW_ZOOM: VIEW_ZOOM. + +:FILE_ALIAS: FILE_ALIAS. + +:FILE_FOLDER: FILE_FOLDER. + +:FOLDER_REDIRECT: FOLDER_REDIRECT. + +:APPEND_BLEND: APPEND_BLEND. + +:BACK: BACK. + +:BOOKMARKS: BOOKMARKS. + +:CURRENT_FILE: CURRENT_FILE. + +:DESKTOP: DESKTOP. + +:DISC: DISC. + +:DISK_DRIVE: DISK_DRIVE. + +:DOCUMENTS: DOCUMENTS. + +:EXPORT: EXPORT. + +:EXTERNAL_DRIVE: EXTERNAL_DRIVE. + +:USB_DRIVE: USB_DRIVE. + +:FILE_3D: FILE_3D. + +:FILE_ARCHIVE: FILE_ARCHIVE. + +:FILE_BACKUP: FILE_BACKUP. + +:FILE_BLANK: FILE_BLANK. + +:FILE_BLEND: FILE_BLEND. + +:FILE_CACHE: FILE_CACHE. + +:FILE_FONT: FILE_FONT. + +:FILE_HIDDEN: FILE_HIDDEN. + +:FILE_IMAGE: FILE_IMAGE. + +:FILE_MOVIE: FILE_MOVIE. + +:FILE_PARENT: FILE_PARENT. + +:FILE_REFRESH: FILE_REFRESH. + +:FILE_SCRIPT: FILE_SCRIPT. + +:FILE_SOUND: FILE_SOUND. + +:FILE_TEXT: FILE_TEXT. + +:FILE_VOLUME: FILE_VOLUME. + +:FILTER: FILTER. + +:FONTPREVIEW: FONTPREVIEW. + +:FORWARD: FORWARD. + +:HOME: HOME. + +:IMGDISPLAY: IMGDISPLAY. + +:IMPORT: IMPORT. + +:LINK_BLEND: LINK_BLEND. + +:LONGDISPLAY: LONGDISPLAY. + +:LOOP_BACK: LOOP_BACK. + +:LOOP_FORWARDS: LOOP_FORWARDS. + +:NETWORK_DRIVE: NETWORK_DRIVE. + +:NEWFOLDER: NEWFOLDER. + +:PREVIEW_LOADING: PREVIEW_LOADING. + +:SETTINGS: SETTINGS. + +:SHORTDISPLAY: SHORTDISPLAY. + +:SORT_ASC: SORT_ASC. + +:SORT_DESC: SORT_DESC. + +:SORTALPHA: SORTALPHA. + +:SORTBYEXT: SORTBYEXT. + +:SORTSIZE: SORTSIZE. + +:SORTTIME: SORTTIME. + +:SYSTEM: SYSTEM. + +:TAG: TAG. + +:TEMP: TEMP. + +:ALIASED: ALIASED. + +:ANTIALIASED: ANTIALIASED. + +:MAT_SPHERE_SKY: MAT_SPHERE_SKY. + +:MATCLOTH: MATCLOTH. + +:MATCUBE: MATCUBE. + +:MATFLUID: MATFLUID. + +:MATPLANE: MATPLANE. + +:MATSHADERBALL: MATSHADERBALL. + +:MATSPHERE: MATSPHERE. + +:SEQ_CHROMA_SCOPE: SEQ_CHROMA_SCOPE. + +:SEQ_HISTOGRAM: SEQ_HISTOGRAM. + +:SEQ_LUMA_WAVEFORM: SEQ_LUMA_WAVEFORM. + +:SEQ_PREVIEW: SEQ_PREVIEW. + +:SEQ_SEQUENCER: SEQ_SEQUENCER. + +:SEQ_SPLITVIEW: SEQ_SPLITVIEW. + +:SEQ_STRIP_DUPLICATE: SEQ_STRIP_DUPLICATE. + +:SEQ_STRIP_META: SEQ_STRIP_META. + +:SEQ_STRIP_MODIFIER: SEQ_STRIP_MODIFIER. + +:MOD_BRIGHTNESS_CONTRAST: MOD_BRIGHTNESS_CONTRAST. + +:MOD_COLOR_BALANCE: MOD_COLOR_BALANCE. + +:MOD_CURVES: MOD_CURVES. + +:MOD_HUE_CORRECT: MOD_HUE_CORRECT. + +:MOD_TONEMAP: MOD_TONEMAP. + +:MOD_WHITE_BALANCE: MOD_WHITE_BALANCE. + +:IMAGE_ALPHA: IMAGE_ALPHA. + +:IMAGE_RGB_ALPHA: IMAGE_RGB_ALPHA. + +:IMAGE_RGB: IMAGE_RGB. + +:IMAGE_ZDEPTH: IMAGE_ZDEPTH. + +:BLENDER_LOGO_LARGE: BLENDER_LOGO_LARGE. + +:CANCEL_LARGE: CANCEL_LARGE. + +:DISC_LARGE: DISC_LARGE. + +:DISK_DRIVE_LARGE: DISK_DRIVE_LARGE. + +:EXTERNAL_DRIVE_LARGE: EXTERNAL_DRIVE_LARGE. + +:USB_DRIVE_LARGE: USB_DRIVE_LARGE. + +:FILE_FOLDER_LARGE: FILE_FOLDER_LARGE. + +:FILE_LARGE: FILE_LARGE. + +:FILE_PARENT_LARGE: FILE_PARENT_LARGE. + +:INFO_LARGE: INFO_LARGE. + +:NETWORK_DRIVE_LARGE: NETWORK_DRIVE_LARGE. + +:QUESTION_LARGE: QUESTION_LARGE. + +:WARNING_LARGE: WARNING_LARGE. + +:KEY_BACKSPACE_FILLED: KEY_BACKSPACE_FILLED. + +:KEY_BACKSPACE: KEY_BACKSPACE. + +:KEY_COMMAND_FILLED: KEY_COMMAND_FILLED. + +:KEY_COMMAND: KEY_COMMAND. + +:KEY_CONTROL_FILLED: KEY_CONTROL_FILLED. + +:KEY_CONTROL: KEY_CONTROL. + +:KEY_EMPTY1_FILLED: KEY_EMPTY1_FILLED. + +:KEY_EMPTY1: KEY_EMPTY1. + +:KEY_EMPTY2_FILLED: KEY_EMPTY2_FILLED. + +:KEY_EMPTY2: KEY_EMPTY2. + +:KEY_EMPTY3_FILLED: KEY_EMPTY3_FILLED. + +:KEY_EMPTY3: KEY_EMPTY3. + +:KEY_MENU_FILLED: KEY_MENU_FILLED. + +:KEY_MENU: KEY_MENU. + +:KEY_OPTION_FILLED: KEY_OPTION_FILLED. + +:KEY_OPTION: KEY_OPTION. + +:KEY_RETURN_FILLED: KEY_RETURN_FILLED. + +:KEY_RETURN: KEY_RETURN. + +:KEY_RING_FILLED: KEY_RING_FILLED. + +:KEY_RING: KEY_RING. + +:KEY_SHIFT_FILLED: KEY_SHIFT_FILLED. + +:KEY_SHIFT: KEY_SHIFT. + +:KEY_TAB_FILLED: KEY_TAB_FILLED. + +:KEY_TAB: KEY_TAB. + +:KEY_WINDOWS_FILLED: KEY_WINDOWS_FILLED. + +:KEY_WINDOWS: KEY_WINDOWS. + +:GESTURE_PAN: GESTURE_PAN. + +:GESTURE_ROTATE: GESTURE_ROTATE. + +:GESTURE_ZOOM: GESTURE_ZOOM. + +:FUND: FUND. + +:HEART: HEART. + +:INTERNET_OFFLINE: INTERNET_OFFLINE. + +:INTERNET: INTERNET. + +:USER: USER. + +:EXPERIMENTAL: EXPERIMENTAL. + +:MEMORY: MEMORY. + +:RGB_RED: RGB_RED. + +:RGB_GREEN: RGB_GREEN. + +:RGB_BLUE: RGB_BLUE. + +:KEYTYPE_KEYFRAME_VEC: KEYTYPE_KEYFRAME_VEC. + +:KEYTYPE_BREAKDOWN_VEC: KEYTYPE_BREAKDOWN_VEC. + +:KEYTYPE_EXTREME_VEC: KEYTYPE_EXTREME_VEC. + +:KEYTYPE_JITTER_VEC: KEYTYPE_JITTER_VEC. + +:KEYTYPE_MOVING_HOLD_VEC: KEYTYPE_MOVING_HOLD_VEC. + +:KEYTYPE_GENERATED_VEC: KEYTYPE_GENERATED_VEC. + +:HANDLETYPE_FREE_VEC: HANDLETYPE_FREE_VEC. + +:HANDLETYPE_ALIGNED_VEC: HANDLETYPE_ALIGNED_VEC. + +:HANDLETYPE_VECTOR_VEC: HANDLETYPE_VECTOR_VEC. + +:HANDLETYPE_AUTO_VEC: HANDLETYPE_AUTO_VEC. + +:HANDLETYPE_AUTO_CLAMP_VEC: HANDLETYPE_AUTO_CLAMP_VEC. + +:COLORSET_01_VEC: COLORSET_01_VEC. + +:COLORSET_02_VEC: COLORSET_02_VEC. + +:COLORSET_03_VEC: COLORSET_03_VEC. + +:COLORSET_04_VEC: COLORSET_04_VEC. + +:COLORSET_05_VEC: COLORSET_05_VEC. + +:COLORSET_06_VEC: COLORSET_06_VEC. + +:COLORSET_07_VEC: COLORSET_07_VEC. + +:COLORSET_08_VEC: COLORSET_08_VEC. + +:COLORSET_09_VEC: COLORSET_09_VEC. + +:COLORSET_10_VEC: COLORSET_10_VEC. + +:COLORSET_11_VEC: COLORSET_11_VEC. + +:COLORSET_12_VEC: COLORSET_12_VEC. + +:COLORSET_13_VEC: COLORSET_13_VEC. + +:COLORSET_14_VEC: COLORSET_14_VEC. + +:COLORSET_15_VEC: COLORSET_15_VEC. + +:COLORSET_16_VEC: COLORSET_16_VEC. + +:COLORSET_17_VEC: COLORSET_17_VEC. + +:COLORSET_18_VEC: COLORSET_18_VEC. + +:COLORSET_19_VEC: COLORSET_19_VEC. + +:COLORSET_20_VEC: COLORSET_20_VEC. + +:STRIP_COLOR_01: STRIP_COLOR_01. + +:STRIP_COLOR_02: STRIP_COLOR_02. + +:STRIP_COLOR_03: STRIP_COLOR_03. + +:STRIP_COLOR_04: STRIP_COLOR_04. + +:STRIP_COLOR_05: STRIP_COLOR_05. + +:STRIP_COLOR_06: STRIP_COLOR_06. + +:STRIP_COLOR_07: STRIP_COLOR_07. + +:STRIP_COLOR_08: STRIP_COLOR_08. + +:STRIP_COLOR_09: STRIP_COLOR_09. + +:LIBRARY_DATA_INDIRECT: LIBRARY_DATA_INDIRECT. + +:LIBRARY_DATA_OVERRIDE_NONEDITABLE: LIBRARY_DATA_OVERRIDE_NONEDITABLE. + +:LAYERGROUP_COLOR_01: LAYERGROUP_COLOR_01. + +:LAYERGROUP_COLOR_02: LAYERGROUP_COLOR_02. + +:LAYERGROUP_COLOR_03: LAYERGROUP_COLOR_03. + +:LAYERGROUP_COLOR_04: LAYERGROUP_COLOR_04. + +:LAYERGROUP_COLOR_05: LAYERGROUP_COLOR_05. + +:LAYERGROUP_COLOR_06: LAYERGROUP_COLOR_06. + +:LAYERGROUP_COLOR_07: LAYERGROUP_COLOR_07. + +:LAYERGROUP_COLOR_08: LAYERGROUP_COLOR_08. + +:EVENT_A: EVENT_A. + +:EVENT_B: EVENT_B. + +:EVENT_C: EVENT_C. + +:EVENT_D: EVENT_D. + +:EVENT_E: EVENT_E. + +:EVENT_F: EVENT_F. + +:EVENT_G: EVENT_G. + +:EVENT_H: EVENT_H. + +:EVENT_I: EVENT_I. + +:EVENT_J: EVENT_J. + +:EVENT_K: EVENT_K. + +:EVENT_L: EVENT_L. + +:EVENT_M: EVENT_M. + +:EVENT_N: EVENT_N. + +:EVENT_O: EVENT_O. + +:EVENT_P: EVENT_P. + +:EVENT_Q: EVENT_Q. + +:EVENT_R: EVENT_R. + +:EVENT_S: EVENT_S. + +:EVENT_T: EVENT_T. + +:EVENT_U: EVENT_U. + +:EVENT_V: EVENT_V. + +:EVENT_W: EVENT_W. + +:EVENT_X: EVENT_X. + +:EVENT_Y: EVENT_Y. + +:EVENT_Z: EVENT_Z. + +:EVENT_SHIFT: EVENT_SHIFT. + +:EVENT_CTRL: EVENT_CTRL. + +:EVENT_ALT: EVENT_ALT. + +:EVENT_OS: EVENT_OS. + +:EVENT_HYPER: EVENT_HYPER. + +:EVENT_F1: EVENT_F1. + +:EVENT_F2: EVENT_F2. + +:EVENT_F3: EVENT_F3. + +:EVENT_F4: EVENT_F4. + +:EVENT_F5: EVENT_F5. + +:EVENT_F6: EVENT_F6. + +:EVENT_F7: EVENT_F7. + +:EVENT_F8: EVENT_F8. + +:EVENT_F9: EVENT_F9. + +:EVENT_F10: EVENT_F10. + +:EVENT_F11: EVENT_F11. + +:EVENT_F12: EVENT_F12. + +:EVENT_F13: EVENT_F13. + +:EVENT_F14: EVENT_F14. + +:EVENT_F15: EVENT_F15. + +:EVENT_F16: EVENT_F16. + +:EVENT_F17: EVENT_F17. + +:EVENT_F18: EVENT_F18. + +:EVENT_F19: EVENT_F19. + +:EVENT_F20: EVENT_F20. + +:EVENT_F21: EVENT_F21. + +:EVENT_F22: EVENT_F22. + +:EVENT_F23: EVENT_F23. + +:EVENT_F24: EVENT_F24. + +:EVENT_ESC: EVENT_ESC. + +:EVENT_TAB: EVENT_TAB. + +:EVENT_PAGEUP: EVENT_PAGEUP. + +:EVENT_PAGEDOWN: EVENT_PAGEDOWN. + +:EVENT_RETURN: EVENT_RETURN. + +:EVENT_SPACEKEY: EVENT_SPACEKEY. + +:EVENT_ZEROKEY: EVENT_ZEROKEY. + +:EVENT_ONEKEY: EVENT_ONEKEY. + +:EVENT_TWOKEY: EVENT_TWOKEY. + +:EVENT_THREEKEY: EVENT_THREEKEY. + +:EVENT_FOURKEY: EVENT_FOURKEY. + +:EVENT_FIVEKEY: EVENT_FIVEKEY. + +:EVENT_SIXKEY: EVENT_SIXKEY. + +:EVENT_SEVENKEY: EVENT_SEVENKEY. + +:EVENT_EIGHTKEY: EVENT_EIGHTKEY. + +:EVENT_NINEKEY: EVENT_NINEKEY. + +:EVENT_PAD0: EVENT_PAD0. + +:EVENT_PAD1: EVENT_PAD1. + +:EVENT_PAD2: EVENT_PAD2. + +:EVENT_PAD3: EVENT_PAD3. + +:EVENT_PAD4: EVENT_PAD4. + +:EVENT_PAD5: EVENT_PAD5. + +:EVENT_PAD6: EVENT_PAD6. + +:EVENT_PAD7: EVENT_PAD7. + +:EVENT_PAD8: EVENT_PAD8. + +:EVENT_PAD9: EVENT_PAD9. + +:EVENT_PADASTER: EVENT_PADASTER. + +:EVENT_PADSLASH: EVENT_PADSLASH. + +:EVENT_PADMINUS: EVENT_PADMINUS. + +:EVENT_PADENTER: EVENT_PADENTER. + +:EVENT_PADPLUS: EVENT_PADPLUS. + +:EVENT_PADPERIOD: EVENT_PADPERIOD. + +:EVENT_MOUSE_4: EVENT_MOUSE_4. + +:EVENT_MOUSE_5: EVENT_MOUSE_5. + +:EVENT_MOUSE_6: EVENT_MOUSE_6. + +:EVENT_MOUSE_7: EVENT_MOUSE_7. + +:EVENT_TABLET_STYLUS: EVENT_TABLET_STYLUS. + +:EVENT_TABLET_ERASER: EVENT_TABLET_ERASER. + +:EVENT_LEFT_ARROW: EVENT_LEFT_ARROW. + +:EVENT_DOWN_ARROW: EVENT_DOWN_ARROW. + +:EVENT_RIGHT_ARROW: EVENT_RIGHT_ARROW. + +:EVENT_UP_ARROW: EVENT_UP_ARROW. + +:EVENT_PAUSE: EVENT_PAUSE. + +:EVENT_INSERT: EVENT_INSERT. + +:EVENT_HOME: EVENT_HOME. + +:EVENT_END: EVENT_END. + +:EVENT_UNKNOWN: EVENT_UNKNOWN. + +:EVENT_GRLESS: EVENT_GRLESS. + +:EVENT_MEDIAPLAY: EVENT_MEDIAPLAY. + +:EVENT_MEDIASTOP: EVENT_MEDIASTOP. + +:EVENT_MEDIAFIRST: EVENT_MEDIAFIRST. + +:EVENT_MEDIALAST: EVENT_MEDIALAST. + +:EVENT_APP: EVENT_APP. + +:EVENT_CAPSLOCK: EVENT_CAPSLOCK. + +:EVENT_BACKSPACE: EVENT_BACKSPACE. + +:EVENT_DEL: EVENT_DEL. + +:EVENT_SEMICOLON: EVENT_SEMICOLON. + +:EVENT_PERIOD: EVENT_PERIOD. + +:EVENT_COMMA: EVENT_COMMA. + +:EVENT_QUOTE: EVENT_QUOTE. + +:EVENT_ACCENTGRAVE: EVENT_ACCENTGRAVE. + +:EVENT_MINUS: EVENT_MINUS. + +:EVENT_PLUS: EVENT_PLUS. + +:EVENT_SLASH: EVENT_SLASH. + +:EVENT_BACKSLASH: EVENT_BACKSLASH. + +:EVENT_EQUAL: EVENT_EQUAL. + +:EVENT_LEFTBRACKET: EVENT_LEFTBRACKET. + +:EVENT_RIGHTBRACKET: EVENT_RIGHTBRACKET. + +:EVENT_PAD_PAN: EVENT_PAD_PAN. + +:EVENT_PAD_ROTATE: EVENT_PAD_ROTATE. + +:EVENT_PAD_ZOOM: EVENT_PAD_ZOOM. + +:EVENT_NDOF_BUTTON_V1: EVENT_NDOF_BUTTON_V1. + +:EVENT_NDOF_BUTTON_V2: EVENT_NDOF_BUTTON_V2. + +:EVENT_NDOF_BUTTON_V3: EVENT_NDOF_BUTTON_V3. + +:EVENT_NDOF_BUTTON_SAVE_V1: EVENT_NDOF_BUTTON_SAVE_V1. + +:EVENT_NDOF_BUTTON_SAVE_V2: EVENT_NDOF_BUTTON_SAVE_V2. + +:EVENT_NDOF_BUTTON_SAVE_V3: EVENT_NDOF_BUTTON_SAVE_V3. + +:EVENT_NDOF_BUTTON_1: EVENT_NDOF_BUTTON_1. + +:EVENT_NDOF_BUTTON_2: EVENT_NDOF_BUTTON_2. + +:EVENT_NDOF_BUTTON_3: EVENT_NDOF_BUTTON_3. + +:EVENT_NDOF_BUTTON_4: EVENT_NDOF_BUTTON_4. + +:EVENT_NDOF_BUTTON_5: EVENT_NDOF_BUTTON_5. + +:EVENT_NDOF_BUTTON_6: EVENT_NDOF_BUTTON_6. + +:EVENT_NDOF_BUTTON_7: EVENT_NDOF_BUTTON_7. + +:EVENT_NDOF_BUTTON_8: EVENT_NDOF_BUTTON_8. + +:EVENT_NDOF_BUTTON_9: EVENT_NDOF_BUTTON_9. + +:EVENT_NDOF_BUTTON_10: EVENT_NDOF_BUTTON_10. + +:EVENT_NDOF_BUTTON_11: EVENT_NDOF_BUTTON_11. + +:EVENT_NDOF_BUTTON_12: EVENT_NDOF_BUTTON_12. + +:EVENT_NDOF_BUTTON_MENU: EVENT_NDOF_BUTTON_MENU. + +:EVENT_NDOF_BUTTON_FIT: EVENT_NDOF_BUTTON_FIT. + +:EVENT_NDOF_BUTTON_TOP: EVENT_NDOF_BUTTON_TOP. + +:EVENT_NDOF_BUTTON_BOTTOM: EVENT_NDOF_BUTTON_BOTTOM. + +:EVENT_NDOF_BUTTON_LEFT: EVENT_NDOF_BUTTON_LEFT. + +:EVENT_NDOF_BUTTON_RIGHT: EVENT_NDOF_BUTTON_RIGHT. + +:EVENT_NDOF_BUTTON_FRONT: EVENT_NDOF_BUTTON_FRONT. + +:EVENT_NDOF_BUTTON_BACK: EVENT_NDOF_BUTTON_BACK. + +:EVENT_NDOF_BUTTON_ISO1: EVENT_NDOF_BUTTON_ISO1. + +:EVENT_NDOF_BUTTON_ISO2: EVENT_NDOF_BUTTON_ISO2. + +:EVENT_NDOF_BUTTON_ROLL_CW: EVENT_NDOF_BUTTON_ROLL_CW. + +:EVENT_NDOF_BUTTON_ROLL_CCW: EVENT_NDOF_BUTTON_ROLL_CCW. + +:EVENT_NDOF_BUTTON_SPIN_CW: EVENT_NDOF_BUTTON_SPIN_CW. + +:EVENT_NDOF_BUTTON_SPIN_CCW: EVENT_NDOF_BUTTON_SPIN_CCW. + +:EVENT_NDOF_BUTTON_TILT_CW: EVENT_NDOF_BUTTON_TILT_CW. + +:EVENT_NDOF_BUTTON_TILT_CCW: EVENT_NDOF_BUTTON_TILT_CCW. + +:EVENT_NDOF_BUTTON_ROTATE: EVENT_NDOF_BUTTON_ROTATE. + +:EVENT_NDOF_BUTTON_PANZOOM: EVENT_NDOF_BUTTON_PANZOOM. + +:EVENT_NDOF_BUTTON_DOMINANT: EVENT_NDOF_BUTTON_DOMINANT. + +:EVENT_NDOF_BUTTON_PLUS: EVENT_NDOF_BUTTON_PLUS. + +:EVENT_NDOF_BUTTON_MINUS: EVENT_NDOF_BUTTON_MINUS. + +:NODE_SOCKET_FLOAT: NODE_SOCKET_FLOAT. + +:NODE_SOCKET_VECTOR: NODE_SOCKET_VECTOR. + +:NODE_SOCKET_RGBA: NODE_SOCKET_RGBA. + +:NODE_SOCKET_SHADER: NODE_SOCKET_SHADER. + +:NODE_SOCKET_BOOLEAN: NODE_SOCKET_BOOLEAN. + +:NODE_SOCKET_INT: NODE_SOCKET_INT. + +:NODE_SOCKET_STRING: NODE_SOCKET_STRING. + +:NODE_SOCKET_OBJECT: NODE_SOCKET_OBJECT. + +:NODE_SOCKET_IMAGE: NODE_SOCKET_IMAGE. + +:NODE_SOCKET_GEOMETRY: NODE_SOCKET_GEOMETRY. + +:NODE_SOCKET_COLLECTION: NODE_SOCKET_COLLECTION. + +:NODE_SOCKET_TEXTURE: NODE_SOCKET_TEXTURE. + +:NODE_SOCKET_MATERIAL: NODE_SOCKET_MATERIAL. + +:NODE_SOCKET_ROTATION: NODE_SOCKET_ROTATION. + +:NODE_SOCKET_MENU: NODE_SOCKET_MENU. + +:NODE_SOCKET_MATRIX: NODE_SOCKET_MATRIX. + +:NODE_SOCKET_BUNDLE: NODE_SOCKET_BUNDLE. + +:NODE_SOCKET_CLOSURE: NODE_SOCKET_CLOSURE. + +:NODE_SOCKET_FONT: NODE_SOCKET_FONT. + +:NODE_SOCKET_SCENE: NODE_SOCKET_SCENE. + +:NODE_SOCKET_TEXT: NODE_SOCKET_TEXT. + +:NODE_SOCKET_MASK: NODE_SOCKET_MASK. + +:NODE_SOCKET_SOUND: NODE_SOCKET_SOUND. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/id_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/id_type_items.rst new file mode 100644 index 0000000..77fdc1b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/id_type_items.rst @@ -0,0 +1,83 @@ +.. _rna_enum_id_type_items: + +Id Type Items +############# + +:ACTION: Action. + +:ARMATURE: Armature. + +:BRUSH: Brush. + +:CACHEFILE: Cache File. + +:CAMERA: Camera. + +:COLLECTION: Collection. + +:CURVE: Curve. + +:CURVES: Curves. + +:FONT: Font. + +:GREASEPENCIL: Grease Pencil. + +:GREASEPENCIL_V3: Grease Pencil v3. + +:IMAGE: Image. + +:KEY: Key. + +:LATTICE: Lattice. + +:LIBRARY: Library. + +:LIGHT: Light. + +:LIGHT_PROBE: Light Probe. + +:LINESTYLE: Line Style. + +:MASK: Mask. + +:MATERIAL: Material. + +:MESH: Mesh. + +:META: Metaball. + +:MOVIECLIP: Movie Clip. + +:NODETREE: Node Tree. + +:OBJECT: Object. + +:PAINTCURVE: Paint Curve. + +:PALETTE: Palette. + +:PARTICLE: Particle. + +:POINTCLOUD: Point Cloud. + +:SCENE: Scene. + +:SCREEN: Screen. + +:SOUND: Sound. + +:SPEAKER: Speaker. + +:TEXT: Text. + +:TEXTURE: Texture. + +:VOLUME: Volume. + +:WINDOWMANAGER: Window Manager. + +:WORKSPACE: Workspace. + +:WORLD: World. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_color_depth_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_color_depth_items.rst new file mode 100644 index 0000000..ee97ffe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_color_depth_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_image_color_depth_items: + +Image Color Depth Items +####################### + +:8: 8. + + 8-bit color channels. +:10: 10. + + 10-bit color channels. +:12: 12. + + 12-bit color channels. +:16: 16. + + 16-bit color channels. +:32: 32. + + 32-bit color channels. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_color_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_color_mode_items.rst new file mode 100644 index 0000000..b3a830a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_color_mode_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_image_color_mode_items: + +Image Color Mode Items +###################### + +:BW: BW. + + Images get saved in 8-bit grayscale (only PNG, JPEG, TGA, TIF). +:RGB: RGB. + + Images are saved with RGB (color) data. +:RGBA: RGBA. + + Images are saved with RGB and Alpha data (if supported). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_generated_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_generated_type_items.rst new file mode 100644 index 0000000..f717e3d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_generated_type_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_image_generated_type_items: + +Image Generated Type Items +########################## + +:BLANK: Blank. + + Generate a blank image. +:UV_GRID: UV Grid. + + Generated grid to test UV mappings. +:COLOR_GRID: Color Grid. + + Generated improved UV grid to test UV mappings. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_type_all_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_type_all_items.rst new file mode 100644 index 0000000..5d63377 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/image_type_all_items.rst @@ -0,0 +1,36 @@ +.. _rna_enum_image_type_all_items: + +Image Type All Items +#################### + +:AVIF: AVIF (.avif). + + Output image in AVIF format. +:JPEG: JPEG (.jpg). + + Output image in JPEG format. +:PNG: PNG (.png). + + Output image in PNG format. + + +---- + +:BMP: Bitmap (.bmp). + + Output image in bitmap format. +:IRIS: Iris (.rgb). + + Output image in SGI IRIS format. +:HDR: Radiance HDR (.hdr). + + Output image in Radiance HDR format. +:TARGA: Targa (.tga). + + Output image in Targa format. +:TARGA_RAW: Targa Raw (.tga). + + Output image in uncompressed Targa format. +:TIFF: TIFF (.tif). + + Output image in TIFF format. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/index.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/index.rst new file mode 100644 index 0000000..ede2ef0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/index.rst @@ -0,0 +1,210 @@ +Shared Enum Items +################# + +.. toctree:: + + id_type_items + object_mode_items + workspace_object_mode_items + object_empty_drawtype_items + object_gpencil_type_items + metaelem_type_items + color_space_convert_default_items + proportional_falloff_items + proportional_falloff_curve_only_items + snap_source_items + snap_element_items + snap_animation_element_items + curve_fit_method_items + mesh_select_mode_items + mesh_select_mode_uv_items + mesh_delimit_mode_items + mesh_walk_delimit_edge_loop_items + mesh_walk_delimit_edge_ring_items + mesh_walk_delimit_face_loop_items + space_graph_mode_items + space_file_browse_mode_items + space_sequencer_view_type_items + space_type_items + space_image_mode_items + space_image_mode_all_items + space_action_mode_items + fileselect_params_sort_items + region_type_items + region_panel_category_items + object_modifier_type_items + constraint_type_items + boidrule_type_items + strip_modifier_type_items + strip_video_modifier_type_items + strip_sound_modifier_type_items + strip_scale_method_items + object_shaderfx_type_items + modifier_triangulate_quad_method_items + modifier_triangulate_ngon_method_items + modifier_shrinkwrap_mode_items + shrinkwrap_type_items + shrinkwrap_face_cull_items + node_warning_type_items + image_type_all_items + image_color_mode_items + image_color_depth_items + image_generated_type_items + normal_space_items + normal_swizzle_items + bake_save_mode_items + bake_margin_type_items + bake_target_items + views_format_items + views_format_multilayer_items + views_format_multiview_items + stereo3d_display_items + stereo3d_anaglyph_type_items + stereo3d_interlace_type_items + color_sets_items + beztriple_keyframe_type_items + beztriple_interpolation_mode_items + beztriple_interpolation_easing_items + fcurve_auto_smoothing_items + keyframe_handle_type_items + driver_target_rotation_mode_items + keyingset_path_grouping_items + keying_flag_items + keying_flag_api_items + fmodifier_type_items + motionpath_bake_location_items + motionpath_display_type_items + motionpath_range_items + event_value_items + event_direction_items + event_type_items + event_type_mask_items + operator_type_flag_items + operator_return_items + operator_property_tag_items + brush_automasking_flag_items + brush_sculpt_brush_type_items + brush_vertex_brush_type_items + brush_weight_brush_type_items + brush_gpencil_types_items + brush_gpencil_vertex_types_items + brush_gpencil_sculpt_types_items + brush_gpencil_weight_types_items + brush_curves_sculpt_brush_type_items + brush_image_brush_type_items + brush_curve_preset_items + grease_pencil_selectmode_items + stroke_depth_order_items + axis_xy_items + axis_xyz_items + axis_flag_xyz_items + symmetrize_direction_items + texture_type_items + light_type_items + lightprobes_type_items + unpack_method_items + object_type_items + object_rotation_mode_items + object_type_curve_items + rigidbody_object_type_items + rigidbody_object_shape_items + rigidbody_constraint_type_items + object_axis_items + bake_pass_type_items + bake_pass_filter_type_items + keymap_propvalue_items + operator_context_items + wm_report_items + wm_job_type_items + property_type_items + property_subtype_items + property_subtype_string_items + property_subtype_number_items + property_subtype_number_array_items + property_unit_items + property_flag_items + property_flag_enum_items + property_override_flag_items + property_override_flag_collection_items + property_string_search_flag_items + shading_type_items + navigation_mode_items + node_socket_in_out_items + node_socket_type_items + node_tree_interface_item_type_items + node_socket_structure_type_items + node_math_items + mapping_type_items + node_vec_math_items + node_boolean_math_items + node_compare_operation_items + node_integer_math_items + node_float_to_int_items + node_map_range_items + node_clamp_items + node_compositor_extension_items + node_compositor_interpolation_items + ramp_blend_items + prop_dynamicpaint_type_items + clip_editor_mode_items + icon_items + uilist_layout_type_items + linestyle_color_modifier_type_items + linestyle_alpha_modifier_type_items + linestyle_thickness_modifier_type_items + linestyle_geometry_modifier_type_items + window_cursor_items + dt_method_vertex_items + dt_method_edge_items + dt_method_loop_items + dt_method_poly_items + dt_mix_mode_items + dt_layers_select_src_items + dt_layers_select_dst_items + context_mode_items + preference_section_items + attribute_type_items + attr_storage_type_items + color_attribute_type_items + attribute_type_with_auto_items + attribute_domain_items + attribute_domain_edge_face_items + attribute_domain_only_mesh_items + attribute_domain_only_mesh_no_edge_items + attribute_domain_only_mesh_no_corner_items + attribute_domain_point_face_curve_items + attribute_domain_point_edge_face_curve_items + attribute_curves_domain_items + color_attribute_domain_items + attribute_domain_without_corner_items + attribute_domain_with_auto_items + geometry_component_type_items + node_combsep_color_items + node_socket_data_type_items + node_geometry_curve_handle_side_items + node_geometry_mesh_circle_fill_type_items + volume_grid_data_type_items + collection_color_items + strip_color_items + subdivision_uv_smooth_items + subdivision_boundary_smooth_items + transform_orientation_items + velocity_unit_items + curves_type_items + curves_handle_type_items + curve_normal_mode_items + geometry_nodes_gizmo_color_items + geometry_nodes_linear_gizmo_draw_style_items + particle_edit_hair_brush_items + particle_edit_disconnected_hair_brush_items + keyframe_paste_offset_items + keyframe_paste_offset_value_items + keyframe_paste_merge_items + transform_pivot_full_items + transform_mode_type_items + nla_mode_extend_items + nla_mode_blend_items + keyblock_type_items + asset_library_type_items + file_path_foreach_flag_items + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyblock_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyblock_type_items.rst new file mode 100644 index 0000000..c61109c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyblock_type_items.rst @@ -0,0 +1,13 @@ +.. _rna_enum_keyblock_type_items: + +Keyblock Type Items +################### + +:KEY_LINEAR: Linear. + +:KEY_CARDINAL: Cardinal. + +:KEY_CATMULL_ROM: Catmull-Rom. + +:KEY_BSPLINE: BSpline. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_handle_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_handle_type_items.rst new file mode 100644 index 0000000..bcad9e2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_handle_type_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_keyframe_handle_type_items: + +Keyframe Handle Type Items +########################## + +:FREE: Free. + + Completely independent manually set handle. +:ALIGNED: Aligned. + + Manually set handle with rotation locked together with its pair. +:VECTOR: Vector. + + Automatic handles that create straight lines. +:AUTO: Automatic. + + Automatic handles that create smooth curves. +:AUTO_CLAMPED: Auto Clamped. + + Automatic handles that create smooth curves which only change direction at keyframes. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_paste_merge_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_paste_merge_items.rst new file mode 100644 index 0000000..fbd3ef2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_paste_merge_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_keyframe_paste_merge_items: + +Keyframe Paste Merge Items +########################## + +:MIX: Mix. + + Overlay existing with new keys. +:OVER_ALL: Overwrite All. + + Replace all keys. +:OVER_RANGE: Overwrite Range. + + Overwrite keys in pasted range. +:OVER_RANGE_ALL: Overwrite Entire Range. + + Overwrite keys in pasted range, using the range of all copied keys. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_paste_offset_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_paste_offset_items.rst new file mode 100644 index 0000000..fcbed3d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_paste_offset_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_keyframe_paste_offset_items: + +Keyframe Paste Offset Items +########################### + +:START: Frame Start. + + Paste keys starting at current frame. +:END: Frame End. + + Paste keys ending at current frame. +:RELATIVE: Frame Relative. + + Paste keys relative to the current frame when copying. +:NONE: No Offset. + + Paste keys from original time. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_paste_offset_value_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_paste_offset_value_items.rst new file mode 100644 index 0000000..92434d8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyframe_paste_offset_value_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_keyframe_paste_offset_value_items: + +Keyframe Paste Offset Value Items +################################# + +:LEFT_KEY: Left Key. + + Paste keys with the first key matching the key left of the cursor. +:RIGHT_KEY: Right Key. + + Paste keys with the last key matching the key right of the cursor. +:CURRENT_FRAME: Current Frame Value. + + Paste keys relative to the value of the curve under the cursor. +:CURSOR_VALUE: Cursor Value. + + Paste keys relative to the Y-Position of the cursor. +:NONE: No Offset. + + Paste keys with the same value as they were copied. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keying_flag_api_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keying_flag_api_items.rst new file mode 100644 index 0000000..0710be0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keying_flag_api_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_keying_flag_api_items: + +Keying Flag Api Items +##################### + +:INSERTKEY_NEEDED: Only Needed. + + Only insert keyframes where they're needed in the relevant F-Curves. +:INSERTKEY_VISUAL: Visual Keying. + + Insert keyframes based on 'visual transforms'. +:INSERTKEY_REPLACE: Replace Existing. + + Only replace existing keyframes. +:INSERTKEY_AVAILABLE: Only Available. + + Don't create F-Curves when they don't already exist. +:INSERTKEY_CYCLE_AWARE: Cycle Aware Keying. + + When inserting into a curve with cyclic extrapolation, remap the keyframe inside the cycle time range, and if changing an end key, also update the other one. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keying_flag_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keying_flag_items.rst new file mode 100644 index 0000000..a78c5f5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keying_flag_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_keying_flag_items: + +Keying Flag Items +################# + +:INSERTKEY_NEEDED: Only Needed. + + Only insert keyframes where they're needed in the relevant F-Curves. +:INSERTKEY_VISUAL: Visual Keying. + + Insert keyframes based on 'visual transforms'. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyingset_path_grouping_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyingset_path_grouping_items.rst new file mode 100644 index 0000000..86396fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keyingset_path_grouping_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_keyingset_path_grouping_items: + +Keyingset Path Grouping Items +############################# + +:NAMED: Named Group. + +:NONE: None. + +:KEYINGSET: Keying Set Name. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keymap_propvalue_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keymap_propvalue_items.rst new file mode 100644 index 0000000..bc1524c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/keymap_propvalue_items.rst @@ -0,0 +1,7 @@ +.. _rna_enum_keymap_propvalue_items: + +Keymap Propvalue Items +###################### + +:NONE: + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/light_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/light_type_items.rst new file mode 100644 index 0000000..6511940 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/light_type_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_light_type_items: + +Light Type Items +################ + +:POINT: Point. + + Omnidirectional point light source. +:SUN: Sun. + + Constant direction parallel ray light source. +:SPOT: Spot. + + Directional cone light source. +:AREA: Area. + + Directional area light source. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/lightprobes_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/lightprobes_type_items.rst new file mode 100644 index 0000000..7c48999 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/lightprobes_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_lightprobes_type_items: + +Lightprobes Type Items +###################### + +:SPHERE: Sphere. + +:PLANE: Plane. + +:VOLUME: Volume. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_alpha_modifier_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_alpha_modifier_type_items.rst new file mode 100644 index 0000000..9c8ec2d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_alpha_modifier_type_items.rst @@ -0,0 +1,21 @@ +.. _rna_enum_linestyle_alpha_modifier_type_items: + +Linestyle Alpha Modifier Type Items +################################### + +:ALONG_STROKE: Along Stroke. + +:CREASE_ANGLE: Crease Angle. + +:CURVATURE_3D: Curvature 3D. + +:DISTANCE_FROM_CAMERA: Distance from Camera. + +:DISTANCE_FROM_OBJECT: Distance from Object. + +:MATERIAL: Material. + +:NOISE: Noise. + +:TANGENT: Tangent. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_color_modifier_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_color_modifier_type_items.rst new file mode 100644 index 0000000..528b447 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_color_modifier_type_items.rst @@ -0,0 +1,21 @@ +.. _rna_enum_linestyle_color_modifier_type_items: + +Linestyle Color Modifier Type Items +################################### + +:ALONG_STROKE: Along Stroke. + +:CREASE_ANGLE: Crease Angle. + +:CURVATURE_3D: Curvature 3D. + +:DISTANCE_FROM_CAMERA: Distance from Camera. + +:DISTANCE_FROM_OBJECT: Distance from Object. + +:MATERIAL: Material. + +:NOISE: Noise. + +:TANGENT: Tangent. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_geometry_modifier_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_geometry_modifier_type_items.rst new file mode 100644 index 0000000..0fc01c3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_geometry_modifier_type_items.rst @@ -0,0 +1,33 @@ +.. _rna_enum_linestyle_geometry_modifier_type_items: + +Linestyle Geometry Modifier Type Items +###################################### + +:2D_OFFSET: 2D Offset. + +:2D_TRANSFORM: 2D Transform. + +:BACKBONE_STRETCHER: Backbone Stretcher. + +:BEZIER_CURVE: Bézier Curve. + +:BLUEPRINT: Blueprint. + +:GUIDING_LINES: Guiding Lines. + +:PERLIN_NOISE_1D: Perlin Noise 1D. + +:PERLIN_NOISE_2D: Perlin Noise 2D. + +:POLYGONIZATION: Polygonization. + +:SAMPLING: Sampling. + +:SIMPLIFICATION: Simplification. + +:SINUS_DISPLACEMENT: Sinus Displacement. + +:SPATIAL_NOISE: Spatial Noise. + +:TIP_REMOVER: Tip Remover. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_thickness_modifier_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_thickness_modifier_type_items.rst new file mode 100644 index 0000000..6820ac2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/linestyle_thickness_modifier_type_items.rst @@ -0,0 +1,23 @@ +.. _rna_enum_linestyle_thickness_modifier_type_items: + +Linestyle Thickness Modifier Type Items +####################################### + +:ALONG_STROKE: Along Stroke. + +:CALLIGRAPHY: Calligraphy. + +:CREASE_ANGLE: Crease Angle. + +:CURVATURE_3D: Curvature 3D. + +:DISTANCE_FROM_CAMERA: Distance from Camera. + +:DISTANCE_FROM_OBJECT: Distance from Object. + +:MATERIAL: Material. + +:NOISE: Noise. + +:TANGENT: Tangent. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mapping_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mapping_type_items.rst new file mode 100644 index 0000000..84d0467 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mapping_type_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_mapping_type_items: + +Mapping Type Items +################## + +:POINT: Point. + + Transform a point. +:TEXTURE: Texture. + + Transform a texture by inverse mapping the texture coordinate. +:VECTOR: Vector. + + Transform a direction vector (Location is ignored). +:NORMAL: Normal. + + Transform a unit normal vector (Location is ignored). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_delimit_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_delimit_mode_items.rst new file mode 100644 index 0000000..b3e71a1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_delimit_mode_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_mesh_delimit_mode_items: + +Mesh Delimit Mode Items +####################### + +:NORMAL: Normal. + + Delimit by face directions. +:MATERIAL: Material. + + Delimit by face material. +:SEAM: Seam. + + Delimit by edge seams. +:SHARP: Sharp. + + Delimit by sharp edges. +:UV: UVs. + + Delimit by UV coordinates. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_select_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_select_mode_items.rst new file mode 100644 index 0000000..9a9f3b4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_select_mode_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_mesh_select_mode_items: + +Mesh Select Mode Items +###################### + +:VERT: Vertex. + + Vertex selection mode. +:EDGE: Edge. + + Edge selection mode. +:FACE: Face. + + Face selection mode. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_select_mode_uv_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_select_mode_uv_items.rst new file mode 100644 index 0000000..b93b490 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_select_mode_uv_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_mesh_select_mode_uv_items: + +Mesh Select Mode Uv Items +######################### + +:VERTEX: Vertex. + + Vertex selection mode. +:EDGE: Edge. + + Edge selection mode. +:FACE: Face. + + Face selection mode. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_walk_delimit_edge_loop_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_walk_delimit_edge_loop_items.rst new file mode 100644 index 0000000..c785f20 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_walk_delimit_edge_loop_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_mesh_walk_delimit_edge_loop_items: + +Mesh Walk Delimit Edge Loop Items +################################# + +:SEAM: Seam. + + Delimit edge loop selection at seams. +:SHARP: Sharp. + + Delimit edge loop selection at sharp edges. +:NGONS: N-gons. + + Stop boundary selection at n-gons. +:INNER_CORNERS: Inner Corners. + + Stop boundary selection at vertices with more than three edges. +:OUTER_CORNERS: Outer Corners. + + Stop boundary selection at vertices with two edges when they share a face that is not an n-gon. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_walk_delimit_edge_ring_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_walk_delimit_edge_ring_items.rst new file mode 100644 index 0000000..05e31f3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_walk_delimit_edge_ring_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_mesh_walk_delimit_edge_ring_items: + +Mesh Walk Delimit Edge Ring Items +################################# + +:SEAM: Seam. + + Delimit edge ring selection at seams. +:SHARP: Sharp. + + Delimit edge ring selection at sharp edges. +:MATERIAL: Material. + + Delimit edge ring selection at material boundaries. +:NGONS: N-gons. + + Allow edge ring selection to step over n-gons with an even number of sides. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_walk_delimit_face_loop_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_walk_delimit_face_loop_items.rst new file mode 100644 index 0000000..5204fa5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/mesh_walk_delimit_face_loop_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_mesh_walk_delimit_face_loop_items: + +Mesh Walk Delimit Face Loop Items +################################# + +:SEAM: Seam. + + Delimit face loop selection at seams. +:SHARP: Sharp. + + Delimit face loop selection at sharp edges. +:MATERIAL: Material. + + Delimit face loop selection at material boundaries. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/metaelem_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/metaelem_type_items.rst new file mode 100644 index 0000000..47dc316 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/metaelem_type_items.rst @@ -0,0 +1,15 @@ +.. _rna_enum_metaelem_type_items: + +Metaelem Type Items +################### + +:BALL: Ball. + +:CAPSULE: Capsule. + +:PLANE: Plane. + +:ELLIPSOID: Ellipsoid. + +:CUBE: Cube. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/modifier_shrinkwrap_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/modifier_shrinkwrap_mode_items.rst new file mode 100644 index 0000000..b65049e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/modifier_shrinkwrap_mode_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_modifier_shrinkwrap_mode_items: + +Modifier Shrinkwrap Mode Items +############################## + +:ON_SURFACE: On Surface. + + The point is constrained to the surface of the target object, with distance offset towards the original point location. +:INSIDE: Inside. + + The point is constrained to be inside the target object. +:OUTSIDE: Outside. + + The point is constrained to be outside the target object. +:OUTSIDE_SURFACE: Outside Surface. + + The point is constrained to the surface of the target object, with distance offset always to the outside, towards or away from the original location. +:ABOVE_SURFACE: Above Surface. + + The point is constrained to the surface of the target object, with distance offset applied exactly along the target normal. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/modifier_triangulate_ngon_method_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/modifier_triangulate_ngon_method_items.rst new file mode 100644 index 0000000..2ff2889 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/modifier_triangulate_ngon_method_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_modifier_triangulate_ngon_method_items: + +Modifier Triangulate Ngon Method Items +###################################### + +:BEAUTY: Beauty. + + Arrange the new triangles evenly (slow). +:CLIP: Clip. + + Split the polygons with an ear clipping algorithm. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/modifier_triangulate_quad_method_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/modifier_triangulate_quad_method_items.rst new file mode 100644 index 0000000..ba6ccea --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/modifier_triangulate_quad_method_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_modifier_triangulate_quad_method_items: + +Modifier Triangulate Quad Method Items +###################################### + +:BEAUTY: Beauty. + + Split the quads in nice triangles, slower method. +:FIXED: Fixed. + + Split the quads on the first and third vertices. +:FIXED_ALTERNATE: Fixed Alternate. + + Split the quads on the 2nd and 4th vertices. +:SHORTEST_DIAGONAL: Shortest Diagonal. + + Split the quads along their shortest diagonal. +:LONGEST_DIAGONAL: Longest Diagonal. + + Split the quads along their longest diagonal. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/motionpath_bake_location_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/motionpath_bake_location_items.rst new file mode 100644 index 0000000..d80cf2a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/motionpath_bake_location_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_motionpath_bake_location_items: + +Motionpath Bake Location Items +############################## + +:HEADS: Heads. + + Calculate bone paths from heads. +:TAILS: Tails. + + Calculate bone paths from tails. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/motionpath_display_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/motionpath_display_type_items.rst new file mode 100644 index 0000000..54e711f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/motionpath_display_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_motionpath_display_type_items: + +Motionpath Display Type Items +############################# + +:CURRENT_FRAME: Around Frame. + + Display Paths of poses within a fixed number of frames around the current frame. +:RANGE: In Range. + + Display Paths of poses within specified range. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/motionpath_range_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/motionpath_range_items.rst new file mode 100644 index 0000000..9fd1a8d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/motionpath_range_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_motionpath_range_items: + +Motionpath Range Items +###################### + +:KEYS_ALL: All Keys. + + From the first keyframe to the last. +:KEYS_SELECTED: Selected Keys. + + From the first selected keyframe to the last. +:SCENE: Scene Frame Range. + + The entire Scene / Preview range. +:MANUAL: Manual Range. + + Manually determined frame range. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/navigation_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/navigation_mode_items.rst new file mode 100644 index 0000000..939ea76 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/navigation_mode_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_navigation_mode_items: + +Navigation Mode Items +##################### + +:WALK: Walk. + + Interactively walk or free navigate around the scene. +:FLY: Fly. + + Use fly dynamics to navigate the scene. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/nla_mode_blend_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/nla_mode_blend_items.rst new file mode 100644 index 0000000..3c520b1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/nla_mode_blend_items.rst @@ -0,0 +1,24 @@ +.. _rna_enum_nla_mode_blend_items: + +Nla Mode Blend Items +#################### + +:REPLACE: Replace. + + The strip values replace the accumulated results by amount specified by influence. +:COMBINE: Combine. + + The strip values are combined with accumulated results by appropriately using addition, multiplication, or quaternion math, based on channel type. + + +---- + +:ADD: Add. + + Weighted result of strip is added to the accumulated results. +:SUBTRACT: Subtract. + + Weighted result of strip is removed from the accumulated results. +:MULTIPLY: Multiply. + + Weighted result of strip is multiplied with the accumulated results. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/nla_mode_extend_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/nla_mode_extend_items.rst new file mode 100644 index 0000000..f7b4c98 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/nla_mode_extend_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_nla_mode_extend_items: + +Nla Mode Extend Items +##################### + +:NOTHING: Nothing. + + Strip has no influence past its extents. +:HOLD: Hold. + + Hold the first frame if no previous strips in track, and always hold last frame. +:HOLD_FORWARD: Hold Forward. + + Only hold last frame. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_boolean_math_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_boolean_math_items.rst new file mode 100644 index 0000000..a474647 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_boolean_math_items.rst @@ -0,0 +1,40 @@ +.. _rna_enum_node_boolean_math_items: + +Node Boolean Math Items +####################### + +:AND: And. + + True when both inputs are true. +:OR: Or. + + True when at least one input is true. +:NOT: Not. + + Opposite of the input. + + +---- + +:NAND: Not And. + + True when at least one input is false. +:NOR: Nor. + + True when both inputs are false. +:XNOR: Equal. + + True when both inputs are equal (exclusive nor). +:XOR: Not Equal. + + True when both inputs are different (exclusive or). + + +---- + +:IMPLY: Imply. + + True unless the first input is true and the second is false. +:NIMPLY: Subtract. + + True when the first input is true and the second is false (not imply). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_clamp_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_clamp_items.rst new file mode 100644 index 0000000..e2962db --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_clamp_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_node_clamp_items: + +Node Clamp Items +################ + +:MINMAX: Min Max. + + Constrain value between min and max. +:RANGE: Range. + + Constrain value between min and max, swapping arguments when min > max. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_combsep_color_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_combsep_color_items.rst new file mode 100644 index 0000000..e1403ac --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_combsep_color_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_node_combsep_color_items: + +Node Combsep Color Items +######################## + +:RGB: RGB. + + Use RGB (Red, Green, Blue) color processing. +:HSV: HSV. + + Use HSV (Hue, Saturation, Value) color processing. +:HSL: HSL. + + Use HSL (Hue, Saturation, Lightness) color processing. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_compare_operation_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_compare_operation_items.rst new file mode 100644 index 0000000..ae8ff3e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_compare_operation_items.rst @@ -0,0 +1,29 @@ +.. _rna_enum_node_compare_operation_items: + +Node Compare Operation Items +############################ + +:LESS_THAN: Less Than. + + True when the first input is smaller than second input. +:LESS_EQUAL: Less Than or Equal. + + True when the first input is smaller than the second input or equal. +:GREATER_THAN: Greater Than. + + True when the first input is greater than the second input. +:GREATER_EQUAL: Greater Than or Equal. + + True when the first input is greater than the second input or equal. +:EQUAL: Equal. + + True when both inputs are approximately equal. +:NOT_EQUAL: Not Equal. + + True when both inputs are not approximately equal. +:BRIGHTER: Brighter. + + True when the first input is brighter. +:DARKER: Darker. + + True when the first input is darker. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_compositor_extension_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_compositor_extension_items.rst new file mode 100644 index 0000000..61f5256 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_compositor_extension_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_node_compositor_extension_items: + +Node Compositor Extension Items +############################### + +:CLIP: Clip. + + Areas outside of the image are filled with zero. +:EXTEND: Extend. + + Areas outside of the image are filled with the closest boundary pixel in the image. +:REPEAT: Repeat. + + Areas outside of the image are filled with repetitions of the image. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_compositor_interpolation_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_compositor_interpolation_items.rst new file mode 100644 index 0000000..1e7ab81 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_compositor_interpolation_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_node_compositor_interpolation_items: + +Node Compositor Interpolation Items +################################### + +:NEAREST: Nearest. + + Use Nearest interpolation. +:BILINEAR: Bilinear. + + Use Bilinear interpolation. +:BICUBIC: Bicubic. + + Use Cubic B-Spline interpolation. +:ANISOTROPIC: Anisotropic. + + Use Anisotropic interpolation. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_float_to_int_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_float_to_int_items.rst new file mode 100644 index 0000000..4751b34 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_float_to_int_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_node_float_to_int_items: + +Node Float To Int Items +####################### + +:ROUND: Round. + + Round the float up or down to the nearest integer. +:FLOOR: Floor. + + Round the float down to the next smallest integer. +:CEILING: Ceiling. + + Round the float up to the next largest integer. +:TRUNCATE: Truncate. + + Round the float to the closest integer in the direction of zero (floor if positive; ceiling if negative). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_geometry_curve_handle_side_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_geometry_curve_handle_side_items.rst new file mode 100644 index 0000000..c1b571f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_geometry_curve_handle_side_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_node_geometry_curve_handle_side_items: + +Node Geometry Curve Handle Side Items +##################################### + +:LEFT: Left. + + Use the left handles. +:RIGHT: Right. + + Use the right handles. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_geometry_mesh_circle_fill_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_geometry_mesh_circle_fill_type_items.rst new file mode 100644 index 0000000..4e0bdd1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_geometry_mesh_circle_fill_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_node_geometry_mesh_circle_fill_type_items: + +Node Geometry Mesh Circle Fill Type Items +######################################### + +:NONE: None. + +:NGON: N-Gon. + +:TRIANGLE_FAN: Triangles. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_integer_math_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_integer_math_items.rst new file mode 100644 index 0000000..246ce25 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_integer_math_items.rst @@ -0,0 +1,83 @@ +.. _rna_enum_node_integer_math_items: + +Node Integer Math Items +####################### + + + +**Functions** + +:ADD: Add. + + A + B. +:SUBTRACT: Subtract. + + A - B. +:MULTIPLY: Multiply. + + A \* B. +:DIVIDE: Divide. + + A / B. +:MULTIPLY_ADD: Multiply Add. + + A \* B + C. + + +---- + +:ABSOLUTE: Absolute. + + Non-negative value of A, abs(A). +:NEGATE: Negate. + + -A. +:POWER: Power. + + A power B, pow(A,B). + + +**Comparison** + +:MINIMUM: Minimum. + + The minimum value from A and B, min(A,B). +:MAXIMUM: Maximum. + + The maximum value from A and B, max(A,B). +:SIGN: Sign. + + Return the sign of A, sign(A). + + +**Rounding** + +:DIVIDE_ROUND: Divide Round. + + Divide and round result toward zero. +:DIVIDE_FLOOR: Divide Floor. + + Divide and floor result, the largest integer smaller than or equal A. +:DIVIDE_CEIL: Divide Ceiling. + + Divide and ceil result, the smallest integer greater than or equal A. + + +---- + +:FLOORED_MODULO: Floored Modulo. + + Modulo that is periodic for both negative and positive operands. +:MODULO: Modulo. + + Modulo which is the remainder of A / B. + + +---- + +:GCD: Greatest Common Divisor. + + The largest positive integer that divides into each of the values A and B, e.g. GCD(8,12) = 4. +:LCM: Least Common Multiple. + + The smallest positive integer that is divisible by both A and B, e.g. LCM(6,10) = 30. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_map_range_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_map_range_items.rst new file mode 100644 index 0000000..c5ec428 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_map_range_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_node_map_range_items: + +Node Map Range Items +#################### + +:LINEAR: Linear. + + Linear interpolation between From Min and From Max values. +:STEPPED: Stepped Linear. + + Stepped linear interpolation between From Min and From Max values. +:SMOOTHSTEP: Smooth Step. + + Smooth Hermite edge interpolation between From Min and From Max values. +:SMOOTHERSTEP: Smoother Step. + + Smoother Hermite edge interpolation between From Min and From Max values. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_math_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_math_items.rst new file mode 100644 index 0000000..82df401 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_math_items.rst @@ -0,0 +1,164 @@ +.. _rna_enum_node_math_items: + +Node Math Items +############### + + + +**Functions** + +:ADD: Add. + + A + B. +:SUBTRACT: Subtract. + + A - B. +:MULTIPLY: Multiply. + + A \* B. +:DIVIDE: Divide. + + A / B. +:MULTIPLY_ADD: Multiply Add. + + A \* B + C. + + +---- + +:POWER: Power. + + A power B. +:LOGARITHM: Logarithm. + + Logarithm A base B. +:SQRT: Square Root. + + Square root of A. +:INVERSE_SQRT: Inverse Square Root. + + 1 / Square root of A. +:ABSOLUTE: Absolute. + + Magnitude of A. +:EXPONENT: Exponent. + + exp(A). + + +**Comparison** + +:MINIMUM: Minimum. + + The minimum from A and B. +:MAXIMUM: Maximum. + + The maximum from A and B. +:LESS_THAN: Less Than. + + 1 if A < B else 0. +:GREATER_THAN: Greater Than. + + 1 if A > B else 0. +:SIGN: Sign. + + Returns the sign of A. +:COMPARE: Compare. + + 1 if (A == B) within tolerance C else 0. +:SMOOTH_MIN: Smooth Minimum. + + The minimum from A and B with smoothing C. +:SMOOTH_MAX: Smooth Maximum. + + The maximum from A and B with smoothing C. + + +**Rounding** + +:ROUND: Round. + + Round A to the nearest integer. Round upward if the fraction part is 0.5. +:FLOOR: Floor. + + The largest integer smaller than or equal A. +:CEIL: Ceil. + + The smallest integer greater than or equal A. +:TRUNC: Truncate. + + The integer part of A, removing fractional digits. + + +---- + +:FRACT: Fraction. + + The fraction part of A. +:MODULO: Truncated Modulo. + + The remainder of truncated division using fmod(A,B). +:FLOORED_MODULO: Floored Modulo. + + The remainder of floored division. +:WRAP: Wrap. + + Wrap value to range, wrap(A,B). +:SNAP: Snap. + + Snap to increment, snap(A,B). +:PINGPONG: Ping-Pong. + + Wraps a value and reverses every other cycle (A,B). + + +**Trigonometric** + +:SINE: Sine. + + sin(A). +:COSINE: Cosine. + + cos(A). +:TANGENT: Tangent. + + tan(A). + + +---- + +:ARCSINE: Arcsine. + + arcsin(A). +:ARCCOSINE: Arccosine. + + arccos(A). +:ARCTANGENT: Arctangent. + + arctan(A). +:ARCTAN2: Arctan2. + + The signed angle arctan(A / B). + + +---- + +:SINH: Hyperbolic Sine. + + sinh(A). +:COSH: Hyperbolic Cosine. + + cosh(A). +:TANH: Hyperbolic Tangent. + + tanh(A). + + +**Conversion** + +:RADIANS: To Radians. + + Convert from degrees to radians. +:DEGREES: To Degrees. + + Convert from radians to degrees. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_data_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_data_type_items.rst new file mode 100644 index 0000000..47fc942 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_data_type_items.rst @@ -0,0 +1,51 @@ +.. _rna_enum_node_socket_data_type_items: + +Node Socket Data Type Items +########################### + +:FLOAT: Float. + +:INT: Integer. + +:BOOLEAN: Boolean. + +:VECTOR: Vector. + +:RGBA: Color. + +:ROTATION: Rotation. + +:MATRIX: Matrix. + +:STRING: String. + +:MENU: Menu. + +:SHADER: Shader. + +:OBJECT: Object. + +:IMAGE: Image. + +:GEOMETRY: Geometry. + +:COLLECTION: Collection. + +:TEXTURE: Texture. + +:MATERIAL: Material. + +:BUNDLE: Bundle. + +:CLOSURE: Closure. + +:FONT: Font. + +:SCENE: Scene. + +:TEXT: Text. + +:MASK: Mask. + +:SOUND: Sound. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_in_out_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_in_out_items.rst new file mode 100644 index 0000000..c7758a6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_in_out_items.rst @@ -0,0 +1,9 @@ +.. _rna_enum_node_socket_in_out_items: + +Node Socket In Out Items +######################## + +:IN: Input. + +:OUT: Output. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_structure_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_structure_type_items.rst new file mode 100644 index 0000000..e2fc59e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_structure_type_items.rst @@ -0,0 +1,23 @@ +.. _rna_enum_node_socket_structure_type_items: + +Node Socket Structure Type Items +################################ + +:AUTO: Auto. + + Automatically detect a good structure type based on how the socket is used. +:DYNAMIC: Dynamic. + + Socket can work with different kinds of structures. +:FIELD: Field. + + Socket expects a field. +:GRID: Grid. + + Socket expects a grid. +:LIST: List. + + Socket expects a list. +:SINGLE: Single. + + Socket expects a single value. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_type_items.rst new file mode 100644 index 0000000..5b029db --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_socket_type_items.rst @@ -0,0 +1,53 @@ +.. _rna_enum_node_socket_type_items: + +Node Socket Type Items +###################### + +:CUSTOM: Custom. + +:VALUE: Value. + +:INT: Integer. + +:BOOLEAN: Boolean. + +:VECTOR: Vector. + +:ROTATION: Rotation. + +:MATRIX: Matrix. + +:STRING: String. + +:RGBA: RGBA. + +:SHADER: Shader. + +:OBJECT: Object. + +:IMAGE: Image. + +:GEOMETRY: Geometry. + +:COLLECTION: Collection. + +:TEXTURE: Texture. + +:MATERIAL: Material. + +:MENU: Menu. + +:BUNDLE: Bundle. + +:CLOSURE: Closure. + +:FONT: Font. + +:SCENE: Scene. + +:TEXT: Text. + +:MASK: Mask. + +:SOUND: Sound. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_tree_interface_item_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_tree_interface_item_type_items.rst new file mode 100644 index 0000000..3d7ef97 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_tree_interface_item_type_items.rst @@ -0,0 +1,9 @@ +.. _rna_enum_node_tree_interface_item_type_items: + +Node Tree Interface Item Type Items +################################### + +:SOCKET: Socket. + +:PANEL: Panel. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_vec_math_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_vec_math_items.rst new file mode 100644 index 0000000..19f54f7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_vec_math_items.rst @@ -0,0 +1,111 @@ +.. _rna_enum_node_vec_math_items: + +Node Vec Math Items +################### + +:ADD: Add. + + A + B. +:SUBTRACT: Subtract. + + A - B. +:MULTIPLY: Multiply. + + Entry-wise multiply. +:DIVIDE: Divide. + + Entry-wise divide. +:MULTIPLY_ADD: Multiply Add. + + A \* B + C. + + +---- + +:CROSS_PRODUCT: Cross Product. + + A cross B. +:PROJECT: Project. + + Project A onto B. +:REFLECT: Reflect. + + Reflect A around the normal B. B does not need to be normalized.. +:REFRACT: Refract. + + For a given incident vector A, surface normal B and ratio of indices of refraction, Ior, refract returns the refraction vector, R. +:FACEFORWARD: Faceforward. + + Orients a vector A to point away from a surface B as defined by its normal C. Returns (dot(B, C) < 0) ? A : -A. +:DOT_PRODUCT: Dot Product. + + A dot B. + + +---- + +:DISTANCE: Distance. + + Distance between A and B. +:LENGTH: Length. + + Length of A. +:SCALE: Scale. + + A multiplied by Scale. +:NORMALIZE: Normalize. + + Normalize A. + + +---- + +:ABSOLUTE: Absolute. + + Entry-wise absolute. +:POWER: Power. + + Entry-wise power. +:SIGN: Sign. + + Entry-wise sign. +:MINIMUM: Minimum. + + Entry-wise minimum. +:MAXIMUM: Maximum. + + Entry-wise maximum. +:ROUND: Round. + + Entry-wise round to the nearest integer. Round upward if the fraction part is 0.5. +:FLOOR: Floor. + + Entry-wise floor. +:CEIL: Ceil. + + Entry-wise ceil. +:FRACTION: Fraction. + + The fraction part of A entry-wise. +:MODULO: Modulo. + + Entry-wise modulo using fmod(A,B). +:WRAP: Wrap. + + Entry-wise wrap(A,B). +:SNAP: Snap. + + Round A to the largest integer multiple of B less than or equal A. + + +---- + +:SINE: Sine. + + Entry-wise sin(A). +:COSINE: Cosine. + + Entry-wise cos(A). +:TANGENT: Tangent. + + Entry-wise tan(A). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_warning_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_warning_type_items.rst new file mode 100644 index 0000000..2d00409 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/node_warning_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_node_warning_type_items: + +Node Warning Type Items +####################### + +:ERROR: Error. + +:WARNING: Warning. + +:INFO: Info. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/normal_space_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/normal_space_items.rst new file mode 100644 index 0000000..318b0bd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/normal_space_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_normal_space_items: + +Normal Space Items +################## + +:OBJECT: Object. + + Bake the normals in object space. +:TANGENT: Tangent. + + Bake the normals in tangent space. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/normal_swizzle_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/normal_swizzle_items.rst new file mode 100644 index 0000000..3963991 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/normal_swizzle_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_normal_swizzle_items: + +Normal Swizzle Items +#################### + +:POS_X: +X. + +:POS_Y: +Y. + +:POS_Z: +Z. + +:NEG_X: -X. + +:NEG_Y: -Y. + +:NEG_Z: -Z. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_axis_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_axis_items.rst new file mode 100644 index 0000000..fc855f2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_axis_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_object_axis_items: + +Object Axis Items +################# + +:POS_X: +X. + +:POS_Y: +Y. + +:POS_Z: +Z. + +:NEG_X: -X. + +:NEG_Y: -Y. + +:NEG_Z: -Z. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_empty_drawtype_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_empty_drawtype_items.rst new file mode 100644 index 0000000..4852da3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_empty_drawtype_items.rst @@ -0,0 +1,21 @@ +.. _rna_enum_object_empty_drawtype_items: + +Object Empty Drawtype Items +########################### + +:PLAIN_AXES: Plain Axes. + +:ARROWS: Arrows. + +:SINGLE_ARROW: Single Arrow. + +:CIRCLE: Circle. + +:CUBE: Cube. + +:SPHERE: Sphere. + +:CONE: Cone. + +:IMAGE: Image. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_gpencil_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_gpencil_type_items.rst new file mode 100644 index 0000000..a98c3c8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_gpencil_type_items.rst @@ -0,0 +1,27 @@ +.. _rna_enum_object_gpencil_type_items: + +Object Gpencil Type Items +######################### + +:EMPTY: Blank. + + Create an empty Grease Pencil object. +:STROKE: Stroke. + + Create a simple stroke with basic colors. +:MONKEY: Monkey. + + Construct a Suzanne Grease Pencil object. + + +---- + +:LINEART_SCENE: Scene Line Art. + + Quickly set up Line Art for the entire scene. +:LINEART_COLLECTION: Collection Line Art. + + Quickly set up Line Art for the active collection. +:LINEART_OBJECT: Object Line Art. + + Quickly set up Line Art for the active object. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_mode_items.rst new file mode 100644 index 0000000..aaf6f39 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_mode_items.rst @@ -0,0 +1,38 @@ +.. _rna_enum_object_mode_items: + +Object Mode Items +################# + +:OBJECT: Object Mode. + +:EDIT: Edit Mode. + +:POSE: Pose Mode. + +:SCULPT: Sculpt Mode. + +:VERTEX_PAINT: Vertex Paint. + +:WEIGHT_PAINT: Weight Paint. + +:TEXTURE_PAINT: Texture Paint. + +:PARTICLE_EDIT: Particle Edit. + +:EDIT_GPENCIL: Edit Mode. + + Edit Grease Pencil Strokes. +:SCULPT_GREASE_PENCIL: Sculpt Mode. + + Sculpt Grease Pencil Strokes. +:PAINT_GREASE_PENCIL: Draw Mode. + + Paint Grease Pencil Strokes. +:WEIGHT_GREASE_PENCIL: Weight Paint. + + Grease Pencil Weight Paint Strokes. +:VERTEX_GREASE_PENCIL: Vertex Paint. + + Grease Pencil Vertex Paint Strokes. +:SCULPT_CURVES: Sculpt Mode. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_modifier_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_modifier_type_items.rst new file mode 100644 index 0000000..0acf617 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_modifier_type_items.rst @@ -0,0 +1,270 @@ +.. _rna_enum_object_modifier_type_items: + +Object Modifier Type Items +########################## + + + +**Modify** + +:GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY: Vertex Weight Proximity. + + Generate vertex weights based on distance to object. + + +**Modify** + +:DATA_TRANSFER: Data Transfer. + + Transfer several types of data (vertex groups, UV maps, vertex colors, custom normals) from one mesh to another. +:MESH_CACHE: Mesh Cache. + + Deform the mesh using an external frame-by-frame vertex transform cache. +:MESH_SEQUENCE_CACHE: Mesh Sequence Cache. + + Deform the mesh or curve using an external mesh cache in Alembic format. +:NORMAL_EDIT: Normal Edit. + + Modify the direction of the surface normals. +:WEIGHTED_NORMAL: Weighted Normal. + + Modify the direction of the surface normals using a weighting method. +:UV_PROJECT: UV Project. + + Project the UV map coordinates from the negative Z axis of another object. +:UV_WARP: UV Warp. + + Transform the UV map using the difference between two objects. +:VERTEX_WEIGHT_EDIT: Vertex Weight Edit. + + Modify of the weights of a vertex group. +:VERTEX_WEIGHT_MIX: Vertex Weight Mix. + + Mix the weights of two vertex groups. +:VERTEX_WEIGHT_PROXIMITY: Vertex Weight Proximity. + + Set the vertex group weights based on the distance to another target object. +:GREASE_PENCIL_COLOR: Hue/Saturation. + + Change hue/saturation/value of the strokes. +:GREASE_PENCIL_TINT: Tint. + + Tint the color of the strokes. +:GREASE_PENCIL_OPACITY: Opacity. + + Change the opacity of the strokes. +:GREASE_PENCIL_VERTEX_WEIGHT_ANGLE: Vertex Weight Angle. + + Generate vertex weights based on stroke angle. +:GREASE_PENCIL_TIME: Time Offset. + + Offset keyframes. +:GREASE_PENCIL_TEXTURE: Texture Mapping. + + Change stroke UV texture values. + + +**Generate** + +:ARRAY: Array. + + Create copies of the shape with offsets. +:BEVEL: Bevel. + + Generate sloped corners by adding geometry to the mesh's edges or vertices. +:BOOLEAN: Boolean. + + Use another shape to cut, combine or perform a difference operation. +:BUILD: Build. + + Cause the faces of the mesh object to appear or disappear one after the other over time. +:DECIMATE: Decimate. + + Reduce the geometry density. +:EDGE_SPLIT: Edge Split. + + Split away joined faces at the edges. +:NODES: Geometry Nodes. + +:MASK: Mask. + + Dynamically hide vertices based on a vertex group or armature. +:MIRROR: Mirror. + + Mirror along the local X, Y and/or Z axes, over the object origin. +:MESH_TO_VOLUME: Mesh to Volume. + +:MULTIRES: Multiresolution. + + Subdivide the mesh in a way that allows editing the higher subdivision levels. +:REMESH: Remesh. + + Generate new mesh topology based on the current shape. +:SCREW: Screw. + + Lathe around an axis, treating the input mesh as a profile. +:SKIN: Skin. + + Create a solid shape from vertices and edges, using the vertex radius to define the thickness. +:SOLIDIFY: Solidify. + + Make the surface thick. +:SUBSURF: Subdivision Surface. + + Split the faces into smaller parts, giving it a smoother appearance. +:TRIANGULATE: Triangulate. + + Convert all polygons to triangles. +:VOLUME_TO_MESH: Volume to Mesh. + +:WELD: Weld. + + Find groups of vertices closer than dist and merge them together. +:WIREFRAME: Wireframe. + + Convert faces into thickened edges. +:GREASE_PENCIL_ARRAY: Array. + + Duplicate strokes into an array. +:GREASE_PENCIL_BUILD: Build. + + Grease Pencil build modifier. +:GREASE_PENCIL_LENGTH: Length. + + Grease Pencil length modifier. +:LINEART: Line Art. + + Generate Line Art from scene geometries. +:GREASE_PENCIL_MIRROR: Mirror. + + Duplicate strokes like a mirror. +:GREASE_PENCIL_MULTIPLY: Multiple Strokes. + + Generate multiple strokes around original strokes. +:GREASE_PENCIL_SIMPLIFY: Simplify. + + Simplify stroke reducing number of points. +:GREASE_PENCIL_SUBDIV: Subdivide. + + Grease Pencil subdivide modifier. +:GREASE_PENCIL_ENVELOPE: Envelope. + + Create an envelope shape. +:GREASE_PENCIL_OUTLINE: Outline. + + Convert stroke to outline. + + +**Deform** + +:ARMATURE: Armature. + + Deform the shape using an armature object. +:CAST: Cast. + + Shift the shape towards a predefined primitive. +:CURVE: Curve. + + Bend the mesh using a curve object. +:DISPLACE: Displace. + + Offset vertices based on a texture. +:HOOK: Hook. + + Deform specific points using another object. +:LAPLACIANDEFORM: Laplacian Deform. + + Deform based a series of anchor points. +:LATTICE: Lattice. + + Deform using the shape of a lattice object. +:MESH_DEFORM: Mesh Deform. + + Deform using a different mesh, which acts as a deformation cage. +:SHRINKWRAP: Shrinkwrap. + + Project the shape onto another object. +:SIMPLE_DEFORM: Simple Deform. + + Deform the shape by twisting, bending, tapering or stretching. +:SMOOTH: Smooth. + + Smooth the mesh by flattening the angles between adjacent faces. +:CORRECTIVE_SMOOTH: Smooth Corrective. + + Smooth the mesh while still preserving the volume. +:LAPLACIANSMOOTH: Smooth Laplacian. + + Reduce the noise on a mesh surface with minimal changes to its shape. +:SURFACE_DEFORM: Surface Deform. + + Transfer motion from another mesh. +:WARP: Warp. + + Warp parts of a mesh to a new location in a very flexible way thanks to 2 specified objects. +:WAVE: Wave. + + Adds a ripple-like motion to an object's geometry. +:VOLUME_DISPLACE: Volume Displace. + + Deform volume based on noise or other vector fields. +:GREASE_PENCIL_HOOK: Hook. + + Deform stroke points using objects. +:GREASE_PENCIL_NOISE: Noise. + + Generate noise wobble in Grease Pencil strokes. +:GREASE_PENCIL_OFFSET: Offset. + + Change stroke location, rotation, or scale. +:GREASE_PENCIL_SMOOTH: Smooth. + + Smooth Grease Pencil strokes. +:GREASE_PENCIL_THICKNESS: Thickness. + + Change stroke thickness. +:GREASE_PENCIL_LATTICE: Lattice. + + Deform strokes using a lattice object. +:GREASE_PENCIL_DASH: Dot Dash. + + Generate dot-dash styled strokes. +:GREASE_PENCIL_ARMATURE: Armature. + + Deform stroke points using armature object. +:GREASE_PENCIL_SHRINKWRAP: Shrinkwrap. + + Project the shape onto another object. + + +**Physics** + +:CLOTH: Cloth. + + Physic simulation for cloth. +:COLLISION: Collision. + + For colliders participating in physics simulation, control which level in the modifier stack is used as the collision surface. +:DYNAMIC_PAINT: Dynamic Paint. + + Turn objects into paint canvases and brushes, creating color attributes, image sequences, or displacement. +:EXPLODE: Explode. + + Break apart the mesh faces and let them follow particles. +:FLUID: Fluid. + + Physics simulation for fluids, like water, oil and smoke. +:OCEAN: Ocean. + + Generate a moving ocean surface. +:PARTICLE_INSTANCE: Particle Instance. + + Duplicate mesh at the location of particles. +:PARTICLE_SYSTEM: Particle System. + + Spawn particles from the shape. +:SOFT_BODY: Soft Body. + + Simulate soft deformable objects. +:SURFACE: Surface. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_rotation_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_rotation_mode_items.rst new file mode 100644 index 0000000..f24854a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_rotation_mode_items.rst @@ -0,0 +1,29 @@ +.. _rna_enum_object_rotation_mode_items: + +Object Rotation Mode Items +########################## + +:QUATERNION: Quaternion (WXYZ). + + No Gimbal Lock. +:XYZ: XYZ Euler. + + XYZ Rotation Order - prone to Gimbal Lock (default). +:XZY: XZY Euler. + + XZY Rotation Order - prone to Gimbal Lock. +:YXZ: YXZ Euler. + + YXZ Rotation Order - prone to Gimbal Lock. +:YZX: YZX Euler. + + YZX Rotation Order - prone to Gimbal Lock. +:ZXY: ZXY Euler. + + ZXY Rotation Order - prone to Gimbal Lock. +:ZYX: ZYX Euler. + + ZYX Rotation Order - prone to Gimbal Lock. +:AXIS_ANGLE: Axis Angle. + + Axis Angle (W+XYZ), defines a rotation around some axis defined by 3D-Vector. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_shaderfx_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_shaderfx_type_items.rst new file mode 100644 index 0000000..ada13da --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_shaderfx_type_items.rst @@ -0,0 +1,32 @@ +.. _rna_enum_object_shaderfx_type_items: + +Object Shaderfx Type Items +########################## + +:FX_BLUR: Blur. + + Apply Gaussian Blur to object. +:FX_COLORIZE: Colorize. + + Apply different tint effects. +:FX_FLIP: Flip. + + Flip image. +:FX_GLOW: Glow. + + Create a glow effect. +:FX_PIXEL: Pixelate. + + Pixelate image. +:FX_RIM: Rim. + + Add a rim to the image. +:FX_SHADOW: Shadow. + + Create a shadow effect. +:FX_SWIRL: Swirl. + + Create a rotation distortion. +:FX_WAVE: Wave Distortion. + + Apply sinusoidal deformation. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_type_curve_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_type_curve_items.rst new file mode 100644 index 0000000..26fff24 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_type_curve_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_object_type_curve_items: + +Object Type Curve Items +####################### + +:CURVE: Curve. + +:SURFACE: Surface. + +:FONT: Text. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_type_items.rst new file mode 100644 index 0000000..7fa78fd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/object_type_items.rst @@ -0,0 +1,57 @@ +.. _rna_enum_object_type_items: + +Object Type Items +################# + +:MESH: Mesh. + +:CURVE: Curve. + +:SURFACE: Surface. + +:META: Metaball. + +:FONT: Text. + +:CURVES: Hair Curves. + +:POINTCLOUD: Point Cloud. + +:VOLUME: Volume. + +:GREASEPENCIL: Grease Pencil. + + + +---- + +:ARMATURE: Armature. + +:LATTICE: Lattice. + + + +---- + +:EMPTY: Empty. + + + +---- + +:LIGHT: Light. + +:LIGHT_PROBE: Light Probe. + + + +---- + +:CAMERA: Camera. + + + +---- + +:SPEAKER: Speaker. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_context_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_context_items.rst new file mode 100644 index 0000000..4851953 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_context_items.rst @@ -0,0 +1,29 @@ +.. _rna_enum_operator_context_items: + +Operator Context Items +###################### + +:INVOKE_DEFAULT: Invoke Default. + +:INVOKE_REGION_WIN: Invoke Region Window. + +:INVOKE_REGION_CHANNELS: Invoke Region Channels. + +:INVOKE_REGION_PREVIEW: Invoke Region Preview. + +:INVOKE_AREA: Invoke Area. + +:INVOKE_SCREEN: Invoke Screen. + +:EXEC_DEFAULT: Exec Default. + +:EXEC_REGION_WIN: Exec Region Window. + +:EXEC_REGION_CHANNELS: Exec Region Channels. + +:EXEC_REGION_PREVIEW: Exec Region Preview. + +:EXEC_AREA: Exec Area. + +:EXEC_SCREEN: Exec Screen. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_property_tag_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_property_tag_items.rst new file mode 100644 index 0000000..0497c98 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_property_tag_items.rst @@ -0,0 +1,8 @@ +.. _rna_enum_operator_property_tag_items: + +Operator Property Tag Items +########################### + +:ADVANCED: Advanced. + + The property is advanced so UI is suggested to hide it. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_return_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_return_items.rst new file mode 100644 index 0000000..6af9c7c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_return_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_operator_return_items: + +Operator Return Items +##################### + +:RUNNING_MODAL: Running Modal. + + Keep the operator running with blender. +:CANCELLED: Cancelled. + + The operator exited without doing anything, so no undo entry should be pushed. +:FINISHED: Finished. + + The operator exited after completing its action. +:PASS_THROUGH: Pass Through. + + Do nothing and pass the event on. +:INTERFACE: Interface. + + Handled but not executed (popup menus). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_type_flag_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_type_flag_items.rst new file mode 100644 index 0000000..6bf51c9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/operator_type_flag_items.rst @@ -0,0 +1,41 @@ +.. _rna_enum_operator_type_flag_items: + +Operator Type Flag Items +######################## + +:REGISTER: Register. + + Display in the info window and support the redo toolbar panel. +:UNDO: Undo. + + Push an undo event when the operator returns \`FINISHED\` (needed for operator redo, mandatory if the operator modifies Blender data). +:UNDO_GROUPED: Grouped Undo. + + Push a single undo event for repeated instances of this operator. +:BLOCKING: Blocking. + + Block anything else from using the cursor. +:MACRO: Macro. + + Use to check if an operator is a macro. +:GRAB_CURSOR: Grab Pointer. + + Use so the operator grabs the mouse focus, enables wrapping when continuous grab is enabled. +:GRAB_CURSOR_X: Grab Pointer X. + + Grab, only warping the X axis. +:GRAB_CURSOR_Y: Grab Pointer Y. + + Grab, only warping the Y axis. +:DEPENDS_ON_CURSOR: Depends on Cursor. + + The initial cursor location is used, when running from a menus or buttons the user is prompted to place the cursor before beginning the operation. +:PRESET: Preset. + + Display a preset button with the operators settings. +:INTERNAL: Internal. + + Removes the operator from search results. +:MODAL_PRIORITY: Modal Priority. + + Handle events before other modal operators without this option. Use with caution, do not modify data that other modal operators assume is unchanged during their operation.. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/particle_edit_disconnected_hair_brush_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/particle_edit_disconnected_hair_brush_items.rst new file mode 100644 index 0000000..60a47f6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/particle_edit_disconnected_hair_brush_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_particle_edit_disconnected_hair_brush_items: + +Particle Edit Disconnected Hair Brush Items +########################################### + +:COMB: Comb. + + Comb hairs. +:SMOOTH: Smooth. + + Smooth hairs. +:LENGTH: Length. + + Make hairs longer or shorter. +:CUT: Cut. + + Cut hairs. +:WEIGHT: Weight. + + Weight hair particles. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/particle_edit_hair_brush_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/particle_edit_hair_brush_items.rst new file mode 100644 index 0000000..a073220 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/particle_edit_hair_brush_items.rst @@ -0,0 +1,26 @@ +.. _rna_enum_particle_edit_hair_brush_items: + +Particle Edit Hair Brush Items +############################## + +:COMB: Comb. + + Comb hairs. +:SMOOTH: Smooth. + + Smooth hairs. +:ADD: Add. + + Add hairs. +:LENGTH: Length. + + Make hairs longer or shorter. +:PUFF: Puff. + + Make hairs stand up. +:CUT: Cut. + + Cut hairs. +:WEIGHT: Weight. + + Weight hair particles. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/preference_section_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/preference_section_items.rst new file mode 100644 index 0000000..59cb49a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/preference_section_items.rst @@ -0,0 +1,60 @@ +.. _rna_enum_preference_section_items: + +Preference Section Items +######################## + +:INTERFACE: Interface. + +:VIEWPORT: Viewport. + +:LIGHTS: Lights. + +:EDITING: Editing. + +:ANIMATION: Animation. + + + +---- + +:EXTENSIONS: Get Extensions. + + Browse, install and manage extensions from remote and local repositories. + + +---- + +:ADDONS: Add-ons. + + Manage add-ons installed via Extensions. +:THEMES: Themes. + + Edit and save themes installed via Extensions. + + +---- + +:INPUT: Input. + +:NAVIGATION: Navigation. + +:KEYMAP: Keymap. + + + +---- + +:SYSTEM: System. + +:SAVE_LOAD: Save & Load. + +:FILE_PATHS: File Paths. + + + +---- + +:DEVELOPER_TOOLS: Developer Tools. + +:EXPERIMENTAL: Experimental. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/prop_dynamicpaint_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/prop_dynamicpaint_type_items.rst new file mode 100644 index 0000000..6c12aac --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/prop_dynamicpaint_type_items.rst @@ -0,0 +1,9 @@ +.. _rna_enum_prop_dynamicpaint_type_items: + +Prop Dynamicpaint Type Items +############################ + +:CANVAS: Canvas. + +:BRUSH: Brush. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_flag_enum_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_flag_enum_items.rst new file mode 100644 index 0000000..8c20251 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_flag_enum_items.rst @@ -0,0 +1,21 @@ +.. _rna_enum_property_flag_enum_items: + +Property Flag Enum Items +######################## + +:READ_ONLY: Read Only. + + When set, the property cannot be edited. +:HIDDEN: Hidden. + + For operators: hide from places in the user interface where Blender would add the property automatically, like Adjust Last Operation. Also this property is not written to presets.. +:SKIP_SAVE: Skip Save. + + For operators: the value of this property will not be remembered between invocations of the operator; instead, each invocation will start by using the default value. Also this property is not written to presets.. +:ANIMATABLE: Animatable. + +:LIBRARY_EDITABLE: Library Editable. + + This property can be edited, even when it is used on linked data (which normally is read-only). Note that edits to the property will not be saved to the blend file.. +:ENUM_FLAG: Enum Flag. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_flag_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_flag_items.rst new file mode 100644 index 0000000..8108210 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_flag_items.rst @@ -0,0 +1,34 @@ +.. _rna_enum_property_flag_items: + +Property Flag Items +################### + +:READ_ONLY: Read Only. + + When set, the property cannot be edited. +:HIDDEN: Hidden. + + For operators: hide from places in the user interface where Blender would add the property automatically, like Adjust Last Operation. Also this property is not written to presets.. +:SKIP_SAVE: Skip Save. + + For operators: the value of this property will not be remembered between invocations of the operator; instead, each invocation will start by using the default value. Also this property is not written to presets.. +:SKIP_PRESET: Skip Preset. + + Do not write in presets. +:ANIMATABLE: Animatable. + +:LIBRARY_EDITABLE: Library Editable. + + This property can be edited, even when it is used on linked data (which normally is read-only). Note that edits to the property will not be saved to the blend file.. +:PROPORTIONAL: Adjust values proportionally to each other. + +:TEXTEDIT_UPDATE: Update on every keystroke in textedit 'mode'. + +:OUTPUT_PATH: Output Path. + +:PATH_SUPPORTS_BLEND_RELATIVE: Relative Path Support. + + This path supports relative prefix "//" which is expanded the directory where the current ".blend" file is located.. +:SUPPORTS_TEMPLATES: Variable expression support. + + This path supports the "{variable_name}" template syntax, which substitutes the value of the referenced variable in place of the template expression. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_override_flag_collection_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_override_flag_collection_items.rst new file mode 100644 index 0000000..35e337e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_override_flag_collection_items.rst @@ -0,0 +1,15 @@ +.. _rna_enum_property_override_flag_collection_items: + +Property Override Flag Collection Items +####################################### + +:LIBRARY_OVERRIDABLE: Library Overridable. + + Make that property editable in library overrides of linked data-blocks. + NOTE: For a property to be overridable, its whole chain of parent properties must also be defined as overridable. +:NO_PROPERTY_NAME: No Name. + + Do not use the names of the items, only their indices in the collection. +:USE_INSERTION: Use Insertion. + + Allow users to add new items in that collection in library overrides. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_override_flag_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_override_flag_items.rst new file mode 100644 index 0000000..5f071e1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_override_flag_items.rst @@ -0,0 +1,9 @@ +.. _rna_enum_property_override_flag_items: + +Property Override Flag Items +############################ + +:LIBRARY_OVERRIDABLE: Library Overridable. + + Make that property editable in library overrides of linked data-blocks. + NOTE: For a property to be overridable, its whole chain of parent properties must also be defined as overridable. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_string_search_flag_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_string_search_flag_items.rst new file mode 100644 index 0000000..1dc68bf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_string_search_flag_items.rst @@ -0,0 +1,10 @@ +.. _rna_enum_property_string_search_flag_items: + +Property String Search Flag Items +################################# + +:SORT: Sort Search Results. + +:SUGGESTION: Suggestion. + + Search results are suggestions (other values may be entered). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_items.rst new file mode 100644 index 0000000..b1ed616 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_items.rst @@ -0,0 +1,97 @@ +.. _rna_enum_property_subtype_items: + +Property Subtype Items +###################### + +:NONE: None. + +:FILE_PATH: File Path. + +:DIR_PATH: Directory Path. + +:FILE_NAME: File Name. + +:BYTE_STRING: Byte String. + +:PASSWORD: Password. + + A string that is displayed hidden ('\*\*\*\*\*\*\*\*'). +:PIXEL: Pixel. + + A distance on screen. +:PIXEL_DIAMETER: Pixel. + + A distance on screen, specifically representing a diameter value. +:UNSIGNED: Unsigned. + +:PERCENTAGE: Percentage. + + A percentage between 0 and 100. +:FACTOR: Factor. + + A factor between 0.0 and 1.0. +:MASS: Mass. + + A mass, based on scene unit settings. +:ANGLE: Angle. + + A rotational value specified in radians. +:TIME: Time (Scene Relative). + + Time specified in frames, converted to seconds based on scene frame rate. +:TIME_ABSOLUTE: Time (Absolute). + + Time specified in seconds, independent of the scene. +:DISTANCE: Distance. + + A distance between two points. +:DISTANCE_DIAMETER: Distance. + + A distance between two points, specifically representing a diameter value. +:DISTANCE_CAMERA: Camera Distance. + +:POWER: Power. + +:TEMPERATURE: Temperature. + +:WAVELENGTH: Wavelength. + +:COLOR_TEMPERATURE: Color Temperature. + +:FREQUENCY: Frequency. + +:COLOR: Linear Color. + + Color in the scene linear working color space. +:TRANSLATION: Translation. + +:DIRECTION: Direction. + +:VELOCITY: Velocity. + +:ACCELERATION: Acceleration. + +:MATRIX: Matrix. + +:EULER: Euler Angles. + + Euler rotation angles in radians. +:QUATERNION: Quaternion. + + Quaternion rotation (affects NLA blending). +:AXISANGLE: Axis-Angle. + + Angle and axis to rotate around. +:XYZ: XYZ. + +:XYZ_LENGTH: XYZ Length. + +:COLOR_GAMMA: sRGB Color. + + Color in sRGB color space (mainly for user interface colors). +:COORDINATES: Coordinates. + +:LAYER: Layer. + +:LAYER_MEMBER: Layer Member. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_number_array_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_number_array_items.rst new file mode 100644 index 0000000..01590a2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_number_array_items.rst @@ -0,0 +1,42 @@ +.. _rna_enum_property_subtype_number_array_items: + +Property Subtype Number Array Items +################################### + +:COLOR: Linear Color. + + Color in the scene linear working color space. +:TRANSLATION: Translation. + +:DIRECTION: Direction. + +:VELOCITY: Velocity. + +:ACCELERATION: Acceleration. + +:MATRIX: Matrix. + +:EULER: Euler Angles. + + Euler rotation angles in radians. +:QUATERNION: Quaternion. + + Quaternion rotation (affects NLA blending). +:AXISANGLE: Axis-Angle. + + Angle and axis to rotate around. +:XYZ: XYZ. + +:XYZ_LENGTH: XYZ Length. + +:COLOR_GAMMA: sRGB Color. + + Color in sRGB color space (mainly for user interface colors). +:COORDINATES: Coordinates. + +:LAYER: Layer. + +:LAYER_MEMBER: Layer Member. + +:NONE: None. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_number_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_number_items.rst new file mode 100644 index 0000000..367b305 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_number_items.rst @@ -0,0 +1,51 @@ +.. _rna_enum_property_subtype_number_items: + +Property Subtype Number Items +############################# + +:PIXEL: Pixel. + + A distance on screen. +:PIXEL_DIAMETER: Pixel. + + A distance on screen, specifically representing a diameter value. +:UNSIGNED: Unsigned. + +:PERCENTAGE: Percentage. + + A percentage between 0 and 100. +:FACTOR: Factor. + + A factor between 0.0 and 1.0. +:MASS: Mass. + + A mass, based on scene unit settings. +:ANGLE: Angle. + + A rotational value specified in radians. +:TIME: Time (Scene Relative). + + Time specified in frames, converted to seconds based on scene frame rate. +:TIME_ABSOLUTE: Time (Absolute). + + Time specified in seconds, independent of the scene. +:DISTANCE: Distance. + + A distance between two points. +:DISTANCE_DIAMETER: Distance. + + A distance between two points, specifically representing a diameter value. +:DISTANCE_CAMERA: Camera Distance. + +:POWER: Power. + +:TEMPERATURE: Temperature. + +:WAVELENGTH: Wavelength. + +:COLOR_TEMPERATURE: Color Temperature. + +:FREQUENCY: Frequency. + +:NONE: None. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_string_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_string_items.rst new file mode 100644 index 0000000..432ba2b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_subtype_string_items.rst @@ -0,0 +1,18 @@ +.. _rna_enum_property_subtype_string_items: + +Property Subtype String Items +############################# + +:FILE_PATH: File Path. + +:DIR_PATH: Directory Path. + +:FILE_NAME: File Name. + +:BYTE_STRING: Byte String. + +:PASSWORD: Password. + + A string that is displayed hidden ('\*\*\*\*\*\*\*\*'). +:NONE: None. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_type_items.rst new file mode 100644 index 0000000..07eba26 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_type_items.rst @@ -0,0 +1,19 @@ +.. _rna_enum_property_type_items: + +Property Type Items +################### + +:BOOLEAN: Boolean. + +:INT: Integer. + +:FLOAT: Float. + +:STRING: String. + +:ENUM: Enumeration. + +:POINTER: Pointer. + +:COLLECTION: Collection. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_unit_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_unit_items.rst new file mode 100644 index 0000000..9a7fe2a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/property_unit_items.rst @@ -0,0 +1,37 @@ +.. _rna_enum_property_unit_items: + +Property Unit Items +################### + +:NONE: None. + +:LENGTH: Length. + +:AREA: Area. + +:VOLUME: Volume. + +:ROTATION: Rotation. + +:TIME: Time (Scene Relative). + +:TIME_ABSOLUTE: Time (Absolute). + +:VELOCITY: Velocity. + +:ACCELERATION: Acceleration. + +:MASS: Mass. + +:CAMERA: Camera. + +:POWER: Power. + +:TEMPERATURE: Temperature. + +:WAVELENGTH: Wavelength. + +:COLOR_TEMPERATURE: Color Temperature. + +:FREQUENCY: Frequency. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/proportional_falloff_curve_only_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/proportional_falloff_curve_only_items.rst new file mode 100644 index 0000000..ab5ae53 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/proportional_falloff_curve_only_items.rst @@ -0,0 +1,23 @@ +.. _rna_enum_proportional_falloff_curve_only_items: + +Proportional Falloff Curve Only Items +##################################### + +:SMOOTH: Smooth. + + Smooth falloff. +:SPHERE: Sphere. + + Spherical falloff. +:ROOT: Root. + + Root falloff. +:INVERSE_SQUARE: Inverse Square. + + Inverse Square falloff. +:SHARP: Sharp. + + Sharp falloff. +:LINEAR: Linear. + + Linear falloff. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/proportional_falloff_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/proportional_falloff_items.rst new file mode 100644 index 0000000..ca100c8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/proportional_falloff_items.rst @@ -0,0 +1,29 @@ +.. _rna_enum_proportional_falloff_items: + +Proportional Falloff Items +########################## + +:SMOOTH: Smooth. + + Smooth falloff. +:SPHERE: Sphere. + + Spherical falloff. +:ROOT: Root. + + Root falloff. +:INVERSE_SQUARE: Inverse Square. + + Inverse Square falloff. +:SHARP: Sharp. + + Sharp falloff. +:LINEAR: Linear. + + Linear falloff. +:CONSTANT: Constant. + + Constant falloff. +:RANDOM: Random. + + Random falloff. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/ramp_blend_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/ramp_blend_items.rst new file mode 100644 index 0000000..982f376 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/ramp_blend_items.rst @@ -0,0 +1,63 @@ +.. _rna_enum_ramp_blend_items: + +Ramp Blend Items +################ + +:MIX: Mix. + + + +---- + +:DARKEN: Darken. + +:MULTIPLY: Multiply. + +:BURN: Color Burn. + + + +---- + +:LIGHTEN: Lighten. + +:SCREEN: Screen. + +:DODGE: Color Dodge. + +:ADD: Add. + + + +---- + +:OVERLAY: Overlay. + +:SOFT_LIGHT: Soft Light. + +:LINEAR_LIGHT: Linear Light. + + + +---- + +:DIFFERENCE: Difference. + +:EXCLUSION: Exclusion. + +:SUBTRACT: Subtract. + +:DIVIDE: Divide. + + + +---- + +:HUE: Hue. + +:SATURATION: Saturation. + +:COLOR: Color. + +:VALUE: Value. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/region_panel_category_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/region_panel_category_items.rst new file mode 100644 index 0000000..7d07939 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/region_panel_category_items.rst @@ -0,0 +1,8 @@ +.. _rna_enum_region_panel_category_items: + +Region Panel Category Items +########################### + +:UNSUPPORTED: Not Supported. + + This region does not support panel categories. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/region_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/region_type_items.rst new file mode 100644 index 0000000..a8f76d5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/region_type_items.rst @@ -0,0 +1,37 @@ +.. _rna_enum_region_type_items: + +Region Type Items +################# + +:WINDOW: Window. + +:HEADER: Header. + +:CHANNELS: Channels. + +:TEMPORARY: Temporary. + +:UI: Sidebar. + +:TOOLS: Tools. + +:TOOL_PROPS: Tool Properties. + +:ASSET_SHELF: Asset Shelf. + +:ASSET_SHELF_HEADER: Asset Shelf Header. + +:PREVIEW: Preview. + +:HUD: Floating Region. + +:NAVIGATION_BAR: Navigation Bar. + +:EXECUTE: Execute Buttons. + +:FOOTER: Footer. + +:TOOL_HEADER: Tool Header. + +:XR: XR. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/rigidbody_constraint_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/rigidbody_constraint_type_items.rst new file mode 100644 index 0000000..2643ab7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/rigidbody_constraint_type_items.rst @@ -0,0 +1,29 @@ +.. _rna_enum_rigidbody_constraint_type_items: + +Rigidbody Constraint Type Items +############################### + +:FIXED: Fixed. + + Glue rigid bodies together. +:POINT: Point. + + Constrain rigid bodies to move around common pivot point. +:HINGE: Hinge. + + Restrict rigid body rotation to one axis. +:SLIDER: Slider. + + Restrict rigid body translation to one axis. +:PISTON: Piston. + + Restrict rigid body translation and rotation to one axis. +:GENERIC: Generic. + + Restrict translation and rotation to specified axes. +:GENERIC_SPRING: Generic Spring. + + Restrict translation and rotation to specified axes with springs. +:MOTOR: Motor. + + Drive rigid body around or along an axis. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/rigidbody_object_shape_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/rigidbody_object_shape_items.rst new file mode 100644 index 0000000..6b916ec --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/rigidbody_object_shape_items.rst @@ -0,0 +1,25 @@ +.. _rna_enum_rigidbody_object_shape_items: + +Rigidbody Object Shape Items +############################ + +:BOX: Box. + + Box-like shapes (i.e. cubes), including planes (i.e. ground planes). +:SPHERE: Sphere. + +:CAPSULE: Capsule. + +:CYLINDER: Cylinder. + +:CONE: Cone. + +:CONVEX_HULL: Convex Hull. + + A mesh-like surface encompassing (i.e. shrinkwrap over) all vertices (best results with fewer vertices). +:MESH: Mesh. + + Mesh consisting of triangles only, allowing for more detailed interactions than convex hulls. +:COMPOUND: Compound Parent. + + Combines all of its direct rigid body children into one rigid object. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/rigidbody_object_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/rigidbody_object_type_items.rst new file mode 100644 index 0000000..d18cd03 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/rigidbody_object_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_rigidbody_object_type_items: + +Rigidbody Object Type Items +########################### + +:ACTIVE: Active. + + Object is directly controlled by simulation results. +:PASSIVE: Passive. + + Object is directly controlled by animation system. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/shading_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/shading_type_items.rst new file mode 100644 index 0000000..2b6bc74 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/shading_type_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_shading_type_items: + +Shading Type Items +################## + +:WIREFRAME: Wireframe. + + Display only edges of geometry without surface shading. +:SOLID: Solid. + + Display objects with flat lighting and basic surface shading. +:MATERIAL: Material Preview. + + Preview materials using predefined environment lights. +:RENDERED: Rendered. + + Preview the final scene using the active render engine. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/shrinkwrap_face_cull_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/shrinkwrap_face_cull_items.rst new file mode 100644 index 0000000..669f30c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/shrinkwrap_face_cull_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_shrinkwrap_face_cull_items: + +Shrinkwrap Face Cull Items +########################## + +:OFF: Off. + + No culling. +:FRONT: Front. + + No projection when in front of the face. +:BACK: Back. + + No projection when behind the face. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/shrinkwrap_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/shrinkwrap_type_items.rst new file mode 100644 index 0000000..071c286 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/shrinkwrap_type_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_shrinkwrap_type_items: + +Shrinkwrap Type Items +##################### + +:NEAREST_SURFACEPOINT: Nearest Surface Point. + + Shrink the mesh to the nearest target surface. +:PROJECT: Project. + + Shrink the mesh to the nearest target surface along a given axis. +:NEAREST_VERTEX: Nearest Vertex. + + Shrink the mesh to the nearest target vertex. +:TARGET_PROJECT: Target Normal Project. + + Shrink the mesh to the nearest target surface along the interpolated vertex normals of the target. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/snap_animation_element_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/snap_animation_element_items.rst new file mode 100644 index 0000000..2040dc2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/snap_animation_element_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_snap_animation_element_items: + +Snap Animation Element Items +############################ + +:FRAME: Frame. + + Snap to frame. +:SECOND: Second. + + Snap to seconds. +:MARKER: Nearest Marker. + + Snap to nearest marker. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/snap_element_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/snap_element_items.rst new file mode 100644 index 0000000..f35d328 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/snap_element_items.rst @@ -0,0 +1,38 @@ +.. _rna_enum_snap_element_items: + +Snap Element Items +################## + +:INCREMENT: Increment. + + Snap to increments. +:GRID: Grid. + + Snap to grid. +:VERTEX: Vertex. + + Snap to vertices. +:EDGE: Edge. + + Snap to edges. +:FACE: Face. + + Snap by projecting onto faces. +:VOLUME: Volume. + + Snap to volume. +:EDGE_MIDPOINT: Edge Center. + + Snap to the middle of edges. +:EDGE_PERPENDICULAR: Edge Perpendicular. + + Snap to the nearest point on an edge. +:FACE_MIDPOINT: Face Center. + + Snap to the middle of faces. +:FACE_PROJECT: Face Project. + + Snap by projecting onto faces. +:FACE_NEAREST: Face Nearest. + + Snap to nearest point on faces. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/snap_source_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/snap_source_items.rst new file mode 100644 index 0000000..bf3ba90 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/snap_source_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_snap_source_items: + +Snap Source Items +################# + +:CLOSEST: Closest. + + Snap closest point onto target. +:CENTER: Center. + + Snap transformation center onto target. +:MEDIAN: Median. + + Snap median onto target. +:ACTIVE: Active. + + Snap active onto target. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_action_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_action_mode_items.rst new file mode 100644 index 0000000..fa80bf9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_action_mode_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_space_action_mode_items: + +Space Action Mode Items +####################### + +:DOPESHEET: Dope Sheet. + + Edit all keyframes in scene. +:TIMELINE: Timeline. + + Simple timeline view with playback controls in the header, without channel list, side-panel, or footer. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_file_browse_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_file_browse_mode_items.rst new file mode 100644 index 0000000..b1e65f9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_file_browse_mode_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_space_file_browse_mode_items: + +Space File Browse Mode Items +############################ + +:FILES: File Browser. + + Built-in file manager for opening, saving, and linking data. +:ASSETS: Asset Browser. + + Manage assets in the current file and access linked asset libraries. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_graph_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_graph_mode_items.rst new file mode 100644 index 0000000..5718da9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_graph_mode_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_space_graph_mode_items: + +Space Graph Mode Items +###################### + +:FCURVES: Graph Editor. + + Edit animation/keyframes displayed as 2D curves. +:DRIVERS: Drivers. + + Define and edit drivers that link properties to custom functions or other data. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_image_mode_all_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_image_mode_all_items.rst new file mode 100644 index 0000000..a600eda --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_image_mode_all_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_space_image_mode_all_items: + +Space Image Mode All Items +########################## + +:VIEW: View. + + Inspect images or render results. +:UV: UV Editor. + + View and edit UVs. +:PAINT: Paint. + + Paint images in 2D. +:MASK: Mask. + + View and edit masks. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_image_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_image_mode_items.rst new file mode 100644 index 0000000..f3483f1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_image_mode_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_space_image_mode_items: + +Space Image Mode Items +###################### + +:IMAGE_EDITOR: Image Editor. + + Inspect images or render results. +:UV: UV Editor. + + View and edit UVs. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_sequencer_view_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_sequencer_view_type_items.rst new file mode 100644 index 0000000..07d4d9d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_sequencer_view_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_space_sequencer_view_type_items: + +Space Sequencer View Type Items +############################### + +:SEQUENCER: Sequencer. + +:PREVIEW: Preview. + +:SEQUENCER_PREVIEW: Sequencer & Preview. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_type_items.rst new file mode 100644 index 0000000..82c5a22 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/space_type_items.rst @@ -0,0 +1,77 @@ +.. _rna_enum_space_type_items: + +Space Type Items +################ + +:EMPTY: Empty. + + + +**General** + +:VIEW_3D: 3D Viewport. + + Manipulate objects in a 3D environment. +:IMAGE_EDITOR: UV/Image Editor. + + View and edit images and UV Maps. +:NODE_EDITOR: Node Editor. + + Editor for node-based shading and compositing tools. +:SEQUENCE_EDITOR: Video Sequencer. + + Non-linear editor for arranging and mixing scenes, video, audio, and effects. +:CLIP_EDITOR: Movie Clip Editor. + + Motion tracking tools. + + +**Animation** + +:DOPESHEET_EDITOR: Dope Sheet. + + Adjust timing of keyframes. +:GRAPH_EDITOR: Graph Editor. + + Edit drivers and keyframe interpolation. +:NLA_EDITOR: Nonlinear Animation. + + Combine and layer Actions. + + +**Scripting** + +:TEXT_EDITOR: Text Editor. + + Edit scripts and in-file documentation. +:CONSOLE: Python Console. + + Interactive programmatic console for advanced editing and script development. +:INFO: Info. + + Log of operations, warnings and error messages. +:TOPBAR: Top Bar. + + Global bar at the top of the screen for global per-window settings. +:STATUSBAR: Status Bar. + + Global bar at the bottom of the screen for general status information. + + +**Data** + +:OUTLINER: Outliner. + + Overview of scene graph and all available data-blocks. +:PROPERTIES: Properties. + + Edit properties of active object and related data-blocks. +:FILE_BROWSER: File Browser. + + Browse for files and assets. +:SPREADSHEET: Spreadsheet. + + Explore geometry data in a table. +:PREFERENCES: Preferences. + + Edit persistent configuration settings. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stereo3d_anaglyph_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stereo3d_anaglyph_type_items.rst new file mode 100644 index 0000000..86cb853 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stereo3d_anaglyph_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_stereo3d_anaglyph_type_items: + +Stereo3D Anaglyph Type Items +############################ + +:RED_CYAN: Red-Cyan. + +:GREEN_MAGENTA: Green-Magenta. + +:YELLOW_BLUE: Yellow-Blue. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stereo3d_display_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stereo3d_display_items.rst new file mode 100644 index 0000000..98674e0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stereo3d_display_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_stereo3d_display_items: + +Stereo3D Display Items +###################### + +:ANAGLYPH: Anaglyph. + + Render views for left and right eyes as two differently filtered colors in a single image (anaglyph glasses are required). +:INTERLACE: Interlace. + + Render views for left and right eyes interlaced in a single image (3D-ready monitor is required). +:TIMESEQUENTIAL: Time Sequential. + + Render alternate eyes (also known as page flip, quad buffer support in the graphic card is required). +:SIDEBYSIDE: Side-by-Side. + + Render views for left and right eyes side-by-side. +:TOPBOTTOM: Top-Bottom. + + Render views for left and right eyes one above another. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stereo3d_interlace_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stereo3d_interlace_type_items.rst new file mode 100644 index 0000000..9903adf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stereo3d_interlace_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_stereo3d_interlace_type_items: + +Stereo3D Interlace Type Items +############################# + +:ROW_INTERLEAVED: Row Interleaved. + +:COLUMN_INTERLEAVED: Column Interleaved. + +:CHECKERBOARD_INTERLEAVED: Checkerboard Interleaved. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_color_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_color_items.rst new file mode 100644 index 0000000..e4e5a49 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_color_items.rst @@ -0,0 +1,26 @@ +.. _rna_enum_strip_color_items: + +Strip Color Items +################# + +:NONE: None. + + Assign no color tag to the collection. +:COLOR_01: Color 01. + +:COLOR_02: Color 02. + +:COLOR_03: Color 03. + +:COLOR_04: Color 04. + +:COLOR_05: Color 05. + +:COLOR_06: Color 06. + +:COLOR_07: Color 07. + +:COLOR_08: Color 08. + +:COLOR_09: Color 09. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_modifier_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_modifier_type_items.rst new file mode 100644 index 0000000..af38d07 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_modifier_type_items.rst @@ -0,0 +1,27 @@ +.. _rna_enum_strip_modifier_type_items: + +Strip Modifier Type Items +######################### + +:BRIGHT_CONTRAST: Brightness/Contrast. + +:COLOR_BALANCE: Color Balance. + +:COMPOSITOR: Compositor. + +:CURVES: Curves. + +:HUE_CORRECT: Hue Correct. + +:MASK: Mask. + +:TONEMAP: Tone Map. + +:WHITE_BALANCE: White Balance. + +:SOUND_EQUALIZER: Sound Equalizer. + +:PITCH: Pitch. + +:ECHO: Echo. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_scale_method_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_scale_method_items.rst new file mode 100644 index 0000000..e1f6da6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_scale_method_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_strip_scale_method_items: + +Strip Scale Method Items +######################## + +:FIT: Scale to Fit. + + Fits the image bounds inside the canvas, avoiding crops while maintaining aspect ratio. +:FILL: Scale to Fill. + + Fills the canvas edge-to-edge, cropping if needed, while maintaining aspect ratio. +:STRETCH: Stretch to Fill. + + Stretches image bounds to the canvas without preserving aspect ratio. +:ORIGINAL: Use Original Size. + + Display image at its original size. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_sound_modifier_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_sound_modifier_type_items.rst new file mode 100644 index 0000000..7882cdb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_sound_modifier_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_strip_sound_modifier_type_items: + +Strip Sound Modifier Type Items +############################### + +:SOUND_EQUALIZER: Sound Equalizer. + +:PITCH: Pitch. + +:ECHO: Echo. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_video_modifier_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_video_modifier_type_items.rst new file mode 100644 index 0000000..1455ed4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/strip_video_modifier_type_items.rst @@ -0,0 +1,21 @@ +.. _rna_enum_strip_video_modifier_type_items: + +Strip Video Modifier Type Items +############################### + +:BRIGHT_CONTRAST: Brightness/Contrast. + +:COLOR_BALANCE: Color Balance. + +:COMPOSITOR: Compositor. + +:CURVES: Curves. + +:HUE_CORRECT: Hue Correct. + +:MASK: Mask. + +:TONEMAP: Tone Map. + +:WHITE_BALANCE: White Balance. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stroke_depth_order_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stroke_depth_order_items.rst new file mode 100644 index 0000000..b996e71 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/stroke_depth_order_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_stroke_depth_order_items: + +Stroke Depth Order Items +######################## + +:2D: 2D Layers. + + Display strokes using Grease Pencil layer order and stroke order to define depth. +:3D: 3D Location. + + Display strokes using real 3D position in 3D space. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/subdivision_boundary_smooth_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/subdivision_boundary_smooth_items.rst new file mode 100644 index 0000000..6bdaf36 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/subdivision_boundary_smooth_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_subdivision_boundary_smooth_items: + +Subdivision Boundary Smooth Items +################################# + +:PRESERVE_CORNERS: Keep Corners. + + Smooth boundaries, but corners are kept sharp. +:ALL: All. + + Smooth boundaries, including corners. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/subdivision_uv_smooth_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/subdivision_uv_smooth_items.rst new file mode 100644 index 0000000..542146d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/subdivision_uv_smooth_items.rst @@ -0,0 +1,23 @@ +.. _rna_enum_subdivision_uv_smooth_items: + +Subdivision Uv Smooth Items +########################### + +:NONE: None. + + UVs are not smoothed, boundaries are kept sharp. +:PRESERVE_CORNERS: Keep Corners. + + UVs are smoothed, corners on discontinuous boundary are kept sharp. +:PRESERVE_CORNERS_AND_JUNCTIONS: Keep Corners, Junctions. + + UVs are smoothed, corners on discontinuous boundary and junctions of 3 or more regions are kept sharp. +:PRESERVE_CORNERS_JUNCTIONS_AND_CONCAVE: Keep Corners, Junctions, Concave. + + UVs are smoothed, corners on discontinuous boundary, junctions of 3 or more regions and darts and concave corners are kept sharp. +:PRESERVE_BOUNDARIES: Keep Boundaries. + + UVs are smoothed, boundaries are kept sharp. +:SMOOTH_ALL: All. + + UVs and boundaries are smoothed. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/symmetrize_direction_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/symmetrize_direction_items.rst new file mode 100644 index 0000000..bf5c24f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/symmetrize_direction_items.rst @@ -0,0 +1,17 @@ +.. _rna_enum_symmetrize_direction_items: + +Symmetrize Direction Items +########################## + +:NEGATIVE_X: -X to +X. + +:POSITIVE_X: +X to -X. + +:NEGATIVE_Y: -Y to +Y. + +:POSITIVE_Y: +Y to -Y. + +:NEGATIVE_Z: -Z to +Z. + +:POSITIVE_Z: +Z to -Z. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/texture_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/texture_type_items.rst new file mode 100644 index 0000000..254395f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/texture_type_items.rst @@ -0,0 +1,40 @@ +.. _rna_enum_texture_type_items: + +Texture Type Items +################## + +:NONE: None. + +:BLEND: Blend. + + Procedural - create a ramp texture. +:CLOUDS: Clouds. + + Procedural - create a cloud-like fractal noise texture. +:DISTORTED_NOISE: Distorted Noise. + + Procedural - noise texture distorted by two noise algorithms. +:IMAGE: Image or Movie. + + Allow for images or movies to be used as textures. +:MAGIC: Magic. + + Procedural - color texture based on trigonometric functions. +:MARBLE: Marble. + + Procedural - marble-like noise texture with wave generated bands. +:MUSGRAVE: Musgrave. + + Procedural - highly flexible fractal noise texture. +:NOISE: Noise. + + Procedural - random noise, gives a different result every time, for every frame, for every pixel. +:STUCCI: Stucci. + + Procedural - create a fractal noise texture. +:VORONOI: Voronoi. + + Procedural - create cell-like patterns based on Worley noise. +:WOOD: Wood. + + Procedural - wave generated bands or rings, with optional noise. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/transform_mode_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/transform_mode_type_items.rst new file mode 100644 index 0000000..9d66d78 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/transform_mode_type_items.rst @@ -0,0 +1,69 @@ +.. _rna_enum_transform_mode_type_items: + +Transform Mode Type Items +######################### + +:INIT: Init. + +:DUMMY: Dummy. + +:TRANSLATION: Translation. + +:ROTATION: Rotation. + +:RESIZE: Resize. + +:SKIN_RESIZE: Skin Resize. + +:TOSPHERE: To Sphere. + +:SHEAR: Shear. + +:BEND: Bend. + +:SHRINKFATTEN: Shrink/Fatten. + +:TILT: Tilt. + +:TRACKBALL: Trackball. + +:PUSHPULL: Push/Pull. + +:CREASE: Crease. + +:VERTEX_CREASE: Vertex Crease. + +:MIRROR: Mirror. + +:BONE_SIZE: Bone Size. + +:BONE_ENVELOPE: Bone Envelope. + +:BONE_ENVELOPE_DIST: Bone Envelope Distance. + +:CURVE_SHRINKFATTEN: Curve Shrink/Fatten. + +:MASK_SHRINKFATTEN: Mask Shrink/Fatten. + +:BONE_ROLL: Bone Roll. + +:TIME_TRANSLATE: Time Translate. + +:TIME_SLIDE: Time Slide. + +:TIME_SCALE: Time Scale. + +:TIME_EXTEND: Time Extend. + +:BAKE_TIME: Bake Time. + +:BWEIGHT: Bevel Weight. + +:ALIGN: Align. + +:EDGESLIDE: Edge Slide. + +:SEQSLIDE: Sequence Slide. + +:GPENCIL_OPACITY: Grease Pencil Opacity. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/transform_orientation_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/transform_orientation_items.rst new file mode 100644 index 0000000..9ec3619 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/transform_orientation_items.rst @@ -0,0 +1,26 @@ +.. _rna_enum_transform_orientation_items: + +Transform Orientation Items +########################### + +:GLOBAL: Global. + + Align the transformation axes to world space. +:LOCAL: Local. + + Align the transformation axes to the selected objects' local space. +:NORMAL: Normal. + + Align the transformation axes to average normal of selected elements (bone Y axis for pose mode). +:GIMBAL: Gimbal. + + Align each axis to the Euler rotation axis as used for input. +:VIEW: View. + + Align the transformation axes to the window. +:CURSOR: Cursor. + + Align the transformation axes to the 3D cursor. +:PARENT: Parent. + + Align the transformation axes to the object's parent space. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/transform_pivot_full_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/transform_pivot_full_items.rst new file mode 100644 index 0000000..ed3c406 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/transform_pivot_full_items.rst @@ -0,0 +1,20 @@ +.. _rna_enum_transform_pivot_full_items: + +Transform Pivot Full Items +########################## + +:BOUNDING_BOX_CENTER: Bounding Box Center. + + Pivot around bounding box center of selected object(s). +:CURSOR: 3D Cursor. + + Pivot around the 3D cursor. +:INDIVIDUAL_ORIGINS: Individual Origins. + + Pivot around each object's own origin. +:MEDIAN_POINT: Median Point. + + Pivot around the median point of selected objects. +:ACTIVE_ELEMENT: Active Element. + + Pivot around active object. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/uilist_layout_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/uilist_layout_type_items.rst new file mode 100644 index 0000000..9a9ee85 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/uilist_layout_type_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_uilist_layout_type_items: + +Uilist Layout Type Items +######################## + +:DEFAULT: Default Layout. + + Use the default, multi-rows layout. +:COMPACT: Compact Layout. + + Use the compact, single-row layout. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/unpack_method_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/unpack_method_items.rst new file mode 100644 index 0000000..0b6dfd0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/unpack_method_items.rst @@ -0,0 +1,15 @@ +.. _rna_enum_unpack_method_items: + +Unpack Method Items +################### + +:REMOVE: Remove Pack. + +:USE_LOCAL: Use Local File. + +:WRITE_LOCAL: Write Local File (overwrite existing). + +:USE_ORIGINAL: Use Original File. + +:WRITE_ORIGINAL: Write Original File (overwrite existing). + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/velocity_unit_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/velocity_unit_items.rst new file mode 100644 index 0000000..a0310c7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/velocity_unit_items.rst @@ -0,0 +1,9 @@ +.. _rna_enum_velocity_unit_items: + +Velocity Unit Items +################### + +:SECOND: Second. + +:FRAME: Frame. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/views_format_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/views_format_items.rst new file mode 100644 index 0000000..d358145 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/views_format_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_views_format_items: + +Views Format Items +################## + +:INDIVIDUAL: Individual. + + Individual files for each view with the prefix as defined by the scene views. +:STEREO_3D: Stereo 3D. + + Single file with an encoded stereo pair. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/views_format_multilayer_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/views_format_multilayer_items.rst new file mode 100644 index 0000000..572f5f3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/views_format_multilayer_items.rst @@ -0,0 +1,11 @@ +.. _rna_enum_views_format_multilayer_items: + +Views Format Multilayer Items +############################# + +:INDIVIDUAL: Individual. + + Individual files for each view with the prefix as defined by the scene views. +:MULTIVIEW: Multi-View. + + Single file with all the views. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/views_format_multiview_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/views_format_multiview_items.rst new file mode 100644 index 0000000..16e6920 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/views_format_multiview_items.rst @@ -0,0 +1,14 @@ +.. _rna_enum_views_format_multiview_items: + +Views Format Multiview Items +############################ + +:INDIVIDUAL: Individual. + + Individual files for each view with the prefix as defined by the scene views. +:STEREO_3D: Stereo 3D. + + Single file with an encoded stereo pair. +:MULTIVIEW: Multi-View. + + Single file with all the views. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/volume_grid_data_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/volume_grid_data_type_items.rst new file mode 100644 index 0000000..60725f1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/volume_grid_data_type_items.rst @@ -0,0 +1,38 @@ +.. _rna_enum_volume_grid_data_type_items: + +Volume Grid Data Type Items +########################### + +:BOOLEAN: Boolean. + + Boolean. +:FLOAT: Float. + + Single precision float. +:DOUBLE: Double. + + Double precision. +:INT: Integer. + + 32-bit integer. +:INT64: Integer 64-bit. + + 64-bit integer. +:MASK: Mask. + + No data, boolean mask of active voxels. +:VECTOR_FLOAT: Vector. + + 3D float vector. +:VECTOR_DOUBLE: Double Vector. + + 3D double vector. +:VECTOR_INT: Integer Vector. + + 3D integer vector. +:POINTS: Points (Unsupported). + + Points grid, currently unsupported by volume objects. +:UNKNOWN: Unknown. + + Unsupported data type. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/window_cursor_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/window_cursor_items.rst new file mode 100644 index 0000000..f268572 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/window_cursor_items.rst @@ -0,0 +1,57 @@ +.. _rna_enum_window_cursor_items: + +Window Cursor Items +################### + +:DEFAULT: Default. + +:NONE: None. + +:WAIT: Wait. + +:CROSSHAIR: Crosshair. + +:MOVE_X: Move-X. + +:MOVE_Y: Move-Y. + +:KNIFE: Knife. + +:TEXT: Text. + +:PAINT_BRUSH: Paint Brush. + +:PAINT_CROSS: Paint Cross. + +:DOT: Dot Cursor. + +:ERASER: Eraser. + +:HAND: Open Hand. + +:HAND_POINT: Pointing Hand. + +:HAND_CLOSED: Closed Hand. + +:SCROLL_X: Scroll-X. + +:SCROLL_Y: Scroll-Y. + +:SCROLL_XY: Scroll-XY. + +:EYEDROPPER: Eyedropper. + +:PICK_AREA: Pick Area. + +:STOP: Stop. + +:COPY: Copy. + +:CROSS: Cross. + +:MUTE: Mute. + +:ZOOM_IN: Zoom In. + +:ZOOM_OUT: Zoom Out. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/wm_job_type_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/wm_job_type_items.rst new file mode 100644 index 0000000..bc47db6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/wm_job_type_items.rst @@ -0,0 +1,15 @@ +.. _rna_enum_wm_job_type_items: + +Wm Job Type Items +################# + +:RENDER: Regular rendering. + +:RENDER_PREVIEW: Rendering previews. + +:OBJECT_BAKE: Object Baking. + +:COMPOSITE: Compositing. + +:SHADER_COMPILATION: Shader compilation. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/wm_report_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/wm_report_items.rst new file mode 100644 index 0000000..df7df8e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/wm_report_items.rst @@ -0,0 +1,23 @@ +.. _rna_enum_wm_report_items: + +Wm Report Items +############### + +:DEBUG: Debug. + +:INFO: Info. + +:OPERATOR: Operator. + +:PROPERTY: Property. + +:WARNING: Warning. + +:ERROR: Error. + +:ERROR_INVALID_INPUT: Invalid Input. + +:ERROR_INVALID_CONTEXT: Invalid Context. + +:ERROR_OUT_OF_MEMORY: Out of Memory. + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/workspace_object_mode_items.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/workspace_object_mode_items.rst new file mode 100644 index 0000000..09f580e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/bpy_types_enum_items/workspace_object_mode_items.rst @@ -0,0 +1,36 @@ +.. _rna_enum_workspace_object_mode_items: + +Workspace Object Mode Items +########################### + +:OBJECT: Object Mode. + +:EDIT: Edit Mode. + +:POSE: Pose Mode. + +:SCULPT: Sculpt Mode. + +:VERTEX_PAINT: Vertex Paint. + +:WEIGHT_PAINT: Weight Paint. + +:TEXTURE_PAINT: Texture Paint. + +:PARTICLE_EDIT: Particle Edit. + +:EDIT_GPENCIL: Grease Pencil Edit Mode. + + Edit Grease Pencil Strokes. +:SCULPT_GREASE_PENCIL: Grease Pencil Sculpt Mode. + + Sculpt Grease Pencil Strokes. +:PAINT_GREASE_PENCIL: Grease Pencil Draw. + + Paint Grease Pencil Strokes. +:VERTEX_GREASE_PENCIL: Grease Pencil Vertex Paint. + + Grease Pencil Vertex Paint Strokes. +:WEIGHT_GREASE_PENCIL: Grease Pencil Weight Paint. + + Grease Pencil Weight Paint Strokes. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/change_log.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/change_log.rst new file mode 100644 index 0000000..ef289cd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/change_log.rst @@ -0,0 +1,610 @@ +:tocdepth: 2 + +Change Log +********** + +Changes in Blender's Python API between releases. + +.. note, this document is auto generated by sphinx_changelog_gen.py + + +2.83 to 2.90 +============ + +bpy.types.CyclesPreferences +--------------------------- + +Added +^^^^^ + +* :class:`bpy.types.CyclesPreferences.peer_memory` + +bpy.types.BakeSettings +---------------------- + +Added +^^^^^ + +* :class:`bpy.types.BakeSettings.max_ray_distance` + +bpy.types.BlendDataLibraries +---------------------------- + +Added +^^^^^ + +* :class:`bpy.types.BlendDataLibraries.remove` + +bpy.types.BrushCapabilitiesSculpt +--------------------------------- + +Added +^^^^^ + +* :class:`bpy.types.BrushCapabilitiesSculpt.has_color` + +bpy.types.BrushGpencilSettings +------------------------------ + +Added +^^^^^ + +* :class:`bpy.types.BrushGpencilSettings.curve_random_hue` +* :class:`bpy.types.BrushGpencilSettings.curve_random_pressure` +* :class:`bpy.types.BrushGpencilSettings.curve_random_saturation` +* :class:`bpy.types.BrushGpencilSettings.curve_random_strength` +* :class:`bpy.types.BrushGpencilSettings.curve_random_uv` +* :class:`bpy.types.BrushGpencilSettings.curve_random_value` +* :class:`bpy.types.BrushGpencilSettings.random_hue_factor` +* :class:`bpy.types.BrushGpencilSettings.random_saturation_factor` +* :class:`bpy.types.BrushGpencilSettings.random_value_factor` +* :class:`bpy.types.BrushGpencilSettings.use_random_press_hue` +* :class:`bpy.types.BrushGpencilSettings.use_random_press_radius` +* :class:`bpy.types.BrushGpencilSettings.use_random_press_sat` +* :class:`bpy.types.BrushGpencilSettings.use_random_press_strength` +* :class:`bpy.types.BrushGpencilSettings.use_random_press_uv` +* :class:`bpy.types.BrushGpencilSettings.use_random_press_val` +* :class:`bpy.types.BrushGpencilSettings.use_stroke_random_hue` +* :class:`bpy.types.BrushGpencilSettings.use_stroke_random_radius` +* :class:`bpy.types.BrushGpencilSettings.use_stroke_random_sat` +* :class:`bpy.types.BrushGpencilSettings.use_stroke_random_strength` +* :class:`bpy.types.BrushGpencilSettings.use_stroke_random_uv` +* :class:`bpy.types.BrushGpencilSettings.use_stroke_random_val` + +bpy.types.ClothSettings +----------------------- + +Added +^^^^^ + +* :class:`bpy.types.ClothSettings.fluid_density` + +bpy.types.DopeSheet +------------------- + +Added +^^^^^ + +* :class:`bpy.types.DopeSheet.show_hairs` +* :class:`bpy.types.DopeSheet.show_pointclouds` + +bpy.types.FieldSettings +----------------------- + +Added +^^^^^ + +* :class:`bpy.types.FieldSettings.wind_factor` + +bpy.types.FileSelectIDFilter +---------------------------- + +Added +^^^^^ + +* :class:`bpy.types.FileSelectIDFilter.filter_hair` +* :class:`bpy.types.FileSelectIDFilter.filter_pointcloud` +* :class:`bpy.types.FileSelectIDFilter.filter_simulation` + +bpy.types.FluidDomainSettings +----------------------------- + +Added +^^^^^ + +* :class:`bpy.types.FluidDomainSettings.cache_frame_offset` +* :class:`bpy.types.FluidDomainSettings.cache_resumable` +* :class:`bpy.types.FluidDomainSettings.sys_particle_maximum` + +Renamed +^^^^^^^ + +* **data_depth** -> :class:`bpy.types.FluidDomainSettings.openvdb_data_depth` + +bpy.types.GPencilFrame +---------------------- + +Added +^^^^^ + +* :class:`bpy.types.GPencilFrame.keyframe_type` + +bpy.types.GPencilStrokePoint +---------------------------- + +Added +^^^^^ + +* :class:`bpy.types.GPencilStrokePoint.uv_fill` + +bpy.types.Gizmo +--------------- + +Added +^^^^^ + +* :class:`bpy.types.Gizmo.hide_keymap` +* :class:`bpy.types.Gizmo.use_tooltip` + +bpy.types.BuildGpencilModifier +------------------------------ + +Added +^^^^^ + +* :class:`bpy.types.BuildGpencilModifier.percentage_factor` +* :class:`bpy.types.BuildGpencilModifier.use_percentage` + +bpy.types.Brush +--------------- + +Added +^^^^^ + +* :class:`bpy.types.Brush.density` +* :class:`bpy.types.Brush.disconnected_distance_max` +* :class:`bpy.types.Brush.flow` +* :class:`bpy.types.Brush.invert_density_pressure` +* :class:`bpy.types.Brush.invert_flow_pressure` +* :class:`bpy.types.Brush.invert_hardness_pressure` +* :class:`bpy.types.Brush.invert_wet_mix_pressure` +* :class:`bpy.types.Brush.invert_wet_persistence_pressure` +* :class:`bpy.types.Brush.pose_deform_type` +* :class:`bpy.types.Brush.slide_deform_type` +* :class:`bpy.types.Brush.smear_deform_type` +* :class:`bpy.types.Brush.tip_scale_x` +* :class:`bpy.types.Brush.use_connected_only` +* :class:`bpy.types.Brush.use_density_pressure` +* :class:`bpy.types.Brush.use_flow_pressure` +* :class:`bpy.types.Brush.use_hardness_pressure` +* :class:`bpy.types.Brush.use_wet_mix_pressure` +* :class:`bpy.types.Brush.use_wet_persistence_pressure` +* :class:`bpy.types.Brush.wet_mix` +* :class:`bpy.types.Brush.wet_persistence` + +bpy.types.Mesh +-------------- + +Added +^^^^^ + +* :class:`bpy.types.Mesh.sculpt_vertex_colors` +* :class:`bpy.types.Mesh.use_remesh_preserve_vertex_colors` + +bpy.types.Scene +--------------- + +Function Arguments +^^^^^^^^^^^^^^^^^^ + +* :class:`bpy.types.Scene.alembic_export` (filepath, frame_start, frame_end, xform_samples, geom_samples, shutter_open, shutter_close, selected_only, uvs, normals, vcolors, apply_subdiv, flatten, visible_objects_only, renderable_only, face_sets, subdiv_schema, export_hair, export_particles, packuv, scale, triangulate, quad_method, ngon_method), *was (filepath, frame_start, frame_end, xform_samples, geom_samples, shutter_open, shutter_close, selected_only, uvs, normals, vcolors, apply_subdiv, flatten, visible_objects_only, renderable_only, face_sets, subdiv_schema, export_hair, export_particles, compression_type, packuv, scale, triangulate, quad_method, ngon_method)* + +bpy.types.Screen +---------------- + +Added +^^^^^ + +* :class:`bpy.types.Screen.is_scrubbing` +* :class:`bpy.types.Screen.statusbar_info` + +bpy.types.IDOverrideLibrary +--------------------------- + +Removed +^^^^^^^ + +* **auto_generate** + +bpy.types.BevelModifier +----------------------- + +Added +^^^^^ + +* :class:`bpy.types.BevelModifier.affect` +* :class:`bpy.types.BevelModifier.profile_type` + +Removed +^^^^^^^ + +* **use_custom_profile** +* **use_only_vertices** + +bpy.types.MultiresModifier +-------------------------- + +Added +^^^^^ + +* :class:`bpy.types.MultiresModifier.use_custom_normals` + +bpy.types.OceanModifier +----------------------- + +Added +^^^^^ + +* :class:`bpy.types.OceanModifier.invert_spray` +* :class:`bpy.types.OceanModifier.spray_layer_name` +* :class:`bpy.types.OceanModifier.use_spray` + +bpy.types.SubsurfModifier +------------------------- + +Added +^^^^^ + +* :class:`bpy.types.SubsurfModifier.use_custom_normals` + +bpy.types.VertexWeightEditModifier +---------------------------------- + +Added +^^^^^ + +* :class:`bpy.types.VertexWeightEditModifier.normalize` + +bpy.types.VertexWeightMixModifier +--------------------------------- + +Added +^^^^^ + +* :class:`bpy.types.VertexWeightMixModifier.invert_vertex_group_a` +* :class:`bpy.types.VertexWeightMixModifier.invert_vertex_group_b` +* :class:`bpy.types.VertexWeightMixModifier.normalize` + +bpy.types.VertexWeightProximityModifier +--------------------------------------- + +Added +^^^^^ + +* :class:`bpy.types.VertexWeightProximityModifier.normalize` + +bpy.types.MovieTrackingCamera +----------------------------- + +Added +^^^^^ + +* :class:`bpy.types.MovieTrackingCamera.nuke_k1` +* :class:`bpy.types.MovieTrackingCamera.nuke_k2` + +bpy.types.ShaderNodeTexSky +-------------------------- + +Added +^^^^^ + +* :class:`bpy.types.ShaderNodeTexSky.air_density` +* :class:`bpy.types.ShaderNodeTexSky.altitude` +* :class:`bpy.types.ShaderNodeTexSky.dust_density` +* :class:`bpy.types.ShaderNodeTexSky.ozone_density` +* :class:`bpy.types.ShaderNodeTexSky.sun_disc` +* :class:`bpy.types.ShaderNodeTexSky.sun_elevation` +* :class:`bpy.types.ShaderNodeTexSky.sun_intensity` +* :class:`bpy.types.ShaderNodeTexSky.sun_rotation` +* :class:`bpy.types.ShaderNodeTexSky.sun_size` + +bpy.types.NodeSocketInterface +----------------------------- + +Added +^^^^^ + +* :class:`bpy.types.NodeSocketInterface.NWViewerSocket` +* :class:`bpy.types.NodeSocketInterface.hide_value` + +bpy.types.ObjectConstraints +--------------------------- + +Added +^^^^^ + +* :class:`bpy.types.ObjectConstraints.copy` + +bpy.types.Sculpt +---------------- + +Removed +^^^^^^^ + +* **use_threaded** + +bpy.types.Panel +--------------- + +Added +^^^^^ + +* :class:`bpy.types.Panel.list_panel_index` + +bpy.types.PoseBoneConstraints +----------------------------- + +Added +^^^^^ + +* :class:`bpy.types.PoseBoneConstraints.copy` + +bpy.types.PreferencesEdit +------------------------- + +Added +^^^^^ + +* :class:`bpy.types.PreferencesEdit.collection_instance_empty_size` +* :class:`bpy.types.PreferencesEdit.use_duplicate_hair` +* :class:`bpy.types.PreferencesEdit.use_duplicate_pointcloud` + +bpy.types.PreferencesExperimental +--------------------------------- + +Added +^^^^^ + +* :class:`bpy.types.PreferencesExperimental.use_cycles_debug` +* :class:`bpy.types.PreferencesExperimental.use_new_hair_type` +* :class:`bpy.types.PreferencesExperimental.use_new_particle_system` +* :class:`bpy.types.PreferencesExperimental.use_sculpt_vertex_colors` + +Removed +^^^^^^^ + +* **use_menu_search** + +bpy.types.PreferencesView +------------------------- + +Added +^^^^^ + +* :class:`bpy.types.PreferencesView.show_statusbar_memory` +* :class:`bpy.types.PreferencesView.show_statusbar_stats` +* :class:`bpy.types.PreferencesView.show_statusbar_version` +* :class:`bpy.types.PreferencesView.show_statusbar_vram` + +bpy.types.CyclesCurveRenderSettings +----------------------------------- + +Removed +^^^^^^^ + +* **cull_backfacing** +* **primitive** +* **resolution** +* **use_curves** + +bpy.types.CyclesObjectSettings +------------------------------ + +Added +^^^^^ + +* :class:`bpy.types.CyclesObjectSettings.shadow_terminator_offset` + +bpy.types.CyclesRenderLayerSettings +----------------------------------- + +Added +^^^^^ + +* :class:`bpy.types.CyclesRenderLayerSettings.denoising_openimagedenoise_input_passes` + +Removed +^^^^^^^ + +* **use_optix_denoising** + +bpy.types.CyclesRenderSettings +------------------------------ + +Added +^^^^^ + +* :class:`bpy.types.CyclesRenderSettings.debug_optix_curves_api` +* :class:`bpy.types.CyclesRenderSettings.denoiser` +* :class:`bpy.types.CyclesRenderSettings.preview_denoiser` +* :class:`bpy.types.CyclesRenderSettings.use_denoising` +* :class:`bpy.types.CyclesRenderSettings.use_preview_denoising` + +Removed +^^^^^^^ + +* **preview_denoising** +* **use_bvh_embree** + +bpy.types.RenderEngine +---------------------- + +Added +^^^^^ + +* :class:`bpy.types.RenderEngine.bl_use_gpu_context` + +Function Arguments +^^^^^^^^^^^^^^^^^^ + +* :class:`bpy.types.RenderEngine.bake` (depsgraph, object, pass_type, pass_filter, width, height), *was (depsgraph, object, pass_type, pass_filter, object_id, pixel_array, num_pixels, depth, result)* + +bpy.types.CYCLES +---------------- + +Function Arguments +^^^^^^^^^^^^^^^^^^ + +* :class:`bpy.types.CYCLES.bake` (self, depsgraph, obj, pass_type, pass_filter, width, height), *was (self, depsgraph, obj, pass_type, pass_filter, object_id, pixel_array, num_pixels, depth, result)* + +bpy.types.RenderSettings +------------------------ + +Added +^^^^^ + +* :class:`bpy.types.RenderSettings.metadata_input` + +Removed +^^^^^^^ + +* **use_stamp_strip_meta** + +bpy.types.SceneEEVEE +-------------------- + +Added +^^^^^ + +* :class:`bpy.types.SceneEEVEE.motion_blur_depth_scale` +* :class:`bpy.types.SceneEEVEE.motion_blur_max` +* :class:`bpy.types.SceneEEVEE.motion_blur_steps` + +Removed +^^^^^^^ + +* **motion_blur_samples** + +bpy.types.Sequence +------------------ + +Added +^^^^^ + +* :class:`bpy.types.Sequence.invalidate_cache` + +bpy.types.SpeedControlSequence +------------------------------ + +Added +^^^^^ + +* :class:`bpy.types.SpeedControlSequence.frame_interpolation_mode` + +bpy.types.MovieSequence +----------------------- + +Added +^^^^^ + +* :class:`bpy.types.MovieSequence.reload_if_needed` + +bpy.types.ShaderFxPixel +----------------------- + +Added +^^^^^ + +* :class:`bpy.types.ShaderFxPixel.use_antialiasing` + +Removed +^^^^^^^ + +* **color** + +bpy.types.SpaceView3D +--------------------- + +Added +^^^^^ + +* :class:`bpy.types.SpaceView3D.show_object_select_hair` +* :class:`bpy.types.SpaceView3D.show_object_select_pointcloud` +* :class:`bpy.types.SpaceView3D.show_object_viewport_hair` +* :class:`bpy.types.SpaceView3D.show_object_viewport_pointcloud` + +bpy.types.SpaceUVEditor +----------------------- + +Added +^^^^^ + +* :class:`bpy.types.SpaceUVEditor.uv_opacity` + +bpy.types.ThemeInfo +------------------- + +Removed +^^^^^^^ + +* **info_report_error** +* **info_report_info** +* **info_report_warning** + +bpy.types.ToolSettings +---------------------- + +Added +^^^^^ + +* :class:`bpy.types.ToolSettings.use_transform_correct_face_attributes` +* :class:`bpy.types.ToolSettings.use_transform_correct_keep_connected` + +bpy.types.UILayout +------------------ + +Added +^^^^^ + +* :class:`bpy.types.UILayout.prop_decorator` +* :class:`bpy.types.UILayout.template_constraint_header` +* :class:`bpy.types.UILayout.template_constraints` +* :class:`bpy.types.UILayout.template_grease_pencil_modifiers` +* :class:`bpy.types.UILayout.template_modifiers` + +Removed +^^^^^^^ + +* **template_constraint** +* **template_greasepencil_modifier** +* **template_modifier** + +Function Arguments +^^^^^^^^^^^^^^^^^^ + +* :class:`bpy.types.UILayout.column` (align, heading, heading_ctxt, translate), *was (align)* +* :class:`bpy.types.UILayout.row` (align, heading, heading_ctxt, translate), *was (align)* +* :class:`bpy.types.UILayout.template_shaderfx` (), *was (data)* + +bpy.types.View3DOverlay +----------------------- + +Added +^^^^^ + +* :class:`bpy.types.View3DOverlay.display_handle` +* :class:`bpy.types.View3DOverlay.show_stats` +* :class:`bpy.types.View3DOverlay.use_gpencil_canvas_xray` + +Removed +^^^^^^^ + +* **show_curve_handles** + +bpy.types.XrSessionState +------------------------ + +Added +^^^^^ + +* :class:`bpy.types.XrSessionState.reset_to_base_pose` diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/aud.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/aud.0.py new file mode 100644 index 0000000..ed8cff1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/aud.0.py @@ -0,0 +1,22 @@ +""" +Basic Sound Playback +++++++++++++++++++++ + +This script shows how to use the classes: :class:`Device`, :class:`Sound` and +:class:`Handle`. +""" +import aud + +device = aud.Device() +# Load sound file (it can be a video file with audio). +sound = aud.Sound('music.ogg') + +# Play the audio, this return a handle to control play/pause. +handle = device.play(sound) +# If the audio is not too big and will be used often you can buffer it. +sound_buffered = aud.Sound.cache(sound) +handle_buffered = device.play(sound_buffered) + +# Stop the sounds (otherwise they play until their ends). +handle.stop() +handle_buffered.stop() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/blf.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/blf.0.py new file mode 100644 index 0000000..f2402db --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/blf.0.py @@ -0,0 +1,45 @@ +""" +Hello World Text Example +++++++++++++++++++++++++ + +Example of using the blf module. For this module to work we +need to use the GPU module :mod:`gpu` as well. +""" +# Import stand alone modules. +import blf +import bpy + +font_info = { + "font_id": 0, + "handler": None, +} + + +def init(): + """init function - runs once""" + import os + # Create a new font object, use external TTF file. + font_path = bpy.path.abspath('//Zeyada.ttf') + # Store the font index - to use later. + if os.path.exists(font_path): + font_info["font_id"] = blf.load(font_path) + else: + # Default font. + font_info["font_id"] = 0 + + # Set the font drawing routine to run every frame. + font_info["handler"] = bpy.types.SpaceView3D.draw_handler_add( + draw_callback_px, (None, None), 'WINDOW', 'POST_PIXEL') + + +def draw_callback_px(self, context): + """Draw on the viewports""" + # BLF drawing routine. + font_id = font_info["font_id"] + blf.position(font_id, 2, 80, 0) + blf.size(font_id, 50.0) + blf.draw(font_id, "Hello World") + + +if __name__ == '__main__': + init() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/blf.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/blf.1.py new file mode 100644 index 0000000..ad7fd37 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/blf.1.py @@ -0,0 +1,29 @@ +""" +Drawing Text to an Image +++++++++++++++++++++++++ + +Example showing how text can be drawn into an image. +This can be done by binding an image buffer (:mod:`imbuf`) to the font's ID. +""" + +import blf +import imbuf + +image_size = 512, 512 +font_size = 20 + +ibuf = imbuf.new(image_size) + +font_id = blf.load("/path/to/font.ttf") + +blf.color(font_id, 1.0, 1.0, 1.0, 1.0) +blf.size(font_id, font_size) +blf.position(font_id, 0, image_size[1] - font_size, 0) + +blf.enable(font_id, blf.WORD_WRAP) +blf.word_wrap(font_id, image_size[0]) + +with blf.bind_imbuf(font_id, ibuf, display_name="sRGB"): + blf.draw_buffer(font_id, "Lots of wrapped text. " * 50) + +imbuf.write(ibuf, filepath="/path/to/image.png") diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bmesh.ops.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bmesh.ops.1.py new file mode 100644 index 0000000..1576f67 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bmesh.ops.1.py @@ -0,0 +1,107 @@ +# This script uses bmesh operators to make 2 links of a chain. + +import bpy +import bmesh +import math +import mathutils + +# Make a new BMesh +bm = bmesh.new() + +# Add a circle XXX, should return all geometry created, not just verts. +bmesh.ops.create_circle( + bm, + cap_ends=False, + radius=0.2, + segments=8) + + +# Spin and deal with geometry on side 'a' +edges_start_a = bm.edges[:] +geom_start_a = bm.verts[:] + edges_start_a +ret = bmesh.ops.spin( + bm, + geom=geom_start_a, + angle=math.radians(180.0), + steps=8, + axis=(1.0, 0.0, 0.0), + cent=(0.0, 1.0, 0.0)) +edges_end_a = [ele for ele in ret["geom_last"] + if isinstance(ele, bmesh.types.BMEdge)] +del ret + + +# Extrude and create geometry on side 'b' +ret = bmesh.ops.extrude_edge_only( + bm, + edges=edges_start_a) +geom_extrude_mid = ret["geom"] +del ret + + +# Collect the edges to spin XXX, 'extrude_edge_only' could return this. +verts_extrude_b = [ele for ele in geom_extrude_mid + if isinstance(ele, bmesh.types.BMVert)] +edges_extrude_b = [ele for ele in geom_extrude_mid + if isinstance(ele, bmesh.types.BMEdge) and ele.is_boundary] +bmesh.ops.translate( + bm, + verts=verts_extrude_b, + vec=(0.0, 0.0, 1.0)) + + +# Create the circle on side 'b' +ret = bmesh.ops.spin( + bm, + geom=verts_extrude_b + edges_extrude_b, + angle=-math.radians(180.0), + steps=8, + axis=(1.0, 0.0, 0.0), + cent=(0.0, 1.0, 1.0)) +edges_end_b = [ele for ele in ret["geom_last"] + if isinstance(ele, bmesh.types.BMEdge)] +del ret + + +# Bridge the resulting edge loops of both spins 'a & b' +bmesh.ops.bridge_loops( + bm, + edges=edges_end_a + edges_end_b) + + +# Now we have made a links of the chain, make a copy and rotate it +# (so this looks something like a chain) + +ret = bmesh.ops.duplicate( + bm, + geom=bm.verts[:] + bm.edges[:] + bm.faces[:]) +geom_dupe = ret["geom"] +verts_dupe = [ele for ele in geom_dupe if isinstance(ele, bmesh.types.BMVert)] +del ret + +# position the new link +bmesh.ops.translate( + bm, + verts=verts_dupe, + vec=(0.0, 0.0, 2.0)) +bmesh.ops.rotate( + bm, + verts=verts_dupe, + cent=(0.0, 1.0, 0.0), + matrix=mathutils.Matrix.Rotation(math.radians(90.0), 3, 'Z')) + +# Done with creating the mesh, simply link it into the scene so we can see it + +# Finish up, write the bmesh into a new mesh +me = bpy.data.meshes.new("Mesh") +bm.to_mesh(me) +bm.free() + + +# Add the mesh to the scene +obj = bpy.data.objects.new("Object", me) +bpy.context.collection.objects.link(obj) + +# Select and make active +bpy.context.view_layer.objects.active = obj +obj.select_set(True) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.driver_namespace.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.driver_namespace.0.py new file mode 100644 index 0000000..31c854b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.driver_namespace.0.py @@ -0,0 +1,39 @@ +""" +File Loading & Order of Initialization + Since drivers may be evaluated immediately after loading a blend-file it is necessary + to ensure the driver name-space is initialized beforehand. + + This can be done by registering text data-blocks to execute on startup, + which executes the scripts before drivers are evaluated. + See *Text -> Register* from Blender's text editor. + + .. hint:: + + You may prefer to use external files instead of Blender's text-blocks. + This can be done using a text-block which executes an external file. + + This example runs ``driver_namespace.py`` located in the same directory as the text-blocks blend-file: + + .. code-block:: + + import os + import bpy + blend_dir = os.path.normpath(os.path.join(__file__, "..", "..")) + bpy.utils.execfile(os.path.join(blend_dir, "driver_namespace.py")) + + Using ``__file__`` ensures the text resolves to the expected path even when library-linked from another file. + + Other methods of populating the drivers name-space can be made to work but tend to be error prone: + + Using The ``--python`` command line argument to populate name-space often fails to achieve the desired goal + because the initial evaluation will lookup a function that doesn't exist yet, + marking the driver as invalid - preventing further evaluation. + + Populating the driver name-space before the blend-file loads also doesn't work + since opening a file clears the name-space. + + It is possible to run a script via the ``--python`` command line argument, before the blend file. + This can register a load-post handler (:mod:`bpy.app.handlers.load_post`) that initializes the name-space. + While this works for background tasks it has the downside that opening the file from the file selector + won't setup the name-space. +""" diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.handlers.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.handlers.0.py new file mode 100644 index 0000000..8081151 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.handlers.0.py @@ -0,0 +1,15 @@ +""" +Basic Handler Example ++++++++++++++++++++++ + +This script shows the most simple example of adding a handler. +""" + +import bpy + + +def my_handler(scene): + print("Frame Change", scene.frame_current) + + +bpy.app.handlers.frame_change_pre.append(my_handler) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.handlers.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.handlers.1.py new file mode 100644 index 0000000..cd24873 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.handlers.1.py @@ -0,0 +1,21 @@ +""" +Persistent Handler Example +++++++++++++++++++++++++++ + +By default handlers are freed when loading new files, in some cases you may +want the handler stay running across multiple files (when the handler is +part of an add-on for example). + +For this the :data:`bpy.app.handlers.persistent` decorator needs to be used. +""" + +import bpy +from bpy.app.handlers import persistent + + +@persistent +def load_handler(dummy): + print("Load Handler:", bpy.data.filepath) + + +bpy.app.handlers.load_post.append(load_handler) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.handlers.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.handlers.2.py new file mode 100644 index 0000000..cbaf7c4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.handlers.2.py @@ -0,0 +1,24 @@ +""" +Note on Altering Data ++++++++++++++++++++++ + +Altering data from handlers should be done carefully. While rendering the +``frame_change_pre`` and ``frame_change_post`` handlers are called from one +thread and the viewport updates from a different thread. If the handler changes +data that is accessed by the viewport, this can cause a crash of Blender. In +such cases, lock the interface (Render → Lock Interface or +:data:`bpy.types.RenderSettings.use_lock_interface`) before starting a render. + +Below is an example of a mesh that is altered from a handler: +""" + + +def frame_change_pre(scene): + # A triangle that shifts in the z direction. + zshift = scene.frame_current * 0.1 + vertices = [(-1, -1, zshift), (1, -1, zshift), (0, 1, zshift)] + triangles = [(0, 1, 2)] + + object = bpy.data.objects["The Object"] + object.data.clear_geometry() + object.data.from_pydata(vertices, [], triangles) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.1.py new file mode 100644 index 0000000..a8ce7fd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.1.py @@ -0,0 +1,12 @@ +""" +Run a Function in x Seconds +--------------------------- +""" +import bpy + + +def in_5_seconds(): + print("Hello World") + + +bpy.app.timers.register(in_5_seconds, first_interval=5) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.2.py new file mode 100644 index 0000000..e17d43c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.2.py @@ -0,0 +1,13 @@ +""" +Run a Function every x Seconds +------------------------------ +""" +import bpy + + +def every_2_seconds(): + print("Hello World") + return 2.0 + + +bpy.app.timers.register(every_2_seconds) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.3.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.3.py new file mode 100644 index 0000000..a738f9c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.3.py @@ -0,0 +1,19 @@ +""" +Run a Function n times every x seconds +-------------------------------------- +""" +import bpy + +counter = 0 + + +def run_10_times(): + global counter + counter += 1 + print(counter) + if counter == 10: + return None + return 0.1 + + +bpy.app.timers.register(run_10_times) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.4.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.4.py new file mode 100644 index 0000000..c14bc15 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.timers.4.py @@ -0,0 +1,14 @@ +""" +Assign parameters to functions +------------------------------ +""" +import bpy +import functools + + +def print_message(message): + print("Message:", message) + + +bpy.app.timers.register(functools.partial(print_message, "Hello"), first_interval=2.0) +bpy.app.timers.register(functools.partial(print_message, "World"), first_interval=3.0) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.translations.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.translations.0.py new file mode 100644 index 0000000..9e672fb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.app.translations.0.py @@ -0,0 +1,93 @@ +""" +Introduction +------------ + +.. warning:: + + Most of this object should only be useful if you actually manipulate i18n stuff from Python. + If you are a regular add-on, you should only bother about :const:`contexts` member, + and the :func:`register`/:func:`unregister` functions! The :func:`pgettext` family of functions + should only be used in rare, specific cases (like e.g. complex "composited" UI strings...). + +To add translations to your Python script, you must define a dictionary formatted like that: +``{locale: {msg_key: msg_translation, ...}, ...}`` where: + +- locale is either a lang ISO code (e.g. ``fr``), a lang+country code (e.g. ``pt_BR``), + a lang+variant code (e.g. ``sr@latin``), or a full code (e.g. ``uz_UZ@cyrilic``). +- msg_key is a tuple (context, org message) - use, as much as possible, the predefined :const:`contexts`. +- msg_translation is the translated message in given language! + +Then, call ``bpy.app.translations.register(__name__, your_dict)`` in your ``register()`` function, and +``bpy.app.translations.unregister(__name__)`` in your ``unregister()`` one. + +The ``Manage UI translations`` add-on has several functions to help you collect strings to translate, and +generate the needed Python code (the translation dictionary), as well as optional intermediary po files +if you want some... See +`How to Translate Blender `_ and +`Using i18n in Blender Code `_ +for more info. + +Module References +----------------- + +""" + +import bpy + +# This block can be automatically generated by UI translations addon, which also handles conversion with PO format. +# See also https://developer.blender.org/docs/handbook/translating/translator_guide/#translating-non-official-add-ons +# It can (should) also be put in a different, specific py file. + +# ##### BEGIN AUTOGENERATED I18N SECTION ##### +# NOTE: You can safely move around this auto-generated block (with the begin/end markers!), +# and edit the translations by hand. +# Just carefully respect the format of the tuple! + +# Tuple of tuples ((msgctxt, msgid), (sources, gen_comments), (lang, translation, (is_fuzzy, comments)), ...) +translations_tuple = ( + (("*", ""), + ((), ()), + ("fr_FR", "Project-Id-Version: Copy Settings 0.1.5 (r0)\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2013-04-18 15:27:45.563524\nPO-Revision-Date: 2013-04-18 15:38+0100\nLast-Translator: Bastien Montagne \nLanguage-Team: LANGUAGE \nLanguage: __POT__\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n", + (False, + ("Blender's translation file (po format).", + "Copyright (C) 2013 The Blender Foundation.", + "This file is distributed under the same license as the Blender package.", + "FIRST AUTHOR , YEAR."))), + ), + (("Operator", "Render: Copy Settings"), + (("bpy.types.SCENE_OT_render_copy_settings",), + ()), + ("fr_FR", "Rendu: copier réglages", + (False, ())), + ), + (("*", "Copy render settings from current scene to others"), + (("bpy.types.SCENE_OT_render_copy_settings",), + ()), + ("fr_FR", "Copier les réglages de rendu depuis la scène courante vers d’autres", + (False, ())), + ), + # ... etc, all messages from your addon. +) + +translations_dict = {} +for msg in translations_tuple: + key = msg[0] + for lang, trans, (is_fuzzy, comments) in msg[2:]: + if trans and not is_fuzzy: + translations_dict.setdefault(lang, {})[key] = trans + +# ##### END AUTOGENERATED I18N SECTION ##### + +# Define remaining addon (operators, UI...) here. + + +def register(): + # Usual operator/UI/etc. registration... + + bpy.app.translations.register(__name__, translations_dict) + + +def unregister(): + bpy.app.translations.unregister(__name__) + + # Usual operator/UI/etc. unregistration... diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.context.property.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.context.property.0.py new file mode 100644 index 0000000..dc4b7f0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.context.property.0.py @@ -0,0 +1,16 @@ +""" +Get the property associated with a hovered button. +Returns a tuple of the data-block, data path to the property, and array index. + +.. note:: + + When the property doesn't have an associated :class:`bpy.types.ID` non-ID data may be returned. + This may occur when accessing windowing data, for example, operator properties. +""" +import bpy + +# Example inserting keyframe for the hovered property. +active_property = bpy.context.property +if active_property: + datablock, data_path, index = active_property + datablock.keyframe_insert(data_path=data_path, index=index, frame=1) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.data.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.data.0.py new file mode 100644 index 0000000..c672b9f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.data.0.py @@ -0,0 +1,24 @@ +import bpy + + +# Print all objects. +for obj in bpy.data.objects: + print(obj.name) + + +# Print all scene names in a list. +print(bpy.data.scenes.keys()) + + +# Remove mesh Cube. +if "Cube" in bpy.data.meshes: + mesh = bpy.data.meshes["Cube"] + print("removing mesh", mesh) + bpy.data.meshes.remove(mesh) + + +# Write images into a file next to the blend. +import os +with open(os.path.splitext(bpy.data.filepath)[0] + ".txt", 'w') as fs: + for image in bpy.data.images: + fs.write("{:s} {:d} x {:d}\n".format(image.filepath, image.size[0], image.size[1])) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.msgbus.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.msgbus.1.py new file mode 100644 index 0000000..0314491 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.msgbus.1.py @@ -0,0 +1,53 @@ +""" +The message bus system can be used to receive notifications when properties of +Blender data-blocks are changed via the data API. + + +Limitations +----------- + +The message bus system is triggered by updates via the RNA system. This means +that the following updates will result in a notification on the message bus: + +- Changes via the Python API, for example ``some_object.location.x += 3``. +- Changes via the sliders, fields, and buttons in the user interface. + +The following updates do **not** trigger message bus notifications: + +- Moving objects in the 3D Viewport. +- Changes performed by the animation system. + +Changes done from ``msgbus`` callbacks are not included in related undo steps, +so users can easily skip their effects by using Undo followed by Redo. + +Unlike properties ``update`` callbacks, message bus update callbacks are postponed +until all operators have finished executing. +Additionally, for each property the callback is only triggered once per update cycle, +even if the property was changed multiple times during that period. + +Example Use +----------- + +Below is an example of subscription to changes in the active object's location. +""" + +import bpy + +# Any Python object can act as the subscription's owner. +owner = object() + +subscribe_to = bpy.context.object.location + + +def msgbus_callback(*args): + # This will print: + # Something changed! (1, 2, 3) + print("Something changed!", args) + + +bpy.msgbus.subscribe_rna( + key=subscribe_to, + owner=owner, + args=(1, 2, 3), + notify=msgbus_callback, +) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.msgbus.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.msgbus.2.py new file mode 100644 index 0000000..a405672 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.msgbus.2.py @@ -0,0 +1,8 @@ +""" +Some properties are converted to Python objects when you retrieve them. This +needs to be avoided in order to create the subscription, by using +``datablock.path_resolve("property_name", False)``: +""" +import bpy + +subscribe_to = bpy.context.object.path_resolve("name", False) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.msgbus.3.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.msgbus.3.py new file mode 100644 index 0000000..2694d93 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.msgbus.3.py @@ -0,0 +1,7 @@ +""" +It is also possible to create subscriptions on a property of all instances of a +certain type: +""" +import bpy + +subscribe_to = (bpy.types.Object, "location") diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.0.py new file mode 100644 index 0000000..fb5a549 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.0.py @@ -0,0 +1,56 @@ +""" +Calling Operators +----------------- + +Provides Python access to calling operators, this includes operators written in +C++, Python or macros. + +Only keyword arguments can be used to pass operator properties. + +Operators don't have return values as you might expect, +instead they return a set() which is made up of: +``{'RUNNING_MODAL', 'CANCELLED', 'FINISHED', 'PASS_THROUGH'}``. +Common return values are ``{'FINISHED'}`` and ``{'CANCELLED'}``, the latter +meaning that the operator execution was aborted without making any changes or +saving an undo history entry. + +If operator was cancelled but there wasn't any reports from it with ``{'ERROR'}`` type, +it will just return ``{'CANCELLED'}`` without raising any exceptions. +However, if there are error reports, a ``RuntimeError`` will be raised +after the operator finishes execution, including all error report messages, +regardless of the return status (even if it was ``{'FINISHED'}``). + +Calling an operator in the wrong context will raise a ``RuntimeError``, +there is a poll() method to avoid this problem. + +Note that the operator ID (bl_idname) in this example is ``mesh.subdivide``, +``bpy.ops`` is just the access path for Python. + + +Keywords and Positional Arguments +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For calling operators keywords are used for operator properties and +positional arguments are used to define how the operator is called. + +There are 2 optional positional arguments (documented in detail below). + +.. code-block:: python + + bpy.ops.test.operator(execution_context, undo) + +- execution_context - ``str`` (enum). +- undo - ``bool`` type. + + +Each of these arguments is optional, but must be given in the order above. +""" +import bpy + +# Calling an operator. +bpy.ops.mesh.subdivide(number_cuts=3, smoothness=0.5) + + +# Check poll() to avoid exception. +if bpy.ops.object.mode_set.poll(): + bpy.ops.object.mode_set(mode='EDIT') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.1.py new file mode 100644 index 0000000..0b39e4e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.1.py @@ -0,0 +1,31 @@ +""" +Overriding Context +------------------ + +It is possible to override context members that the operator sees, so that they +act on specified rather than the selected or active data, or to execute an +operator in the different part of the user interface. + +The context overrides are passed in as keyword arguments, +with keywords matching the context member names in ``bpy.context``. +For example to override ``bpy.context.active_object``, +you would pass ``active_object=object`` to :class:`bpy.types.Context.temp_override`. + +.. note:: + + You will nearly always want to use a copy of the actual current context as basis + (otherwise, you'll have to find and gather all needed data yourself). + +.. note:: + + Context members are names which Blender uses for data access, + overrides do not extend to overriding methods or any Python specific functionality. +""" + +# Remove all objects in scene rather than the selected ones. +import bpy +from bpy import context +context_override = context.copy() +context_override["selected_objects"] = list(context.scene.objects) +with context.temp_override(**context_override): + bpy.ops.object.delete() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.2.py new file mode 100644 index 0000000..b123823 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.2.py @@ -0,0 +1,34 @@ +""" +.. _operator-execution_context: + +Execution Context +----------------- + +When calling an operator you may want to pass the execution context. + +This determines the context that is given for the operator to run in, and whether +invoke() is called or only execute(). + +``EXEC_DEFAULT`` is used by default, running only the ``execute()`` method, but you may +want the operator to take user interaction with ``INVOKE_DEFAULT`` which will also +call invoke() if existing. + +The execution context is one of: + +- ``INVOKE_DEFAULT`` +- ``INVOKE_REGION_WIN`` +- ``INVOKE_REGION_CHANNELS`` +- ``INVOKE_REGION_PREVIEW`` +- ``INVOKE_AREA`` +- ``INVOKE_SCREEN`` +- ``EXEC_DEFAULT`` +- ``EXEC_REGION_WIN`` +- ``EXEC_REGION_CHANNELS`` +- ``EXEC_REGION_PREVIEW`` +- ``EXEC_AREA`` +- ``EXEC_SCREEN`` +""" + +# Collection add popup. +import bpy +bpy.ops.object.collection_instance_add('INVOKE_DEFAULT') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.3.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.3.py new file mode 100644 index 0000000..e068ab0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.ops.3.py @@ -0,0 +1,16 @@ +""" +It is also possible to run an operator in a particular part of the user +interface. For this we need to pass the window, area and sometimes a region. +""" + +# Maximize 3d view in all windows. +import bpy +from bpy import context + +for window in context.window_manager.windows: + screen = window.screen + for area in screen.areas: + if area.type == 'VIEW_3D': + with context.temp_override(window=window, area=area): + bpy.ops.screen.screen_full_area() + break diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.0.py new file mode 100644 index 0000000..f70eb6f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.0.py @@ -0,0 +1,27 @@ +""" +Assigning to Existing Classes ++++++++++++++++++++++++++++++ + +Custom properties can be added to any subclass of an :class:`ID`, +:class:`Bone` and :class:`PoseBone`. + +These properties can be animated, accessed by the user interface and Python +like Blender's existing properties. + +.. warning:: + + Access to these properties might happen in threaded context, on a per-data-block level. + This has to be carefully considered when using accessors or update callbacks. + + Typically, these callbacks should not affect any other data that the one owned by their data-block. + When accessing external non-Blender data, thread safety mechanisms should be considered. + +""" + +import bpy + +# Assign a custom property to an existing type. +bpy.types.Material.custom_float = bpy.props.FloatProperty(name="Test Property") + +# Test the property is there. +bpy.data.materials[0].custom_float = 5.0 diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.1.py new file mode 100644 index 0000000..94d8615 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.1.py @@ -0,0 +1,64 @@ +""" +Operator Example +++++++++++++++++ + +A common use of custom properties is for Python based :class:`Operator` +classes. Test this code by running it in the text editor, or by clicking the +button in the 3D Viewport's Tools panel. The latter will show the properties +in the Redo panel and allow you to change them. +""" + +import bpy + + +class OBJECT_OT_property_example(bpy.types.Operator): + bl_idname = "object.property_example" + bl_label = "Property Example" + bl_options = {'REGISTER', 'UNDO'} + + my_float: bpy.props.FloatProperty(name="Some Floating Point") + my_bool: bpy.props.BoolProperty(name="Toggle Option") + my_string: bpy.props.StringProperty(name="String Value") + + def execute(self, context): + self.report( + {'INFO'}, "F: {:.2f} B: {!s} S: {!r}".format( + self.my_float, self.my_bool, self.my_string, + ) + ) + print('My float:', self.my_float) + print('My bool:', self.my_bool) + print('My string:', self.my_string) + return {'FINISHED'} + + +class OBJECT_PT_property_example(bpy.types.Panel): + bl_idname = "object_PT_property_example" + bl_label = "Property Example" + bl_space_type = 'VIEW_3D' + bl_region_type = 'UI' + bl_category = "Tool" + + def draw(self, context): + # You can set the property values that should be used when the user + # presses the button in the UI. + props = self.layout.operator('object.property_example') + props.my_bool = True + props.my_string = "Shouldn't that be 47?" + + # You can set properties dynamically: + if context.object: + props.my_float = context.object.location.x + else: + props.my_float = 327 + + +bpy.utils.register_class(OBJECT_OT_property_example) +bpy.utils.register_class(OBJECT_PT_property_example) + +# Demo call. Be sure to also test in the 3D Viewport. +bpy.ops.object.property_example( + my_float=47, + my_bool=True, + my_string="Shouldn't that be 327?", +) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.2.py new file mode 100644 index 0000000..46097c2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.2.py @@ -0,0 +1,27 @@ +""" +PropertyGroup Example ++++++++++++++++++++++ + +PropertyGroups can be used for collecting custom settings into one value +to avoid many individual settings mixed in together. +""" + +import bpy + + +class MaterialSettings(bpy.types.PropertyGroup): + my_int: bpy.props.IntProperty() + my_float: bpy.props.FloatProperty() + my_string: bpy.props.StringProperty() + + +bpy.utils.register_class(MaterialSettings) + +bpy.types.Material.my_settings = bpy.props.PointerProperty(type=MaterialSettings) + +# Test the new settings work. +material = bpy.data.materials[0] + +material.my_settings.my_int = 5 +material.my_settings.my_float = 3.0 +material.my_settings.my_string = "Foo" diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.3.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.3.py new file mode 100644 index 0000000..b8e0045 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.3.py @@ -0,0 +1,34 @@ +""" +Collection Example +++++++++++++++++++ + +Custom properties can be added to any subclass of an :class:`ID`, +:class:`Bone` and :class:`PoseBone`. +""" + +import bpy + + +# Assign a collection. +class SceneSettingItem(bpy.types.PropertyGroup): + name: bpy.props.StringProperty(name="Test Property", default="Unknown") + value: bpy.props.IntProperty(name="Test Property", default=22) + + +bpy.utils.register_class(SceneSettingItem) + +bpy.types.Scene.my_settings = bpy.props.CollectionProperty(type=SceneSettingItem) + +# Assume an armature object selected. +print("Adding 2 values!") + +my_item = bpy.context.scene.my_settings.add() +my_item.name = "Spam" +my_item.value = 1000 + +my_item = bpy.context.scene.my_settings.add() +my_item.name = "Eggs" +my_item.value = 30 + +for my_item in bpy.context.scene.my_settings: + print(my_item.name, my_item.value) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.4.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.4.py new file mode 100644 index 0000000..c451e54 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.4.py @@ -0,0 +1,34 @@ +""" +Update Example +++++++++++++++ + +It can be useful to perform an action when a property is changed and can be +used to update other properties or synchronize with external data. + +All properties define update functions except for CollectionProperty. + +.. warning:: + + Remember that these callbacks may be executed in threaded context. + +.. warning:: + + If the property belongs to an Operator, the update callback's first + parameter will be an OperatorProperties instance, rather than an instance + of the operator itself. This means you can't access other internal functions + of the operator, only its other properties. + +""" + +import bpy + + +def update_func(self, context): + print("my test function", self) + + +bpy.types.Scene.testprop = bpy.props.FloatProperty(update=update_func) + +bpy.context.scene.testprop = 11.0 + +# >>> my test function diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.5.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.5.py new file mode 100644 index 0000000..9b660cc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.props.5.py @@ -0,0 +1,205 @@ +""" +Getter/Setter Example ++++++++++++++++++++++ + +Accessor functions can be used for boolean, int, float, string and enum properties. + +If ``get`` or ``set`` callbacks are defined, the property will not be stored in the ID properties +automatically. Instead, the ``get`` and ``set`` functions will be called when the property +is respectively read or written from the API, and are responsible to handle the data storage. + +Note that: + +- It is illegal to define a ``set`` callback without a matching ``get`` one. +- When a ``get`` callback is defined but no ``set`` one, the property is read-only. + +``get_transform`` and ``set_transform`` can be used when the returned value needs to be modified, +but the default internal storage is still used. They can only transform the value before it is +set or returned, but do not control how/where that data is stored. + +.. note:: + + It is possible to define both ``get``/``set`` and ``get_transform``/``set_transform`` callbacks + for the same property. In practice however, this should rarely be needed, as most 'transform' + operation can also happen within a ``get``/``set`` callback. + +.. warning:: + + Remember that these callbacks may be executed in threaded context. + +.. warning:: + + Take care when accessing other properties in these callbacks, as it can easily trigger + complex issues, such as infinite loops (if e.g. two properties try to also set the other + property's value in their own ``set`` callback), or unexpected side effects due to changes + in data, caused e.g. by an ``update`` callback. + +""" +import bpy + + +scene = bpy.context.scene + + +# Simple property reading/writing from 'custom' IDProperties. +# This is similar to what the RNA would do internally, albeit using it own separate, +# internal 'system' IDProperty storage, since Blender 5.0. +def get_float(self): + return self.get("testprop", 0.0) + + +def set_float(self, value): + self["testprop"] = value + + +bpy.types.Scene.test_float = bpy.props.FloatProperty(get=get_float, set=set_float) + +# Testing the property: +print("test_float:", scene.test_float) +scene.test_float = 7.5 +print("test_float:", scene.test_float) + +# The above outputs: +# test_float: 0.0 +# test_float: 7.5 + + +# Read-only string property, returns the current date. +def get_date(self): + import datetime + return str(datetime.datetime.now()) + + +bpy.types.Scene.test_date = bpy.props.StringProperty(get=get_date) + +# Testing the property: +# scene.test_date = "blah" # This would fail, property is read-only. +print("test_date:", scene.test_date) + +# The above outputs something like: +# test_date: 2018-03-14 11:36:53.158653 + + +# Boolean array. +# - Set function stores a single boolean value, returned as the second component. +# - Array getters must return a list or tuple. +# - Array size must match the property vector size exactly. +def get_array(self): + return (True, self.get("somebool", True)) + + +def set_array(self, values): + self["somebool"] = values[0] and values[1] + + +bpy.types.Scene.test_array = bpy.props.BoolVectorProperty(size=2, get=get_array, set=set_array) + +# Testing the property: +print("test_array:", tuple(scene.test_array)) +scene.test_array = (True, False) +print("test_array:", tuple(scene.test_array)) + +# The above outputs: +# test_array: (True, True) +# test_array: (True, False) + + +# Boolean array, using 'transform' accessors. +# Note how the same result is achieved as with previous get/set example, but using default RNA storage. +# Transform accessors also have access to more information. +# Also note how the stored data _is_ a two-items array. +# - Set function stores a single boolean value, returned as the second component. +# - Array getters must return a list or tuple. +# - Array size must match the property vector size exactly. +def get_array_transform(self, curr_value, is_set): + print("Stored data:", curr_value, "(is set:", is_set, ")") + return (True, curr_value[1]) + + +def set_array_transform(self, new_value, curr_value, is_set): + print("New data:", new_value, "; Stored data:", curr_value, "(is set:", is_set, ")") + return True, new_value[0] and new_value[1] + + +bpy.types.Scene.test_array_transform = bpy.props.BoolVectorProperty( + size=2, get_transform=get_array_transform, set_transform=set_array_transform) + +# Testing the property: +print("test_array_transform:", tuple(scene.test_array_transform)) +scene.test_array_transform = (True, False) +print("test_array_transform:", tuple(scene.test_array_transform)) + +# The above outputs: +# Stored data: (False, False) (is set: False ) +# test_array_transform: (True, False) +# New data: (True, False) ; Stored data: (False, False) (is set: False ) +# Stored data: (True, False) (is set: True ) +# test_array_transform: (True, False) + + +# Enum property. +# Note: the getter/setter callback must use integer identifiers! +test_items = [ + ("RED", "Red", "", 1), + ("GREEN", "Green", "", 2), + ("BLUE", "Blue", "", 3), + ("YELLOW", "Yellow", "", 4), +] + + +def get_enum(self): + import random + return random.randint(1, 4) + + +def set_enum(self, value): + print("setting value", value) + + +bpy.types.Scene.test_enum = bpy.props.EnumProperty(items=test_items, get=get_enum, set=set_enum) + +# Testing the property: +print("test_enum:", scene.test_enum) +scene.test_enum = 'BLUE' +print("test_enum:", scene.test_enum) + +# The above outputs something like: +# test_enum: YELLOW +# setting value 3 +# test_enum: GREEN + + +# String, using 'transform' accessors to validate data before setting/returning it. +def get_string_transform(self, curr_value, is_set): + import os + is_valid_path = os.path.exists(curr_value) + print("Stored data:", curr_value, "(is set:", is_set, ", is valid path:", is_valid_path, ")") + return curr_value if is_valid_path else "" + + +def set_string_transform(self, new_value, curr_value, is_set): + import os + is_valid_path = os.path.exists(new_value) + print("New data:", new_value, "(is_valid_path:", is_valid_path, ");", + "Stored data:", curr_value, "(is set:", is_set, ")") + return new_value if is_valid_path else curr_value + + +bpy.types.Scene.test_string_transform = bpy.props.StringProperty( + subtype='DIR_PATH', + default="an/invalid/path", + get_transform=get_string_transform, + set_transform=set_string_transform, +) + +# Testing the property: +print("test_string_transform:", scene.test_string_transform) +scene.test_string_transform = "try\\to\\find\\me" +print("test_string_transform:", scene.test_string_transform) + +# The above outputs something like: +# Stored data: an/invalid/path (is set: False , is valid path: False ) +# test_string_transform: +# New data: try\to\find\me (is_valid_path: False ) ; Stored data: an/invalid/path (is set: False ) +# Stored data: an/invalid/path (is set: True , is valid path: False ) +# test_string_transform: diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.1.py new file mode 100644 index 0000000..a6f7195 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.1.py @@ -0,0 +1,30 @@ +""" +Action Slots organize animation data within an action. Each action has slots with specific animation +data. An animated data-block specifies an action and a slot, determining the animation data it uses. +See the `Blender Manual `_ +for how Action Slots are used, or the +`technical documentation `_ +for details on the animation system's architecture. + +Create & Access an Action Slot +++++++++++++++++++++++++++++++ + +To get started with Action Slots, you can easily create them by inserting a keyframe on an object. When you do this, +Blender automatically creates an Action & Slot for that data-block. + +""" +import bpy + +# Assume Suzanne mesh is present in the scene. +suzanne = bpy.data.objects["Suzanne"] + +# Create animation data and an action for Suzanne: +# Slot will be automatically created. +suzanne.keyframe_insert("location", index=0) + +# Action slots can be accessed like this: +action = suzanne.animation_data.action +for slot in action.slots: + print(f"Slot Identifier {slot.identifier!r} " + f"with name {slot.name_display!r} " + f"targets ID type {slot.target_id_type!r}") diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.2.py new file mode 100644 index 0000000..357309a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.2.py @@ -0,0 +1,23 @@ +""" +Manually Create an Action Slot +++++++++++++++++++++++++++++++ +If required you can also manually create Action Slots on an Action. Note the ``target_id_type`` +that matches the data-block type. Identifiers start with a prefix based on the ID type, +e.g. "OB" for objects, followed by the name. There can be identifiers like ``OBSuzanne`` +and ``MESuzanne`` and the name (``Suzanne``) can be shared between them. This is intentional, +so that the slots and the datablocks can have the same name. + +""" +import bpy + +# Actions creation. +action = bpy.data.actions.new("SuzanneAction") + +# Creation of slots requires an ID type and a name. +slot = action.slots.new(id_type='OBJECT', name="Suzanne") +print(f"slot type={slot.target_id_type!r} " + f"name={slot.name_display!r} " + f"identifier={slot.identifier!r}") + +# Output: +# slot type=OBJECT name=Suzanne identifier=OBSuzanne diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.3.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.3.py new file mode 100644 index 0000000..0e8bd76 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.3.py @@ -0,0 +1,24 @@ +""" +Explicitly Assigning Action Slots ++++++++++++++++++++++++++++++++++ +An action slot is compatible with a data-block if the slot's ``target_id_type`` matches the data-block's type. +If there are multiple slots on the Action, and you want to just pick the first one that's +compatible, use the following code. ``anim_data.action_suitable_slots`` can be used `after` the +Action has been assigned; it is a list of action slots of that Action, but only the ones that +are actually compatible with the owner of anim_data (in this case, Suzanne). + +""" +import bpy + +# Assume Suzanne mesh is present in the scene. +suzanne = bpy.data.objects["Suzanne"] + +# Create an action with an object slot. +action = bpy.data.actions.new("SuzanneAction") +action.slots.new(id_type='OBJECT', name="Suzanne") + +# If there are multiple slots on the Action, pick the first one that's compatible. +anim_data = suzanne.animation_data_create() +anim_data.action = action +assert anim_data.action_suitable_slots, "expecting at least one suitable slot" +anim_data.action_slot = anim_data.action_suitable_slots[0] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.4.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.4.py new file mode 100644 index 0000000..8f07d24 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ActionSlot.4.py @@ -0,0 +1,17 @@ +""" +Finding Action Slot Users ++++++++++++++++++++++++++ + +To return a list of the data-blocks that are animated by a specific slot of an Action, +use the ``users()`` method of the ActionSlot. + +""" +import bpy + +# Iterate through all actions in the Blender data. +print("Action & slot users:") +for action in bpy.data.actions: + for slot in action.slots: + # Return the data-blocks that are animated by this slot of this action + users = slot.users() + print(f"{action.name:20} slot={slot.identifier:12s} users: {users}") diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.AddonPreferences.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.AddonPreferences.1.py new file mode 100644 index 0000000..3760a90 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.AddonPreferences.1.py @@ -0,0 +1,73 @@ +bl_info = { + "name": "Example Add-on Preferences", + "author": "Your Name Here", + "version": (1, 0), + "blender": (2, 65, 0), + "location": "SpaceBar Search -> Add-on Preferences Example", + "description": "Example Add-on", + "warning": "", + "doc_url": "", + "tracker_url": "", + "category": "Object", +} + + +import bpy +from bpy.types import Operator, AddonPreferences +from bpy.props import StringProperty, IntProperty, BoolProperty + + +class ExampleAddonPreferences(AddonPreferences): + # This must match the add-on name, use `__package__` + # when defining this for add-on extensions or a sub-module of a Python package. + bl_idname = __name__ + + filepath: StringProperty( + name="Example File Path", + subtype='FILE_PATH', + ) + number: IntProperty( + name="Example Number", + default=4, + ) + boolean: BoolProperty( + name="Example Boolean", + default=False, + ) + + def draw(self, context): + layout = self.layout + layout.label(text="This is a preferences view for our add-on") + layout.prop(self, "filepath") + layout.prop(self, "number") + layout.prop(self, "boolean") + + +class OBJECT_OT_addon_prefs_example(Operator): + """Display example preferences""" + bl_idname = "object.addon_prefs_example" + bl_label = "Add-on Preferences Example" + bl_options = {'REGISTER', 'UNDO'} + + def execute(self, context): + preferences = context.preferences + addon_prefs = preferences.addons[__name__].preferences + + info = "Path: {:s}, Number: {:d}, Boolean {!r}".format( + addon_prefs.filepath, addon_prefs.number, addon_prefs.boolean, + ) + self.report({'INFO'}, info) + print(info) + + return {'FINISHED'} + + +# Registration +def register(): + bpy.utils.register_class(OBJECT_OT_addon_prefs_example) + bpy.utils.register_class(ExampleAddonPreferences) + + +def unregister(): + bpy.utils.unregister_class(OBJECT_OT_addon_prefs_example) + bpy.utils.unregister_class(ExampleAddonPreferences) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Attribute.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Attribute.0.py new file mode 100644 index 0000000..6d52f15 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Attribute.0.py @@ -0,0 +1,114 @@ +""" +Attributes are used to store data that corresponds to geometry elements. +Geometry elements are items in one of the geometry domains like points, curves, or faces. + +An attribute has a ``name``, a ``type``, and is stored on a ``domain``. + +``name`` + The name of this attribute. Names have to be unique within the same geometry. + If the name starts with a ``.``, the attribute is hidden from the UI. +``type`` + The type of data that this attribute stores, e.g. a float, integer, color, etc. + See `Attribute Type Items `__. +``domain`` + The geometry domain that the attribute is stored on. + See `Attribute Domain Items `__. + + +Using Attributes +++++++++++++++++ + +Attributes can be stored on geometries like :class:`Mesh`, :class:`Curves`, :class:`PointCloud`, etc. +These geometries have attribute groups (usually called ``attributes``). +Using the groups, attributes can then be accessed by their name: + +.. code-block:: python + + radii = curves.attributes["radius"] + +Creating and storing custom attributes is done using the ``attributes.new`` function: + +.. code-block:: python + + # Add a new attribute named `my_attribute_name` of type `float` on the point domain of the geometry. + my_attribute = curves.attributes.new("my_attribute_name", 'FLOAT', 'POINT') + +Removing attributes can be done like so: + +.. code-block:: python + + attribute = drawing.attributes["some_attribute"] + drawing.attributes.remove(attribute) + +.. note:: + + Some attributes are required and cannot be removed, like ``"position"``. + +Attribute values are read by accessing their ``attribute.data`` collection property. +However, in cases where multiple values should be read at once, +it is better to use the :class:`bpy_prop_collection.foreach_get` function and read the values into a ``numpy`` buffer. + +.. code-block:: python + + import numpy as np + + # Get the radius attribute. + radii = curves.attributes["radius"] + # Print the radius of the first point. + print(radii.data[0].value) + # Output: 0.005 + + # Get the total number of points. + num_points = attributes.domain_size('POINT') + # Create an empty buffer to read all the radii into. + radii_data = np.zeros(num_points, dtype=np.float32) + # Read all the radii of the curves into `radii_data` at once. + radii.data.foreach_get('value', radii_data) + # Print all the radii. + print(radii_data) + # Output: [0.1, 0.2, 0.3, 0.4, ... ] + +.. note:: + + Some attribute types use different named properties to access their value. + Instead of ``value``, vectors use ``vector``, and colors use ``color``. + +Writing to different attribute types is very similar. You can simply assign to a value directly. +Again, when writing to multiple values, it is recommended to use the :class:`bpy_prop_collection.foreach_set` function +to write the values from a ``numpy`` buffer. + +.. code-block:: python + + import numpy as np + + radii = curves.attributes["radius"] + # Write a radius with a value of 0.5 to the first point. + radii.data[0].value = 0.5 + print(radii.data[0].value) + # Output: 0.5 + + num_points = attributes.domain_size('POINT') + # Generate random radii with values between 0.001 and 0.05 using numpy. + new_radii = np.random.uniform(0.001, 0.05, num_points) + # Write the new radii to the radius attribute. + radii.data.foreach_set('value', new_radii) + + +The :class:`bpy_prop_collection.foreach_get` / :class:`bpy_prop_collection.foreach_set` methods require a flat array. +This is sometimes not desirable, e.g. when reading/writing positions, which are 3D vectors. +In these cases, it's possible to use ``np.ravel`` to pass the data as a flat array: + +.. code-block:: python + + num_points = attributes.domain_size('POINT') + positions = curves.attributes['position'] + # Here, we're using a numpy array with shape (num_points, 3) so that each + # element is a 3d vector. + positions_data = np.zeros((num_points, 3), dtype=np.float32) + # The `np.ravel` function will pass the `positions_data` as a flat array + # without changing the original shape. + positions.data.foreach_get('vector', np.ravel(positions_data)) + print(positions_data) + # Output: [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6], ...] + +""" diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.BlendDataLibraries.load.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.BlendDataLibraries.load.0.py new file mode 100644 index 0000000..96f3b0f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.BlendDataLibraries.load.0.py @@ -0,0 +1,34 @@ +import bpy + +filepath = "//link_library.blend" + +# Load a single scene we know the name of. +with bpy.data.libraries.load(filepath) as (data_src, data_dst): + data_dst.scenes = ["Scene"] + + +# Load all meshes. +with bpy.data.libraries.load(filepath) as (data_src, data_dst): + data_dst.meshes = data_src.meshes + + +# Link all objects starting with "A". +with bpy.data.libraries.load(filepath, link=True) as (data_src, data_dst): + data_dst.objects = [name for name in data_src.objects if name.startswith("A")] + + +# Append everything. +with bpy.data.libraries.load(filepath) as (data_src, data_dst): + for attr in dir(data_dst): + setattr(data_dst, attr, getattr(data_src, attr)) + + +# The loaded objects can be accessed from `data_dst` outside of the context +# since loading the data replaces the strings for the data-blocks or None +# if the data-block could not be loaded. +with bpy.data.libraries.load(filepath) as (data_src, data_dst): + data_dst.meshes = data_src.meshes +# Now operate directly on the loaded data. +for mesh in data_dst.meshes: + if mesh is not None: + print(mesh.name) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.BlendDataLibraries.write.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.BlendDataLibraries.write.0.py new file mode 100644 index 0000000..1641d2b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.BlendDataLibraries.write.0.py @@ -0,0 +1,18 @@ +import bpy + +filepath = "//new_library.blend" + +# Write selected objects and their data to a blend file. +data_blocks = set(bpy.context.selected_objects) +bpy.data.libraries.write(filepath, data_blocks) + + +# Write all meshes starting with a capital letter and +# set them with fake-user enabled so they aren't lost on re-saving. +data_blocks = {mesh for mesh in bpy.data.meshes if mesh.name[:1].isupper()} +bpy.data.libraries.write(filepath, data_blocks, fake_user=True) + + +# Write all materials, textures and node groups to a library. +data_blocks = {*bpy.data.materials, *bpy.data.textures, *bpy.data.node_groups} +bpy.data.libraries.write(filepath, data_blocks) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Bone.convert_local_to_pose.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Bone.convert_local_to_pose.0.py new file mode 100644 index 0000000..9556776 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Bone.convert_local_to_pose.0.py @@ -0,0 +1,56 @@ +""" +This method enables conversions between Local and Pose space for bones in +the middle of updating the armature without having to update dependencies +after each change, by manually carrying updated matrices in a recursive walk. +""" + + +def set_pose_matrices(obj, matrix_map): + "Assign pose space matrices of all bones at once, ignoring constraints." + + def rec(pbone, parent_matrix): + if pbone.name in matrix_map: + matrix = matrix_map[pbone.name] + + # # Instead of: + # pbone.matrix = matrix + # bpy.context.view_layer.update() + + # Compute and assign local matrix, using the new parent matrix. + if pbone.parent: + pbone.matrix_basis = pbone.bone.convert_local_to_pose( + matrix, + pbone.bone.matrix_local, + parent_matrix=parent_matrix, + parent_matrix_local=pbone.parent.bone.matrix_local, + invert=True + ) + else: + pbone.matrix_basis = pbone.bone.convert_local_to_pose( + matrix, + pbone.bone.matrix_local, + invert=True + ) + else: + # Compute the updated pose matrix from local and new parent matrix. + if pbone.parent: + matrix = pbone.bone.convert_local_to_pose( + pbone.matrix_basis, + pbone.bone.matrix_local, + parent_matrix=parent_matrix, + parent_matrix_local=pbone.parent.bone.matrix_local, + ) + else: + matrix = pbone.bone.convert_local_to_pose( + pbone.matrix_basis, + pbone.bone.matrix_local, + ) + + # Recursively process children, passing the new matrix through. + for child in pbone.children: + rec(child, matrix) + + # Scan all bone trees from their roots. + for pbone in obj.pose.bones: + if not pbone.parent: + rec(pbone, None) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.1.py new file mode 100644 index 0000000..6213db3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.1.py @@ -0,0 +1,19 @@ +""" +Overriding the context can be used to temporarily activate another ``window`` / ``area`` & ``region``, +as well as other members such as the ``active_object`` or ``bone``. + +Notes: + +- When overriding window, area and regions: the arguments must be consistent, + so any region argument that's passed in must be contained by the current area or the area passed in. + The same goes for the area needing to be contained in the current window. + +- Temporary context overrides may be nested, when this is done, members will be added to the existing overrides. + +- Context members are restored outside the scope of the context-manager. + The only exception to this is when the data is no longer available. + + In the event windowing data was removed (for example), the state of the context is left as-is. + While this isn't likely to happen, explicit window operation such as closing windows or loading a new file + remove the windowing data that was set before the temporary context was created. +""" diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.2.py new file mode 100644 index 0000000..4149ccd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.2.py @@ -0,0 +1,15 @@ +""" +Overriding the context can be useful to set the context after loading files +(which would otherwise be None). For example: +""" + +import bpy +from bpy import context + +# Reload the current file and select all. +bpy.ops.wm.open_mainfile(filepath=bpy.data.filepath) +window = context.window_manager.windows[0] +with context.temp_override(window=window): + bpy.ops.mesh.primitive_uv_sphere_add() + # The context override is needed so it's possible to set edit-mode. + bpy.ops.object.mode_set(mode='EDIT') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.3.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.3.py new file mode 100644 index 0000000..e670bb7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.3.py @@ -0,0 +1,16 @@ +""" +This example shows how it's possible to add an object to the scene in another window. +""" +import bpy +from bpy import context + +win_active = context.window +win_other = None +for win_iter in context.window_manager.windows: + if win_iter != win_active: + win_other = win_iter + break + +# Add cube in the other window. +with context.temp_override(window=win_other): + bpy.ops.mesh.primitive_cube_add() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.4.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.4.py new file mode 100644 index 0000000..7930f63 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Context.temp_override.4.py @@ -0,0 +1,30 @@ +""" +**Logging Context Member Access** + +Context members can be logged by calling ``logging_set(True)`` on the "with" target of a temporary override. +This will log the members that are being accessed during the operation and may +assist in debugging when it is unclear which members need to be overridden. + +In the event an operator fails to execute because of a missing context member, logging may help +identify which member is required. + +This example shows how to log which context members are being accessed. +Log statements are printed to your system's console. + +.. important:: + + Not all operators rely on Context Members and therefore will not be affected by + :class:`bpy.types.Context.temp_override`, use logging to what members if any are accessed. +""" + +import bpy +from bpy import context + +my_objects = [context.scene.camera] + +with context.temp_override(selected_objects=my_objects) as override: + override.logging_set( + True, # Enable logging. + hide_missing=True, # Don't show failed attempts. + ) + bpy.ops.object.delete() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.1.py new file mode 100644 index 0000000..ba7b5cf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.1.py @@ -0,0 +1,60 @@ +""" +Dependency graph: Evaluated ID example +++++++++++++++++++++++++++++++++++++++ + +This example demonstrates access to the evaluated ID (such as object, material, etc.) state from +an original ID. +This is needed every time one needs to access state with animation, constraints, and modifiers +taken into account. +""" +import bpy + + +class OBJECT_OT_evaluated_example(bpy.types.Operator): + """Access evaluated object state and do something with it""" + bl_label = "DEG Access Evaluated Object" + bl_idname = "object.evaluated_example" + + def execute(self, context): + # This is an original object. Its data does not have any modifiers applied. + obj = context.object + if obj is None or obj.type != 'MESH': + self.report({'INFO'}, "No active mesh object to get info from") + return {'CANCELLED'} + # Evaluated object exists within a specific dependency graph. + # We will request evaluated object from the dependency graph which corresponds to the + # current scene and view layer. + # + # NOTE: This call ensure the dependency graph is fully evaluated. This might be expensive + # if changes were made to the scene, but is needed to ensure no dangling or incorrect + # pointers are exposed. + depsgraph = context.evaluated_depsgraph_get() + # Actually request evaluated object. + # + # This object has animation and drivers applied on it, together with constraints and + # modifiers. + # + # For mesh objects the object.data will be a mesh with all modifiers applied. + # This means that in access to vertices or faces after modifier stack happens via fields of + # object_eval.object. + # + # For other types of objects the object_eval.data does not have modifiers applied on it, + # but has animation applied. + # + # NOTE: All ID types have `evaluated_get()`, including materials, node trees, worlds. + object_eval = obj.evaluated_get(depsgraph) + mesh_eval = object_eval.data + self.report({'INFO'}, f"Number of evaluated vertices: {len(mesh_eval.vertices)}") + return {'FINISHED'} + + +def register(): + bpy.utils.register_class(OBJECT_OT_evaluated_example) + + +def unregister(): + bpy.utils.unregister_class(OBJECT_OT_evaluated_example) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.2.py new file mode 100644 index 0000000..cad1498 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.2.py @@ -0,0 +1,45 @@ +""" +Dependency graph: Original object example ++++++++++++++++++++++++++++++++++++++++++ + +This example demonstrates access to the original ID. +Such access is needed to check whether object is selected, or to compare pointers. +""" +import bpy + + +class OBJECT_OT_original_example(bpy.types.Operator): + """Access original object and do something with it""" + bl_label = "DEG Access Original Object" + bl_idname = "object.original_example" + + def check_object_selected(self, object_eval): + # Selection depends on a context and is only valid for original objects. This means we need + # to request the original object from the known evaluated one. + # + # NOTE: All ID types have an `original` field. + obj = object_eval.original + return obj.select_get() + + def execute(self, context): + # NOTE: It seems redundant to iterate over original objects to request evaluated ones + # just to get original back. But we want to keep example as short as possible, but in real + # world there are cases when evaluated object is coming from a more meaningful source. + depsgraph = context.evaluated_depsgraph_get() + for obj in context.editable_objects: + object_eval = obj.evaluated_get(depsgraph) + if self.check_object_selected(object_eval): + self.report({'INFO'}, f"Object is selected: {object_eval.name}") + return {'FINISHED'} + + +def register(): + bpy.utils.register_class(OBJECT_OT_original_example) + + +def unregister(): + bpy.utils.unregister_class(OBJECT_OT_original_example) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.3.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.3.py new file mode 100644 index 0000000..dc542c1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.3.py @@ -0,0 +1,42 @@ +""" +Dependency graph: Iterate over all object instances ++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Sometimes it is needed to know all the instances with their matrices (for example, when writing an +exporter or a custom render engine). +This example shows how to access all objects and instances in the scene. +""" +import bpy + + +class OBJECT_OT_object_instances(bpy.types.Operator): + """Access original object and do something with it""" + bl_label = "DEG Iterate Object Instances" + bl_idname = "object.object_instances" + + def execute(self, context): + depsgraph = context.evaluated_depsgraph_get() + for object_instance in depsgraph.object_instances: + # This is an object which is being instanced. + obj = object_instance.object + # `is_instance` denotes whether the object is coming from instances (as an opposite of + # being an emitting object. ) + if not object_instance.is_instance: + print(f"Object {obj.name} at {object_instance.matrix_world}") + else: + # Instanced will additionally have fields like uv, random_id and others which are + # specific for instances. See Python API for DepsgraphObjectInstance for details, + print(f"Instance of {obj.name} at {object_instance.matrix_world}") + return {'FINISHED'} + + +def register(): + bpy.utils.register_class(OBJECT_OT_object_instances) + + +def unregister(): + bpy.utils.unregister_class(OBJECT_OT_object_instances) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.4.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.4.py new file mode 100644 index 0000000..7867062 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.4.py @@ -0,0 +1,69 @@ +""" +Dependency graph: Object.to_mesh() ++++++++++++++++++++++++++++++++++++ + +Function to get a mesh from any object with geometry. It is typically used by exporters, render +engines and tools that need to access the evaluated mesh as displayed in the viewport. + +Object.to_mesh() is closely interacting with dependency graph: its behavior depends on whether it +is used on original or evaluated object. + +When is used on original object, the result mesh is calculated from the object without taking +animation or modifiers into account: + +- For meshes this is similar to duplicating the source mesh. +- For curves this disables own modifiers, and modifiers of objects used as bevel and taper. +- For meta-balls this produces an empty mesh since polygonization is done as a modifier evaluation. + +When is used on evaluated object all modifiers are taken into account. + +.. note:: The result mesh is owned by the object. It can be freed by calling :meth:`~Object.to_mesh_clear`. +.. note:: + The result mesh must be treated as temporary, and cannot be referenced from objects in the main + database. If the mesh intended to be used in a persistent manner use :meth:`~BlendDataMeshes.new_from_object` + instead. +.. note:: If object does not have geometry (i.e. camera) the functions returns None. +""" +import bpy + + +class OBJECT_OT_object_to_mesh(bpy.types.Operator): + """Convert selected object to mesh and show number of vertices""" + bl_label = "DEG Object to Mesh" + bl_idname = "object.object_to_mesh" + + def execute(self, context): + # Access input original object. + obj = context.object + if obj is None: + self.report({'INFO'}, "No active mesh object to convert to mesh") + return {'CANCELLED'} + # Avoid annoying None checks later on. + if obj.type not in {'MESH', 'CURVE', 'SURFACE', 'FONT', 'META'}: + self.report({'INFO'}, "Object cannot be converted to mesh") + return {'CANCELLED'} + depsgraph = context.evaluated_depsgraph_get() + # Invoke to_mesh() for original object. + mesh_from_orig = obj.to_mesh() + self.report({'INFO'}, f"{len(mesh_from_orig.vertices)} in new mesh without modifiers.") + # Remove temporary mesh. + obj.to_mesh_clear() + # Invoke to_mesh() for evaluated object. + object_eval = obj.evaluated_get(depsgraph) + mesh_from_eval = object_eval.to_mesh() + self.report({'INFO'}, f"{len(mesh_from_eval.vertices)} in new mesh with modifiers.") + # Remove temporary mesh. + object_eval.to_mesh_clear() + return {'FINISHED'} + + +def register(): + bpy.utils.register_class(OBJECT_OT_object_to_mesh) + + +def unregister(): + bpy.utils.unregister_class(OBJECT_OT_object_to_mesh) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.5.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.5.py new file mode 100644 index 0000000..5231459 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.5.py @@ -0,0 +1,57 @@ +""" +Dependency graph: bpy.data.meshes.new_from_object() ++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Function to copy a new mesh from any object with geometry. The mesh is added to the main +database and can be referenced by objects. Typically used by tools that create new objects +or apply modifiers. + +When is used on original object, the result mesh is calculated from the object without taking +animation or modifiers into account: + +- For meshes this is similar to duplicating the source mesh. +- For curves this disables own modifiers, and modifiers of objects used as bevel and taper. +- For meta-balls this produces an empty mesh since polygonization is done as a modifier evaluation. + +When is used on evaluated object all modifiers are taken into account. + +All the references (such as materials) are re-mapped to original. This ensures validity and +consistency of the main database. + +.. note:: If object does not have geometry (i.e. camera) the functions returns None. +""" +import bpy + + +class OBJECT_OT_mesh_from_object(bpy.types.Operator): + """Convert selected object to mesh and show number of vertices""" + bl_label = "DEG Mesh From Object" + bl_idname = "object.mesh_from_object" + + def execute(self, context): + # Access input original object. + obj = context.object + if obj is None: + self.report({'INFO'}, "No active mesh object to convert to mesh") + return {'CANCELLED'} + # Avoid annoying None checks later on. + if obj.type not in {'MESH', 'CURVE', 'SURFACE', 'FONT', 'META'}: + self.report({'INFO'}, "Object cannot be converted to mesh") + return {'CANCELLED'} + depsgraph = context.evaluated_depsgraph_get() + object_eval = obj.evaluated_get(depsgraph) + mesh_from_eval = bpy.data.meshes.new_from_object(object_eval) + self.report({'INFO'}, f"{len(mesh_from_eval.vertices)} in new mesh, and is ready for use!") + return {'FINISHED'} + + +def register(): + bpy.utils.register_class(OBJECT_OT_mesh_from_object) + + +def unregister(): + bpy.utils.unregister_class(OBJECT_OT_mesh_from_object) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.6.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.6.py new file mode 100644 index 0000000..1342b3d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.6.py @@ -0,0 +1,68 @@ +""" +Dependency graph: Simple exporter ++++++++++++++++++++++++++++++++++ + +This example is a combination of all previous ones, and shows how to write a simple exporter +script. +""" +import bpy + + +class OBJECT_OT_simple_exporter(bpy.types.Operator): + """Simple (fake) exporter of selected objects""" + bl_label = "DEG Export Selected" + bl_idname = "object.simple_exporter" + + apply_modifiers: bpy.props.BoolProperty(name="Apply Modifiers") + + def execute(self, context): + depsgraph = context.evaluated_depsgraph_get() + for object_instance in depsgraph.object_instances: + if not self.is_object_instance_from_selected(object_instance): + # We only export selected objects. + continue + # NOTE: This will create a mesh for every instance, which is not ideal at all. In + # reality destination format will support some sort of instancing mechanism, so the + # code here will simply say "instance this object at object_instance.matrix_world". + mesh = self.create_mesh_for_object_instance(object_instance) + if mesh is None: + # Happens for non-geometry objects. + continue + print(f"Exporting mesh with {len(mesh.vertices)} vertices " + f"at {object_instance.matrix_world}") + + self.clear_mesh_for_object_instance(object_instance) + + return {'FINISHED'} + + def is_object_instance_from_selected(self, object_instance): + # For instanced objects we check selection of their instancer (more accurately: check + # selection status of the original object corresponding to the instancer). + if object_instance.parent: + return object_instance.parent.original.select_get() + # For non-instanced objects we check selection state of the original object. + return object_instance.object.original.select_get() + + def create_mesh_for_object_instance(self, object_instance): + if self.apply_modifiers: + return object_instance.object.to_mesh() + else: + return object_instance.object.original.to_mesh() + + def clear_mesh_for_object_instance(self, object_instance): + if self.apply_modifiers: + return object_instance.object.to_mesh_clear() + else: + return object_instance.object.original.to_mesh_clear() + + +def register(): + bpy.utils.register_class(OBJECT_OT_simple_exporter) + + +def unregister(): + bpy.utils.unregister_class(OBJECT_OT_simple_exporter) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.7.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.7.py new file mode 100644 index 0000000..e49ed69 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Depsgraph.7.py @@ -0,0 +1,63 @@ +""" +Dependency graph: Object.to_curve() ++++++++++++++++++++++++++++++++++++ + +Function to get a curve from text and curve objects. It is typically used by exporters, render +engines, and tools that need to access the curve representing the object. + +The function takes the evaluated dependency graph as a required parameter and optionally a boolean +apply_modifiers which defaults to false. If apply_modifiers is true and the object is a curve object, +the spline deform modifiers are applied on the control points. Note that constructive modifiers and +modifiers that are not spline-enabled will not be applied. So modifiers like Array will not be applied +and deform modifiers that have Apply On Spline disabled will not be applied. + +If the object is a text object. The text will be converted into a 3D curve and returned. Modifiers are +never applied on text objects and apply_modifiers will be ignored. If the object is neither a curve nor +a text object, an error will be reported. + +.. note:: The resulting curve is owned by the object. It can be freed by calling :meth:`~Object.to_curve_clear`. +.. note:: + The resulting curve must be treated as temporary, and cannot be referenced from objects in the main + database. +""" +import bpy + + +class OBJECT_OT_object_to_curve(bpy.types.Operator): + """Convert selected object to curve and show number of splines""" + bl_label = "DEG Object to Curve" + bl_idname = "object.object_to_curve" + + def execute(self, context): + # Access input original object. + obj = context.object + if obj is None: + self.report({'INFO'}, "No active object to convert to curve") + return {'CANCELLED'} + if obj.type not in {'CURVE', 'FONT'}: + self.report({'INFO'}, "Object cannot be converted to curve") + return {'CANCELLED'} + depsgraph = context.evaluated_depsgraph_get() + # Invoke to_curve() without applying modifiers. + curve_without_modifiers = obj.to_curve(depsgraph) + self.report({'INFO'}, f"{len(curve_without_modifiers.splines)} splines in a new curve without modifiers.") + # Remove temporary curve. + obj.to_curve_clear() + # Invoke to_curve() with applying modifiers. + curve_with_modifiers = obj.to_curve(depsgraph, apply_modifiers=True) + self.report({'INFO'}, f"{len(curve_with_modifiers.splines)} splines in new curve with modifiers.") + # Remove temporary curve. + obj.to_curve_clear() + return {'FINISHED'} + + +def register(): + bpy.utils.register_class(OBJECT_OT_object_to_curve) + + +def unregister(): + bpy.utils.unregister_class(OBJECT_OT_object_to_curve) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.FileHandler.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.FileHandler.1.py new file mode 100644 index 0000000..4b50c42 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.FileHandler.1.py @@ -0,0 +1,81 @@ +""" +Basic FileHandler for importing a single file +--------------------------------------------- + +A file handler allows custom drag-and-drop behavior to be associated with a given ``Operator`` +(:class:`FileHandler.bl_import_operator`) and set of file extensions +(:class:`FileHandler.bl_file_extensions`). Control over which area of the UI accepts the +drag-in-drop action is specified using the :class:`FileHandler.poll_drop` method. + +Similar to operators that use a file select window, operators participating in drag-and-drop, and +only accepting a single file, must define the following property: + +.. code-block:: python + + filepath: bpy.props.StringProperty(subtype='FILE_PATH', options={'SKIP_SAVE'}) + +This ``filepath`` property will be set to the full path of the file dropped by the user. +""" + +import bpy + + +class CurveTextImport(bpy.types.Operator): + """ + Creates a text object from a text file. + """ + bl_idname = "curve.text_import" + bl_label = "Import a text file as text object" + + # This Operator supports processing one `.txt` file at a time. The following file-path + # property must be defined. + filepath: bpy.props.StringProperty(subtype='FILE_PATH', options={'SKIP_SAVE'}) + + @classmethod + def poll(cls, context): + return (context.area and context.area.type == "VIEW_3D") + + def execute(self, context): + # Direct calls to this Operator may use unsupported file-paths. Ensure the incoming + # file-path is one that is supported. + if not self.filepath or not self.filepath.endswith(".txt"): + return {'CANCELLED'} + + # Create a Blender Text object from the contents of the provided file. + with open(self.filepath) as file: + text_curve = bpy.data.curves.new(type="FONT", name="Text") + text_curve.body = ''.join(file.readlines()) + text_object = bpy.data.objects.new(name="Text", object_data=text_curve) + bpy.context.scene.collection.objects.link(text_object) + return {'FINISHED'} + + # By default the file handler invokes the operator with the file-path property set. If the + # operator also supports being invoked with no file-path set, and allows the user to pick from a + # file select window instead, the following logic can be used. + # + # Note: It is important to use `options={'SKIP_SAVE'}` when defining the file-path property to + # avoid prior values from being reused on subsequent calls. + + def invoke(self, context, event): + if self.filepath: + return self.execute(context) + context.window_manager.fileselect_add(self) + return {'RUNNING_MODAL'} + + +# Define a file handler that supports the following set of conditions: +# - Execute the `curve.text_import` operator +# - When `.txt` files are dropped in the 3D Viewport +class CURVE_FH_text_import(bpy.types.FileHandler): + bl_idname = "CURVE_FH_text_import" + bl_label = "File handler for curve text object import" + bl_import_operator = "curve.text_import" + bl_file_extensions = ".txt" + + @classmethod + def poll_drop(cls, context): + return (context.area and context.area.type == 'VIEW_3D') + + +bpy.utils.register_class(CurveTextImport) +bpy.utils.register_class(CURVE_FH_text_import) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.FileHandler.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.FileHandler.2.py new file mode 100644 index 0000000..21b98cf --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.FileHandler.2.py @@ -0,0 +1,109 @@ +""" +FileHandler for Importing multiple files and exposing Operator options +---------------------------------------------------------------------- + +Operators which support being executed with multiple files from drag-and-drop require the +following properties be defined: + +.. code-block:: python + + directory: StringProperty(subtype='DIR_PATH', options={'SKIP_SAVE', 'HIDDEN'}) + files: CollectionProperty(type=OperatorFileListElement, options={'SKIP_SAVE', 'HIDDEN'}) + +These ``directory`` and ``files`` properties will be set with the necessary data from the +drag-and-drop operation. + +Additionally, if the operator provides operator properties that need to be accessible to the user, +the :class:`ImportHelper.invoke_popup` method can be used to show a dialog leveraging the standard +:class:`Operator.draw` method for layout and display. + +""" + +import bpy +from bpy_extras.io_utils import ImportHelper +from mathutils import Vector + + +class ShaderScriptImport(bpy.types.Operator, ImportHelper): + """ + Creates one or more Shader Script nodes from text files. + """ + bl_idname = "shader.script_import" + bl_label = "Import a text file as a script node" + + # This Operator supports processing multiple `.txt` files at a time. The following properties + # must be defined. + directory: bpy.props.StringProperty(subtype='DIR_PATH', options={'SKIP_SAVE', 'HIDDEN'}) + files: bpy.props.CollectionProperty(type=bpy.types.OperatorFileListElement, options={'SKIP_SAVE', 'HIDDEN'}) + + # Allow the user to choose whether the node's label is set or not + set_label: bpy.props.BoolProperty(name="Set Label", default=False) + + @classmethod + def poll(cls, context): + return ( + context.region and context.region.type == 'WINDOW' and + context.area and context.area.ui_type == 'ShaderNodeTree' and + context.object and context.object.type == 'MESH' and + context.material + ) + + def execute(self, context): + # The directory property must be set. + if not self.directory: + return {'CANCELLED'} + + x = 0.0 + y = 0.0 + for file in self.files: + # Direct calls to this Operator may use unsupported file-paths. Ensure the incoming + # files are ones that are supported. + if file.name.endswith(".txt"): + import os + filepath = os.path.join(self.directory, file.name) + + node_tree = context.material.node_tree + text_node = node_tree.nodes.new(type="ShaderNodeScript") + text_node.mode = 'EXTERNAL' + text_node.filepath = filepath + text_node.location = Vector((x, y)) + + # Set the node's title to the file name. + if self.set_label: + text_node.label = file.name + + x += 20.0 + y -= 20.0 + + return {'FINISHED'} + + # Use ImportHelper's invoke_popup() to handle the invocation so that this operator's properties + # are shown in a popup. This allows the user to configure additional settings on the operator + # like the `set_label` property. Consider having a draw() method on the operator in order to + # layout the properties in the UI appropriately. + # + # If filepath information is not provided the file select window will be invoked instead. + + def invoke(self, context, event): + return self.invoke_popup(context) + + +# Define a file handler that supports the following set of conditions: +# - Execute the `shader.script_import` operator +# - When `.txt` files are dropped in the Shader Editor +class SHADER_FH_script_import(bpy.types.FileHandler): + bl_idname = "SHADER_FH_script_import" + bl_label = "File handler for shader script node import" + bl_import_operator = "shader.script_import" + bl_file_extensions = ".txt" + + @classmethod + def poll_drop(cls, context): + return ( + context.region and context.region.type == 'WINDOW' and + context.area and context.area.ui_type == 'ShaderNodeTree' + ) + + +bpy.utils.register_class(ShaderScriptImport) +bpy.utils.register_class(SHADER_FH_script_import) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.GeometrySet.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.GeometrySet.0.py new file mode 100644 index 0000000..2668e36 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.GeometrySet.0.py @@ -0,0 +1,53 @@ +""" +Accessing Evaluated Geometry +++++++++++++++++++++++++++++ +""" +import bpy + +# The GeometrySet can only be retrieved from an evaluated object. So one always +# needs a depsgraph that has evaluated the object. +depsgraph = bpy.context.view_layer.depsgraph +ob = bpy.context.active_object +ob_eval = depsgraph.id_eval_get(ob) + +# Get the final evaluated geometry of an object. +geometry = ob_eval.evaluated_geometry() + +# Print basic information like the number of elements. +print(geometry) + +# A geometry set may have a name. It can be set with the Set Geometry Name node. +print(geometry.name) + +# Access "realized" geometry components. +print(geometry.mesh) +print(geometry.pointcloud) +print(geometry.curves) +print(geometry.volume) +print(geometry.grease_pencil) + +# Access the mesh without final subdivision applied. +print(geometry.mesh_base) + +# Accessing instances is a bit more tricky, because there is no specific +# mechanism to expose instances. Instead, two accessors are provided which +# are easy to keep working in the future even if we get a proper Instances type. + +# This is a pointcloud that provides access to all the instance attributes. +# There is a point per instances. May return None if there is no instances data. +instances_pointcloud = geometry.instances_pointcloud() + +if instances_pointcloud is not None: + # This is a list containing the data that is instanced. The list may contain + # None, objects, collections or other GeometrySets. If the geometry does not + # have instances, the list is empty. + references = geometry.instance_references() + + # Besides normal generic attributes, there are also two important + # instance-specific attributes. "instance_transform" is a 4x4 matrix attribute + # containing the transforms of each instance. + instance_transforms = instances_pointcloud.attributes["instance_transform"] + + # ".reference_index" contains indices into the `references` list above and + # determines what geometry each instance uses. + reference_indices = instances_pointcloud.attributes[".reference_index"] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.HydraRenderEngine.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.HydraRenderEngine.0.py new file mode 100644 index 0000000..be5146d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.HydraRenderEngine.0.py @@ -0,0 +1,61 @@ +""" +Base class for integrating USD Hydra based renderers. + +USD Hydra Based Renderer +++++++++++++++++++++++++ +""" + +import bpy + + +class CustomHydraRenderEngine(bpy.types.HydraRenderEngine): + # Identifier and name in the user interface. + bl_idname = "CUSTOM_HYDRA_RENDERER" + bl_label = "Custom Hydra Renderer" + + # Name of the render plugin. + bl_delegate_id = "HdCustomRendererPlugin" + + # Use MaterialX instead of `UsdPreviewSurface` for materials. + bl_use_materialx = True + + # Register path to plugin. + @classmethod + def register(cls): + # Make `pxr` module available, for running as `bpy` PIP package. + bpy.utils.expose_bundled_modules() + + import pxr.Plug + pxr.Plug.Registry().RegisterPlugins(['/path/to/plugin']) + + # Render settings that will be passed to the delegate. + def get_render_settings(self, engine_type): + return { + 'myBoolean': True, + 'myValue': 8, + 'aovToken:Depth': "depth", + } + + # RenderEngine methods for update, render and draw are implemented in + # HydraRenderEngine. Optionally extra work can be done before or after + # by implementing the methods like this. + def update(self, data, depsgraph): + super().update(data, depsgraph) + # Do extra work here. + + def update_render_passes(self, scene, render_layer): + if render_layer.use_pass_z: + self.register_pass(scene, render_layer, 'Depth', 1, 'Z', 'VALUE') + + +# Registration. +def register(): + bpy.utils.register_class(CustomHydraRenderEngine) + + +def unregister(): + bpy.utils.unregister_class(CustomHydraRenderEngine) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ID.user_clear.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ID.user_clear.1.py new file mode 100644 index 0000000..487493c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.ID.user_clear.1.py @@ -0,0 +1,16 @@ +""" +This function is for advanced use only, misuse can crash Blender since the user +count is used to prevent data being removed when it is used. +""" + +# This example shows what _not_ to do, and will crash Blender. +import bpy + +# Object which is in the scene. +obj = bpy.data.objects["Cube"] + +# Without this, removal would raise an error. +obj.user_clear() + +# Runs without an exception but will crash on redraw. +bpy.data.objects.remove(obj) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Image.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Image.0.py new file mode 100644 index 0000000..f0c1a78 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Image.0.py @@ -0,0 +1,46 @@ +""" +Image Data +++++++++++ + +The Image data-block is a shallow wrapper around image or video file(s) +(on disk, as packed data, or generated). + +All actual data like the pixel buffer, size, resolution etc. is +cached in an :class:`imbuf.types.ImBuf` image buffer (or several buffers +in some cases, like UDIM textures, multi-views, animations...). + +Several properties and functions of the Image data-block are then actually +using/modifying its image buffer, and not the Image data-block itself. + +.. warning:: + + One key limitation is that image buffers are not shared between different + Image data-blocks, and they are not duplicated when copying an image. + + So until a modified image buffer is saved on disk, duplicating its Image + data-block will not propagate the underlying buffer changes to the new Image. + + +This example script generates an Image data-block with a given size, +change its first pixel, rescale it, and duplicates the image. + +The duplicated image still has the same size and colors as the original image +at its creation, all editing in the original image's buffer is 'lost' in its copy. +""" + +import bpy + +image_src = bpy.data.images.new('src', 1024, 102) +print(image_src.size) +print(image_src.pixels[0:4]) + +image_src.scale(1024, 720) +image_src.pixels[0:4] = (0.5, 0.5, 0.5, 0.5) +image_src.update() +print(image_src.size) +print(image_src.pixels[0:4]) + +image_dest = image_src.copy() +image_dest.update() +print(image_dest.size) +print(image_dest.pixels[0:4]) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.InlineShaderNodes.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.InlineShaderNodes.0.py new file mode 100644 index 0000000..584073b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.InlineShaderNodes.0.py @@ -0,0 +1,23 @@ +""" +Inline Shader Nodes ++++++++++++++++++++ +""" +import bpy + +# The materials should be retrieved from the evaluated object to make sure that +# e.g. edits of Geometry Nodes are applied. +depsgraph = bpy.context.view_layer.depsgraph +ob = bpy.context.active_object +ob_eval = depsgraph.id_eval_get(ob) +material_eval = ob_eval.material_slots[0].material + +# Compute the inlined shader nodes. +# Important: Do not loose the reference to this object while accessing the inlined +# node tree. Otherwise there will be a crash due to a dangling pointer. +inline_shader_nodes = material_eval.inline_shader_nodes() + +# Get the actual inlined `bpy.types.NodeTree`. +tree = inline_shader_nodes.node_tree + +for node in tree.nodes: + print(node.name) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.KeyMaps.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.KeyMaps.1.py new file mode 100644 index 0000000..3684a72 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.KeyMaps.1.py @@ -0,0 +1,73 @@ +""" +Add-on Keymap Registration +++++++++++++++++++++++++++ + +This example shows how an add-on can register custom keyboard shortcuts. +Keymaps are added to ``keyconfigs.addon`` and removed when unregistered. + +Store ``(keymap, keymap_item)`` tuples for safe cleanup, as multiple add-ons may use the same keymap. + +.. note:: + + Users can customize add-on shortcuts in the Keymap Preferences. + Add-on keymaps appear under their respective editors and can be + modified or disabled without editing the add-on code. + + Add-ons should only manipulate keymaps in ``keyconfigs.addon`` and not manipulate the user's keymaps + because add-on keymaps serve as a default which users may customize. + Modifying user keymaps directly interferes with users' own preferences. + +.. warning:: + + Add-ons can add items to existing modal keymaps but cannot create + new modal keymaps via Python. Use ``modal=True`` when targeting + an existing modal keymap such as "Knife Tool Modal Map". +""" + +# In this example keymap registration functions are only split out for clarity, +# so skipping keymap registration in background mode doesn't interfere with other registration logic. + +import bpy + +# Store (keymap, keymap_item) for cleanup on unregister. +addon_keymaps = [] + + +def register_keymaps(): + wm = bpy.context.window_manager + kc = wm.keyconfigs.addon + if kc is None: + return # Can be None in background mode. + + # Target the 3D View; name must match Blender's built-in keymap exactly. + km = kc.keymaps.new(name="3D View", space_type='VIEW_3D') + + # Bind Shift+Alt+K to frame selected objects. + kmi = km.keymap_items.new( + idname="view3d.view_selected", + type='K', + value='PRESS', + shift=True, + alt=True, + ) + kmi.properties.use_all_regions = True + + addon_keymaps.append((km, kmi)) + + +def unregister_keymaps(): + for km, kmi in addon_keymaps: + km.keymap_items.remove(kmi) + addon_keymaps.clear() + + +def register(): + register_keymaps() + + +def unregister(): + unregister_keymaps() + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Macro.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Macro.0.py new file mode 100644 index 0000000..d375cd5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Macro.0.py @@ -0,0 +1,50 @@ +""" +Example Macro ++++++++++++++ + +This example creates a simple macro operator that +moves the active object and then rotates it. +It demonstrates: + +- Defining a macro operator class. +- Registering it and defining sub-operators. +- Setting property values for each step. +""" + +import bpy + + +class OBJECT_OT_simple_macro(bpy.types.Macro): + bl_idname = "object.simple_macro" + bl_label = "Simple Transform Macro" + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + return context.active_object is not None + + +def register(): + bpy.utils.register_class(OBJECT_OT_simple_macro) + + # Define steps after registration and set operator values via .properties + step = OBJECT_OT_simple_macro.define("transform.translate") + props = step.properties + props.value = (1.0, 0.0, 0.0) + props.constraint_axis = (True, False, False) + + step = OBJECT_OT_simple_macro.define("transform.rotate") + props = step.properties + props.value = 0.785398 # 45 degrees in radians + props.orient_axis = 'Z' + + +def unregister(): + bpy.utils.unregister_class(OBJECT_OT_simple_macro) + + +if __name__ == "__main__": + register() + + # To run the macro: + bpy.ops.object.simple_macro() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.0.py new file mode 100644 index 0000000..a4d2962 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.0.py @@ -0,0 +1,42 @@ +""" +Basic Menu Example +++++++++++++++++++ + +Here is an example of a simple menu. Menus differ from panels in that they must +reference from a header, panel or another menu. + +Notice the 'CATEGORY_MT_name' in :class:`Menu.bl_idname`, this is a naming +convention for menus. + +.. note:: + + Menu subclasses must be registered before referencing them from Blender. + +.. note:: + + Menus have their :class:`UILayout.operator_context` initialized as + 'EXEC_REGION_WIN' rather than 'INVOKE_REGION_WIN' (see :ref:`Execution Context `). + If the operator context needs to initialize inputs from the + :class:`Operator.invoke` function, then this needs to be explicitly set. + When a menu is added to UI elements such as a panel or header, + the operator execution context will be inherited from them. +""" +import bpy + + +class BasicMenu(bpy.types.Menu): + bl_idname = "OBJECT_MT_select_test" + bl_label = "Select" + + def draw(self, context): + layout = self.layout + + layout.operator("object.select_all", text="Select/Deselect All").action = 'TOGGLE' + layout.operator("object.select_all", text="Inverse").action = 'INVERT' + layout.operator("object.select_random", text="Random") + + +bpy.utils.register_class(BasicMenu) + +# Test call to display immediately. +bpy.ops.wm.call_menu(name="OBJECT_MT_select_test") diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.1.py new file mode 100644 index 0000000..c1ef5e4 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.1.py @@ -0,0 +1,38 @@ +""" +Submenus +++++++++ + +This menu demonstrates some different functions. +""" +import bpy + + +class SubMenu(bpy.types.Menu): + bl_idname = "OBJECT_MT_select_submenu" + bl_label = "Select" + + def draw(self, context): + layout = self.layout + + layout.operator("object.select_all", text="Select/Deselect All").action = 'TOGGLE' + layout.operator("object.select_all", text="Inverse").action = 'INVERT' + layout.operator("object.select_random", text="Random") + + # Access this operator as a sub-menu. + layout.operator_menu_enum("object.select_by_type", "type", text="Select All by Type") + + layout.separator() + + # Expand each operator option into this menu. + layout.operator_enum("object.light_add", "type") + + layout.separator() + + # Use existing menu. + layout.menu("VIEW3D_MT_transform") + + +bpy.utils.register_class(SubMenu) + +# Test call to display immediately. +bpy.ops.wm.call_menu(name="OBJECT_MT_select_submenu") diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.2.py new file mode 100644 index 0000000..fbdf747 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.2.py @@ -0,0 +1,18 @@ +""" +Extending Menus ++++++++++++++++ + +When creating menus for add-ons you can't reference menus +in Blender's default scripts. +Instead, the add-on can add menu items to existing menus. + +The function menu_draw acts like :class:`Menu.draw`. +""" +import bpy + + +def menu_draw(self, context): + self.layout.operator("wm.save_homefile") + + +bpy.types.TOPBAR_MT_file.append(menu_draw) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.3.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.3.py new file mode 100644 index 0000000..77f19f2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.3.py @@ -0,0 +1,80 @@ +""" +Preset Menus +++++++++++++ + +Preset menus are simply a convention that uses a menu sub-class +to perform the common task of managing presets. + +This example shows how you can add a preset menu. + +This example uses the object display options, +however you can use properties defined by your own scripts too. +""" + +import bpy +from bpy.types import Operator, Menu +from bl_operators.presets import AddPresetBase + + +class OBJECT_MT_display_presets(Menu): + bl_label = "Object Display Presets" + preset_subdir = "object/display" + preset_operator = "script.execute_preset" + draw = Menu.draw_preset + + +class AddPresetObjectDisplay(AddPresetBase, Operator): + '''Add a Object Display Preset''' + bl_idname = "camera.object_display_preset_add" + bl_label = "Add Object Display Preset" + preset_menu = "OBJECT_MT_display_presets" + + # Variable used for all preset values. + preset_defines = [ + "obj = bpy.context.object" + ] + + # Properties to store in the preset. + preset_values = [ + "obj.display_type", + "obj.show_bounds", + "obj.display_bounds_type", + "obj.show_name", + "obj.show_axis", + "obj.show_wire", + ] + + # Where to store the preset. + preset_subdir = "object/display" + + +# Display into an existing panel. +def panel_func(self, context): + layout = self.layout + + row = layout.row(align=True) + row.menu(OBJECT_MT_display_presets.__name__, text=OBJECT_MT_display_presets.bl_label) + row.operator(AddPresetObjectDisplay.bl_idname, text="", icon='ZOOM_IN') + row.operator(AddPresetObjectDisplay.bl_idname, text="", icon='ZOOM_OUT').remove_active = True + + +classes = ( + OBJECT_MT_display_presets, + AddPresetObjectDisplay, +) + + +def register(): + for cls in classes: + bpy.utils.register_class(cls) + bpy.types.OBJECT_PT_display.prepend(panel_func) + + +def unregister(): + for cls in classes: + bpy.utils.unregister_class(cls) + bpy.types.OBJECT_PT_display.remove(panel_func) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.4.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.4.py new file mode 100644 index 0000000..cffea6c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Menu.4.py @@ -0,0 +1,66 @@ +""" +Extending the Button Context Menu ++++++++++++++++++++++++++++++++++ + +This example enables you to insert your own menu entry into the common +right click menu that you get while hovering over a UI button (e.g. operator, +value field, color, string, etc.) + +To make the example work, you have to first select an object +then right click on an user interface element (maybe a color in the +material properties) and choose *Execute Custom Action*. + +Executing the operator will then print all values. +""" + +import bpy + + +def dump(obj, text): + for attr in dir(obj): + print("{!r}.{:s} = {!s}".format(obj, attr, getattr(obj, attr))) + + +class WM_OT_button_context_test(bpy.types.Operator): + """Right click entry test""" + bl_idname = "wm.button_context_test" + bl_label = "Run Context Test" + + @classmethod + def poll(cls, context): + return context.active_object is not None + + def execute(self, context): + value = getattr(context, "button_pointer", None) + if value is not None: + dump(value, "button_pointer") + + value = getattr(context, "button_prop", None) + if value is not None: + dump(value, "button_prop") + + value = getattr(context, "button_operator", None) + if value is not None: + dump(value, "button_operator") + + return {'FINISHED'} + + +def draw_menu(self, context): + layout = self.layout + layout.separator() + layout.operator(WM_OT_button_context_test.bl_idname) + + +def register(): + bpy.utils.register_class(WM_OT_button_context_test) + bpy.types.UI_MT_button_context_menu.append(draw_menu) + + +def unregister(): + bpy.types.UI_MT_button_context_menu.remove(draw_menu) + bpy.utils.unregister_class(WM_OT_button_context_test) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Mesh.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Mesh.0.py new file mode 100644 index 0000000..eb19451 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Mesh.0.py @@ -0,0 +1,41 @@ +""" +Mesh Data ++++++++++ + +The mesh data is accessed in object mode and intended for compact storage, +for more flexible mesh editing from Python see :mod:`bmesh`. + +Blender stores 4 main arrays to define mesh geometry. + +- :class:`Mesh.vertices` (3 points in space) +- :class:`Mesh.edges` (reference 2 vertices) +- :class:`Mesh.loops` (reference a single vertex and edge) +- :class:`Mesh.polygons`: (reference a range of loops) + + +Each polygon references a slice in the loop array, this way, +polygons do not store vertices or corner data such as UVs directly, +only a reference to loops that the polygon uses. + +:class:`Mesh.loops`, :class:`Mesh.uv_layers` :class:`Mesh.vertex_colors` are all aligned so the same polygon loop +indices can be used to find the UVs and vertex colors as with as the vertices. + +To compare mesh API options see: :ref:`NGons and Tessellation Faces ` + + +This example script prints the vertices and UVs for each polygon, assumes the active object is a mesh with UVs. +""" + +import bpy + +me = bpy.context.object.data +uv_layer = me.uv_layers.active.data + +for poly in me.polygons: + print("Polygon index: {:d}, length: {:d}".format(poly.index, poly.loop_total)) + + # Range is used here to show how the polygons reference loops, + # for convenience 'poly.loop_indices' can be used instead. + for loop_index in range(poly.loop_start, poly.loop_start + poly.loop_total): + print(" Vertex: {:d}".format(me.loops[loop_index].vertex_index)) + print(" UV: {!r}".format(uv_layer[loop_index].uv)) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.NodeTree.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.NodeTree.0.py new file mode 100644 index 0000000..fc926cc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.NodeTree.0.py @@ -0,0 +1,26 @@ +""" +Poll Function ++++++++++++++++ + +The :class:`NodeTree.poll` function determines if a node tree is visible +in the given context (similar to how :class:`Panel.poll` +and :class:`Menu.poll` define visibility). If it returns False, +the node tree type will not be selectable in the node editor. + +A typical condition for shader nodes would be to check the active render engine +of the scene and only show nodes of the renderer they are designed for. +""" +import bpy + + +class CyclesNodeTree(bpy.types.NodeTree): + """ This operator is only visible when Cycles is the selected render engine""" + bl_label = "Cycles Node Tree" + bl_icon = 'NONE' + + @classmethod + def poll(cls, context): + return context.scene.render.engine == 'CYCLES' + + +bpy.utils.register_class(CyclesNodeTree) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Object.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Object.0.py new file mode 100644 index 0000000..3df426a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Object.0.py @@ -0,0 +1,28 @@ +""" +Basic Object Operations Example ++++++++++++++++++++++++++++++++ + +This script demonstrates basic operations on object like creating new +object, placing it into a view layer, selecting it and making it active. +""" + +import bpy + +view_layer = bpy.context.view_layer + +# Create new light data-block. +light_data = bpy.data.lights.new(name="New Light", type='POINT') + +# Create new object with our light data-block. +light_object = bpy.data.objects.new(name="New Light", object_data=light_data) + +# Link light object to the active collection of current view layer, +# so that it'll appear in the current scene. +view_layer.active_layer_collection.collection.objects.link(light_object) + +# Place light to a specified location. +light_object.location = (5.0, 5.0, 5.0) + +# And finally select it and make it active. +light_object.select_set(True) +view_layer.objects.active = light_object diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.0.py new file mode 100644 index 0000000..f7124c0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.0.py @@ -0,0 +1,41 @@ +""" +Basic Operator Example +++++++++++++++++++++++ + +This script shows simple operator which prints a message. + +Since the operator only has an :class:`Operator.execute` function it takes no +user input. + +The function should return ``{'FINISHED'}`` or ``{'CANCELLED'}``, the latter +meaning that operator execution was aborted without making any changes, and +that no undo step will created (see next example for more info about undo). + +.. note:: + + Operator subclasses must be registered before accessing them from Blender. + +""" +import bpy + + +class HelloWorldOperator(bpy.types.Operator): + bl_idname = "wm.hello_world" + bl_label = "Minimal Operator" + + def execute(self, context): + print("Hello World") + return {'FINISHED'} + + +# Only needed if you want to add into a dynamic menu. +def menu_func(self, context): + self.layout.operator(HelloWorldOperator.bl_idname, text="Hello World Operator") + + +# Register and add to the view menu (required to also use F3 search "Hello World Operator" for quick access). +bpy.utils.register_class(HelloWorldOperator) +bpy.types.VIEW3D_MT_view.append(menu_func) + +# Test call to the newly defined operator. +bpy.ops.wm.hello_world() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.1.py new file mode 100644 index 0000000..d02562e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.1.py @@ -0,0 +1,63 @@ +""" +.. _operator_modifying_blender_data_undo: + +Modifying Blender Data & Undo ++++++++++++++++++++++++++++++ + +Any operator modifying Blender data should enable the ``'UNDO'`` option. +This will make Blender automatically create an undo step when the operator +finishes its ``execute`` (or ``invoke``, see below) functions, and returns +``{'FINISHED'}``. + +Otherwise, no undo step will be created, which will at best corrupt the +undo stack and confuse the user (since modifications done by the operator +may either not be undoable, or be undone together with other edits done +before). In many cases, this can even lead to data corruption and crashes. + +Note that when an operator returns ``{'CANCELLED'}``, no undo step will be +created. This means that if an error occurs *after* modifying some data +already, it is better to return ``{'FINISHED'}``, unless it is possible to +fully undo the changes before returning. + +.. note:: + + Most examples in this page do not do any edit to Blender data, which is + why it is safe to keep the default ``bl_options`` value for these operators. + +.. note:: + + In some complex cases, the automatic undo step created on operator exit may + not be enough. For example, if the operator does mode switching, or calls + other operators that should create an extra undo step, etc. + + Such manual undo push is possible using the :class:`bpy.ops.ed.undo_push` + function. Be careful though, this is considered an advanced feature and + requires some understanding of the actual undo system in Blender code. + +""" +import bpy + + +class DataEditOperator(bpy.types.Operator): + bl_idname = "object.data_edit" + bl_label = "Data Editing Operator" + # The default value is only 'REGISTER', 'UNDO' is mandatory when Blender data is modified + # (and does require 'REGISTER' as well). + bl_options = {'REGISTER', 'UNDO'} + + def execute(self, context): + context.object.location.x += 1.0 + return {'FINISHED'} + + +# Only needed if you want to add into a dynamic menu. +def menu_func(self, context): + self.layout.operator(DataEditOperator.bl_idname, text="Blender Data Editing Operator") + + +# Register. +bpy.utils.register_class(DataEditOperator) +bpy.types.VIEW3D_MT_view.append(menu_func) + +# Test call to the newly defined operator. +bpy.ops.object.data_edit() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.2.py new file mode 100644 index 0000000..868e8e2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.2.py @@ -0,0 +1,68 @@ +""" +Invoke Function ++++++++++++++++ + +:class:`Operator.invoke` is used to initialize the operator from the context +at the moment the operator is called. +invoke() is typically used to assign properties which are then used by +execute(). +Some operators don't have an execute() function, removing the ability to be +repeated from a script or macro. + +When an operator is called via :mod:`bpy.ops`, the execution context depends +on the argument provided to :mod:`bpy.ops`. By default, it uses execute(). +When an operator is activated from a button or menu item, it follows +the setting in :class:`UILayout.operator_context`. In most cases, invoke() is used. +Running an operator via a key shortcut always uses invoke(), +and this behavior cannot be changed. + +This example shows how to define an operator which gets mouse input to +execute a function and that this operator can be invoked or executed from +the Python API. + +Also notice this operator defines its own properties, these are different +to typical class properties because Blender registers them with the +operator, to use as arguments when called, saved for operator undo/redo and +automatically added into the user interface. +""" +import bpy + + +class SimpleMouseOperator(bpy.types.Operator): + """ This operator shows the mouse location, + this string is used for the tooltip and API docs + """ + bl_idname = "wm.mouse_position" + bl_label = "Invoke Mouse Operator" + + x: bpy.props.IntProperty() + y: bpy.props.IntProperty() + + def execute(self, context): + # Rather than printing, use the report function, + # this way the message appears in the header. + self.report({'INFO'}, "Mouse coords are {:d} {:d}".format(self.x, self.y)) + return {'FINISHED'} + + def invoke(self, context, event): + self.x = event.mouse_x + self.y = event.mouse_y + return self.execute(context) + + +# Only needed if you want to add into a dynamic menu. +def menu_func(self, context): + self.layout.operator(SimpleMouseOperator.bl_idname, text="Simple Mouse Operator") + + +# Register and add to the view menu (required to also use F3 search "Simple Mouse Operator" for quick access). +bpy.utils.register_class(SimpleMouseOperator) +bpy.types.VIEW3D_MT_view.append(menu_func) + +# Test call to the newly defined operator. +# Here we call the operator and invoke it, +# meaning that the settings are taken from the mouse. +bpy.ops.wm.mouse_position('INVOKE_DEFAULT') + +# Another test call, this time call execute() directly with pre-defined settings. +bpy.ops.wm.mouse_position('EXEC_DEFAULT', x=20, y=66) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.3.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.3.py new file mode 100644 index 0000000..c0a1e2d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.3.py @@ -0,0 +1,52 @@ +""" +Calling a File Selector ++++++++++++++++++++++++ +This example shows how an operator can use the file selector. + +Notice the invoke function calls a window manager method and returns +``{'RUNNING_MODAL'}``, this means the file selector stays open and the operator does not +exit immediately after invoke finishes. + +The file selector runs the operator, calling :class:`Operator.execute` when the +user confirms. + +The :class:`Operator.poll` function is optional, used to check if the operator +can run. +""" +import bpy + + +class ExportSomeData(bpy.types.Operator): + """Test exporter which just writes hello world""" + bl_idname = "export.some_data" + bl_label = "Export Some Data" + + filepath: bpy.props.StringProperty(subtype="FILE_PATH") + + @classmethod + def poll(cls, context): + return context.object is not None + + def execute(self, context): + file = open(self.filepath, 'w') + file.write("Hello World " + context.object.name) + return {'FINISHED'} + + def invoke(self, context, event): + context.window_manager.fileselect_add(self) + return {'RUNNING_MODAL'} + + +# Only needed if you want to add into a dynamic menu. +def menu_func(self, context): + self.layout.operator_context = 'INVOKE_DEFAULT' + self.layout.operator(ExportSomeData.bl_idname, text="Text Export Operator") + + +# Register and add to the file selector (required to also use F3 search "Text Export Operator" for quick access). +bpy.utils.register_class(ExportSomeData) +bpy.types.TOPBAR_MT_file_export.append(menu_func) + + +# Test call. +bpy.ops.export.some_data('INVOKE_DEFAULT') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.4.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.4.py new file mode 100644 index 0000000..f4a7d26 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.4.py @@ -0,0 +1,40 @@ +""" +Dialog Box +++++++++++ + +This operator uses its :class:`Operator.invoke` function to call a popup. +""" +import bpy + + +class DialogOperator(bpy.types.Operator): + bl_idname = "object.dialog_operator" + bl_label = "Simple Dialog Operator" + + my_float: bpy.props.FloatProperty(name="Some Floating Point") + my_bool: bpy.props.BoolProperty(name="Toggle Option") + my_string: bpy.props.StringProperty(name="String Value") + + def execute(self, context): + message = "Popup Values: {:f}, {:d}, '{:s}'".format( + self.my_float, self.my_bool, self.my_string, + ) + self.report({'INFO'}, message) + return {'FINISHED'} + + def invoke(self, context, event): + wm = context.window_manager + return wm.invoke_props_dialog(self) + + +# Only needed if you want to add into a dynamic menu. +def menu_func(self, context): + self.layout.operator(DialogOperator.bl_idname, text="Dialog Operator") + + +# Register and add to the object menu (required to also use F3 search "Dialog Operator" for quick access). +bpy.utils.register_class(DialogOperator) +bpy.types.VIEW3D_MT_object.append(menu_func) + +# Test call. +bpy.ops.object.dialog_operator('INVOKE_DEFAULT') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.5.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.5.py new file mode 100644 index 0000000..92876c8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.5.py @@ -0,0 +1,55 @@ +""" +Custom Drawing +++++++++++++++ + +By default operator properties use an automatic user interface layout. +If you need more control you can create your own layout with a +:class:`Operator.draw` function. + +This works like the :class:`Panel` and :class:`Menu` draw functions, its used +for dialogs and file selectors. +""" +import bpy + + +class CustomDrawOperator(bpy.types.Operator): + bl_idname = "object.custom_draw" + bl_label = "Simple Modal Operator" + + filepath: bpy.props.StringProperty(subtype="FILE_PATH") + + my_float: bpy.props.FloatProperty(name="Float") + my_bool: bpy.props.BoolProperty(name="Toggle Option") + my_string: bpy.props.StringProperty(name="String Value") + + def execute(self, context): + print("Test", self) + return {'FINISHED'} + + def invoke(self, context, event): + wm = context.window_manager + return wm.invoke_props_dialog(self) + + def draw(self, context): + layout = self.layout + col = layout.column() + col.label(text="Custom Interface!") + + row = col.row() + row.prop(self, "my_float") + row.prop(self, "my_bool") + + col.prop(self, "my_string") + + +# Only needed if you want to add into a dynamic menu. +def menu_func(self, context): + self.layout.operator(CustomDrawOperator.bl_idname, text="Custom Draw Operator") + + +# Register and add to the object menu (required to also use F3 search "Custom Draw Operator" for quick access). +bpy.utils.register_class(CustomDrawOperator) +bpy.types.VIEW3D_MT_object.append(menu_func) + +# Test call. +bpy.ops.object.custom_draw('INVOKE_DEFAULT') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.6.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.6.py new file mode 100644 index 0000000..2e9c4c5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.6.py @@ -0,0 +1,77 @@ +""" +.. _modal_operator: + +Modal Execution ++++++++++++++++ + +This operator defines a :class:`Operator.modal` function that will keep being +run to handle events until it returns ``{'FINISHED'}`` or ``{'CANCELLED'}``. + +Modal operators run every time a new event is detected, such as a mouse click +or key press. Conversely, when no new events are detected, the modal operator +will not run. Modal operators are especially useful for interactive tools, an +operator can have its own state where keys toggle options as the operator runs. +Grab, Rotate, Scale, and Fly-Mode are examples of modal operators. + +:class:`Operator.invoke` is used to initialize the operator as being active +by returning ``{'RUNNING_MODAL'}``, initializing the modal loop. + +Notice ``__init__()`` and ``__del__()`` are declared. +For other operator types they are not useful but for modal operators they will +be called before the :class:`Operator.invoke` and after the operator finishes. +Also see the +:ref:`class construction and destruction section `. +""" +import bpy + + +class ModalOperator(bpy.types.Operator): + bl_idname = "object.modal_operator" + bl_label = "Simple Modal Operator" + bl_options = {'REGISTER', 'UNDO'} + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + print("Start") + + def __del__(self): + print("End") + super().__del__() + + def execute(self, context): + context.object.location.x = self.value / 100.0 + return {'FINISHED'} + + def modal(self, context, event): + if event.type == 'MOUSEMOVE': # Apply. + self.value = event.mouse_x + self.execute(context) + elif event.type == 'LEFTMOUSE': # Confirm. + return {'FINISHED'} + elif event.type in {'RIGHTMOUSE', 'ESC'}: # Cancel. + # Revert all changes that have been made + context.object.location.x = self.init_loc_x + return {'CANCELLED'} + + return {'RUNNING_MODAL'} + + def invoke(self, context, event): + self.init_loc_x = context.object.location.x + self.value = event.mouse_x + self.execute(context) + + context.window_manager.modal_handler_add(self) + return {'RUNNING_MODAL'} + + +# Only needed if you want to add into a dynamic menu. +def menu_func(self, context): + self.layout.operator(ModalOperator.bl_idname, text="Modal Operator") + + +# Register and add to the object menu (required to also use F3 search "Modal Operator" for quick access). +bpy.utils.register_class(ModalOperator) +bpy.types.VIEW3D_MT_object.append(menu_func) + +# Test call. +bpy.ops.object.modal_operator('INVOKE_DEFAULT') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.7.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.7.py new file mode 100644 index 0000000..cc6dbc9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Operator.7.py @@ -0,0 +1,45 @@ +""" +Enum Search Popup ++++++++++++++++++ + +You may want to have an operator prompt the user to select an item +from a search field, this can be done using :class:`bpy.types.Operator.invoke_search_popup`. +""" +import bpy +from bpy.props import EnumProperty + + +class SearchEnumOperator(bpy.types.Operator): + bl_idname = "object.search_enum_operator" + bl_label = "Search Enum Operator" + bl_property = "my_search" + + my_search: EnumProperty( + name="My Search", + items=( + ('FOO', "Foo", ""), + ('BAR', "Bar", ""), + ('BAZ', "Baz", ""), + ), + ) + + def execute(self, context): + self.report({'INFO'}, "Selected:" + self.my_search) + return {'FINISHED'} + + def invoke(self, context, event): + context.window_manager.invoke_search_popup(self) + return {'RUNNING_MODAL'} + + +# Only needed if you want to add into a dynamic menu. +def menu_func(self, context): + self.layout.operator(SearchEnumOperator.bl_idname, text="Search Enum Operator") + + +# Register and add to the object menu (required to also use F3 search "Search Enum Operator" for quick access). +bpy.utils.register_class(SearchEnumOperator) +bpy.types.VIEW3D_MT_object.append(menu_func) + +# Test call. +bpy.ops.object.search_enum_operator('INVOKE_DEFAULT') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Panel.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Panel.0.py new file mode 100644 index 0000000..879d47e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Panel.0.py @@ -0,0 +1,29 @@ +""" +Basic Panel Example ++++++++++++++++++++ + +This script is a simple panel which will draw into the object properties +section. + +Notice the 'CATEGORY_PT_name' :class:`Panel.bl_idname`, this is a naming +convention for panels. + +.. note:: + + Panel subclasses must be registered for Blender to use them. +""" +import bpy + + +class HelloWorldPanel(bpy.types.Panel): + bl_idname = "OBJECT_PT_hello_world" + bl_label = "Hello World" + bl_space_type = 'PROPERTIES' + bl_region_type = 'WINDOW' + bl_context = "object" + + def draw(self, context): + self.layout.label(text="Hello World") + + +bpy.utils.register_class(HelloWorldPanel) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Panel.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Panel.1.py new file mode 100644 index 0000000..911ece7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Panel.1.py @@ -0,0 +1,38 @@ +""" +Simple Object Panel ++++++++++++++++++++ + +This panel has a :class:`Panel.poll` and :class:`Panel.draw_header` function, +even though the contents is basic this closely resembles blenders panels. +""" +import bpy + + +class ObjectSelectPanel(bpy.types.Panel): + bl_idname = "OBJECT_PT_select" + bl_label = "Select" + bl_space_type = 'PROPERTIES' + bl_region_type = 'WINDOW' + bl_context = "object" + bl_options = {'DEFAULT_CLOSED'} + + @classmethod + def poll(cls, context): + return (context.object is not None) + + def draw_header(self, context): + layout = self.layout + layout.label(text="My Select Panel") + + def draw(self, context): + layout = self.layout + + box = layout.box() + box.label(text="Selection Tools") + box.operator("object.select_all").action = 'TOGGLE' + row = box.row() + row.operator("object.select_all").action = 'INVERT' + row.operator("object.select_random") + + +bpy.utils.register_class(ObjectSelectPanel) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Panel.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Panel.2.py new file mode 100644 index 0000000..ee7dae5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.Panel.2.py @@ -0,0 +1,37 @@ +""" +Mix-in Classes +++++++++++++++ +A mix-in parent class can be used to share common properties and +:class:`Menu.poll` function. +""" +import bpy + + +class View3DPanel: + bl_space_type = 'VIEW_3D' + bl_region_type = 'UI' + bl_category = "Tool" + + @classmethod + def poll(cls, context): + return (context.object is not None) + + +class PanelOne(View3DPanel, bpy.types.Panel): + bl_idname = "VIEW3D_PT_test_1" + bl_label = "Panel One" + + def draw(self, context): + self.layout.label(text="Small Class") + + +class PanelTwo(View3DPanel, bpy.types.Panel): + bl_idname = "VIEW3D_PT_test_2" + bl_label = "Panel Two" + + def draw(self, context): + self.layout.label(text="Also Small Class") + + +bpy.utils.register_class(PanelOne) +bpy.utils.register_class(PanelTwo) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.PoseBone.bbone_segment_matrix.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.PoseBone.bbone_segment_matrix.0.py new file mode 100644 index 0000000..206a12c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.PoseBone.bbone_segment_matrix.0.py @@ -0,0 +1,37 @@ +""" +This example shows how to use B-Bone segment matrices to emulate deformation +produced by the Armature modifier or constraint when assigned to the given bone +(without Preserve Volume). The coordinates are processed in armature Pose space: +""" +import bpy + + +def bbone_deform_matrix(pose_bone, point): + index, blend_next = pose_bone.bbone_segment_index(point) + + rest1 = pose_bone.bbone_segment_matrix(index, rest=True) + pose1 = pose_bone.bbone_segment_matrix(index, rest=False) + deform1 = pose1 @ rest1.inverted() + + # `bbone_segment_index` ensures that index + 1 is always valid + rest2 = pose_bone.bbone_segment_matrix(index + 1, rest=True) + pose2 = pose_bone.bbone_segment_matrix(index + 1, rest=False) + deform2 = pose2 @ rest2.inverted() + + deform = deform1 * (1 - blend_next) + deform2 * blend_next + + return pose_bone.matrix @ deform @ pose_bone.bone.matrix_local.inverted() + + +# Armature modifier deforming vertices: +mesh = bpy.data.objects["Mesh"] +pose_bone = bpy.data.objects["Armature"].pose.bones["Bone"] + +for vertex in mesh.data.vertices: + vertex.co = bbone_deform_matrix(pose_bone, vertex.co) @ vertex.co + +# Armature constraint modifying an object transform: +empty = bpy.data.objects["Empty"] +matrix = empty.matrix_world + +empty.matrix_world = bbone_deform_matrix(pose_bone, matrix.translation) @ matrix diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.PropertyGroup.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.PropertyGroup.0.py new file mode 100644 index 0000000..e0920c8 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.PropertyGroup.0.py @@ -0,0 +1,41 @@ +""" +Custom Properties ++++++++++++++++++ + +PropertyGroups are the base class for dynamically defined sets of properties. + +They can be used to extend existing Blender data with your own types which can +be animated, accessed from the user interface and from Python. + +.. note:: + + The values assigned to Blender data are saved to disk but the class + definitions are not, this means whenever you load Blender the class needs + to be registered too. + + This is best done by creating an add-on which loads on startup and registers + your properties. + +.. note:: + + PropertyGroups must be registered before assigning them to Blender data. + +.. seealso:: + + Property types used in class declarations are all in :mod:`bpy.props` +""" +import bpy + + +class MyPropertyGroup(bpy.types.PropertyGroup): + custom_1: bpy.props.FloatProperty(name="My Float") + custom_2: bpy.props.IntProperty(name="My Int") + + +bpy.utils.register_class(MyPropertyGroup) + +bpy.types.Object.my_prop_grp = bpy.props.PointerProperty(type=MyPropertyGroup) + + +# Test this worked. +bpy.data.objects[0].my_prop_grp.custom_1 = 22.0 diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.RenderEngine.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.RenderEngine.1.py new file mode 100644 index 0000000..5e05e00 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.RenderEngine.1.py @@ -0,0 +1,186 @@ +""" +Simple Render Engine +++++++++++++++++++++ +""" + +import bpy +import array + + +class CustomRenderEngine(bpy.types.RenderEngine): + # These three members are used by Blender to set up the + # RenderEngine; define its internal name, visible name and capabilities. + bl_idname = "CUSTOM" + bl_label = "Custom" + bl_use_preview = True + + # Init is called whenever a new render engine instance is created. Multiple + # instances may exist at the same time, for example for a viewport and final + # render. + # Note the generic arguments signature, and the call to the parent class + # `__init__` methods, which are required for Blender to create the underlying + # `RenderEngine` data. + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.scene_data = None + self.draw_data = None + + # When the render engine instance is destroy, this is called. Clean up any + # render engine data here, for example stopping running render threads. + def __del__(self): + # Own delete code... + super().__del__() + + # This is the method called by Blender for both final renders (F12) and + # small preview for materials, world and lights. + def render(self, depsgraph): + scene = depsgraph.scene + scale = scene.render.resolution_percentage / 100.0 + self.size_x = int(scene.render.resolution_x * scale) + self.size_y = int(scene.render.resolution_y * scale) + + # Fill the render result with a flat color. The frame-buffer is + # defined as a list of pixels, each pixel itself being a list of + # R,G,B,A values. + if self.is_preview: + color = [0.1, 0.2, 0.1, 1.0] + else: + color = [0.2, 0.1, 0.1, 1.0] + + pixel_count = self.size_x * self.size_y + rect = [color] * pixel_count + + # Here we write the pixel values to the RenderResult + result = self.begin_result(0, 0, self.size_x, self.size_y) + layer = result.layers[0].passes["Combined"] + layer.rect = rect + self.end_result(result) + + # For viewport renders, this method gets called once at the start and + # whenever the scene or 3D viewport changes. This method is where data + # should be read from Blender in the same thread. Typically a render + # thread will be started to do the work while keeping Blender responsive. + def view_update(self, context, depsgraph): + region = context.region + view3d = context.space_data + scene = depsgraph.scene + + # Get viewport dimensions + dimensions = region.width, region.height + + if not self.scene_data: + # First time initialization + self.scene_data = [] + first_time = True + + # Loop over all datablocks used in the scene. + for datablock in depsgraph.ids: + pass + else: + first_time = False + + # Test which datablocks changed + for update in depsgraph.updates: + print("Datablock updated: ", update.id.name) + + # Test if any material was added, removed or changed. + if depsgraph.id_type_updated('MATERIAL'): + print("Materials updated") + + # Loop over all object instances in the scene. + if first_time or depsgraph.id_type_updated('OBJECT'): + for instance in depsgraph.object_instances: + pass + + # For viewport renders, this method is called whenever Blender redraws + # the 3D viewport. The renderer is expected to quickly draw the render + # with OpenGL, and not perform other expensive work. + # Blender will draw overlays for selection and editing on top of the + # rendered image automatically. + def view_draw(self, context, depsgraph): + # Lazily import GPU module, so that the render engine works in + # background mode where the GPU module can't be imported by default. + import gpu + + region = context.region + scene = depsgraph.scene + + # Get viewport dimensions + dimensions = region.width, region.height + + # Bind shader that converts from scene linear to display space, + gpu.state.blend_set('ALPHA_PREMULT') + self.bind_display_space_shader(scene) + + if not self.draw_data or self.draw_data.dimensions != dimensions: + self.draw_data = CustomDrawData(dimensions) + + self.draw_data.draw() + + self.unbind_display_space_shader() + gpu.state.blend_set('NONE') + + +class CustomDrawData: + def __init__(self, dimensions): + import gpu + + # Generate dummy float image buffer. + self.dimensions = dimensions + width, height = dimensions + + pixels = width * height * array.array('f', [0.1, 0.2, 0.1, 1.0]) + pixels = gpu.types.Buffer('FLOAT', width * height * 4, pixels) + + # Generate texture. + self.texture = gpu.types.GPUTexture((width, height), format='RGBA16F', data=pixels) + + # Note: This is just a didactic example. + # In this case it would be more convenient to fill the texture with: + # self.texture.clear('FLOAT', value=[0.1, 0.2, 0.1, 1.0]) + + def __del__(self): + del self.texture + + def draw(self): + from gpu_extras.presets import draw_texture_2d + draw_texture_2d(self.texture, (0, 0), self.texture.width, self.texture.height) + + +# RenderEngines also need to tell UI Panels that they are compatible with. +# We recommend to enable all panels marked as BLENDER_RENDER, and then +# exclude any panels that are replaced by custom panels registered by the +# render engine, or that are not supported. +def get_panels(): + exclude_panels = { + 'VIEWLAYER_PT_filter', + 'VIEWLAYER_PT_layer_passes', + } + + panels = [] + for panel in bpy.types.Panel.__subclasses__(): + if hasattr(panel, 'COMPAT_ENGINES') and 'BLENDER_RENDER' in panel.COMPAT_ENGINES: + if panel.__name__ not in exclude_panels: + panels.append(panel) + + return panels + + +def register(): + # Register the RenderEngine. + bpy.utils.register_class(CustomRenderEngine) + + for panel in get_panels(): + panel.COMPAT_ENGINES.add('CUSTOM') + + +def unregister(): + bpy.utils.unregister_class(CustomRenderEngine) + + for panel in get_panels(): + if 'CUSTOM' in panel.COMPAT_ENGINES: + panel.COMPAT_ENGINES.remove('CUSTOM') + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.RenderEngine.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.RenderEngine.2.py new file mode 100644 index 0000000..e2bf261 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.RenderEngine.2.py @@ -0,0 +1,36 @@ +""" +GPU Render Engine ++++++++++++++++++ +""" + +import bpy + + +class CustomGPURenderEngine(bpy.types.RenderEngine): + bl_idname = "CUSTOM_GPU" + bl_label = "Custom GPU" + + # Request a GPU context to be created and activated for the render method. + # This may be used either to perform the rendering itself, or to allocate + # and fill a texture for more efficient drawing. + bl_use_gpu_context = True + + def render(self, depsgraph): + # Lazily import GPU module, since GPU context is only created on demand + # for rendering and does not exist on register. + import gpu + + # Perform rendering task. + pass + + +def register(): + bpy.utils.register_class(CustomGPURenderEngine) + + +def unregister(): + bpy.utils.unregister_class(CustomGPURenderEngine) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.UIList.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.UIList.1.py new file mode 100644 index 0000000..09e0bc6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.UIList.1.py @@ -0,0 +1,79 @@ +""" +Basic UIList Example +++++++++++++++++++++ + +This script is the UIList subclass used to show material slots, with a bunch of additional commentaries. + +Notice the name of the class, this naming convention is similar as the one for panels or menus. + +.. note:: + + UIList subclasses must be registered for Blender to use them. +""" +import bpy + + +class MATERIAL_UL_matslots_example(bpy.types.UIList): + # The draw_item function is called for each item of the collection that is visible in the list. + # data is the RNA object containing the collection, + # item is the current drawn item of the collection, + # icon is the "computed" icon for the item (as an integer, because some objects like materials or textures + # have custom icons ID, which are not available as enum items). + # active_data is the RNA object containing the active property for the collection (i.e. integer pointing to the + # active item of the collection). + # active_propname is the name of the active property (use 'getattr(active_data, active_propname)'). + # index is index of the current item in the collection. + # flt_flag is the result of the filtering process for this item. + # Note: as index and flt_flag are optional arguments, you do not have to use/declare them here if you don't + # need them. + def draw_item(self, context, layout, data, item, icon, active_data, active_propname): + ob = data + slot = item + ma = slot.material + # You should always start your row layout by a label (icon + text), or a non-embossed text field, + # this will also make the row easily selectable in the list! The later also enables ctrl-click rename. + # We use icon_value of label, as our given icon is an integer value, not an enum ID. + # Note "data" names should never be translated! + if ma: + layout.prop(ma, "name", text="", emboss=False, icon_value=icon) + else: + layout.label(text="", translate=False, icon_value=icon) + + +# And now we can use this list everywhere in Blender. Here is a small example panel. +class UIListPanelExample1(bpy.types.Panel): + """Creates a Panel in the Object properties window""" + bl_label = "UIList Example 1 Panel" + bl_idname = "OBJECT_PT_ui_list_example_1" + bl_space_type = 'PROPERTIES' + bl_region_type = 'WINDOW' + bl_context = "object" + + def draw(self, context): + layout = self.layout + + obj = context.object + + # `template_list` now takes two new arguments. + # The first one is the identifier of the registered UIList to use (if you want only the default list, + # with no custom draw code, use "UI_UL_list"). + layout.template_list("MATERIAL_UL_matslots_example", "", obj, "material_slots", obj, "active_material_index") + + # The second one can usually be left as an empty string. + # It's an additional ID used to distinguish lists in case you use the same list several times in a given area. + layout.template_list("MATERIAL_UL_matslots_example", "compact", obj, "material_slots", + obj, "active_material_index", type='COMPACT') + + +def register(): + bpy.utils.register_class(MATERIAL_UL_matslots_example) + bpy.utils.register_class(UIListPanelExample1) + + +def unregister(): + bpy.utils.unregister_class(UIListPanelExample1) + bpy.utils.unregister_class(MATERIAL_UL_matslots_example) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.UIList.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.UIList.2.py new file mode 100644 index 0000000..b3a09bc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.UIList.2.py @@ -0,0 +1,216 @@ +""" +Advanced UIList Example - Filtering and Reordering +++++++++++++++++++++++++++++++++++++++++++++++++++ + +This script is an extended version of the ``UIList`` subclass used to show vertex groups. It is not used 'as is', +because iterating over all vertices in a 'draw' function is a very bad idea for UI performance! However, it's a good +example of how to create/use filtering/reordering callbacks. +""" +import bpy + + +class MESH_UL_vgroups_slow(bpy.types.UIList): + # Constants (flags). + # Be careful not to shadow FILTER_ITEM! + VGROUP_EMPTY = 1 << 0 + + # Custom properties, saved with `.blend` file. + use_filter_empty: bpy.props.BoolProperty( + name="Filter Empty", + default=False, + options=set(), + description="Whether to filter empty vertex groups", + ) + use_filter_empty_reverse: bpy.props.BoolProperty( + name="Reverse Empty", + default=False, + options=set(), + description="Reverse empty filtering", + ) + use_filter_name_reverse: bpy.props.BoolProperty( + name="Reverse Name", + default=False, + options=set(), + description="Reverse name filtering", + ) + use_filter_orderby_invert: bpy.props.BoolProperty( + name="Reverse Order", + default=False, + options=set(), + description="Reverse order filtering", + ) + + # This allows us to have mutually exclusive options, which are also all disable-able! + def _gen_order_update(name1, name2): + def _u(self, ctxt): + if (getattr(self, name1)): + setattr(self, name2, False) + return _u + use_order_name: bpy.props.BoolProperty( + name="Name", default=False, options=set(), + description="Sort groups by their name (case-insensitive)", + update=_gen_order_update("use_order_name", "use_order_importance"), + ) + use_order_importance: bpy.props.BoolProperty( + name="Importance", + default=False, + options=set(), + description="Sort groups by their average weight in the mesh", + update=_gen_order_update("use_order_importance", "use_order_name"), + ) + + # Usual draw item function. + def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index, flt_flag): + # Just in case, we do not use it here! + self.use_filter_invert = False + + # assert(isinstance(item, bpy.types.VertexGroup) + vgroup = item + # Here we use one feature of new filtering feature: it can pass data to draw_item, through flt_flag + # parameter, which contains exactly what filter_items set in its filter list for this item! + # In this case, we show empty groups grayed out. + if flt_flag & self.VGROUP_EMPTY: + col = layout.column() + col.enabled = False + col.alignment = 'LEFT' + col.prop(vgroup, "name", text="", emboss=False, icon_value=icon) + else: + layout.prop(vgroup, "name", text="", emboss=False, icon_value=icon) + icon = 'LOCKED' if vgroup.lock_weight else 'UNLOCKED' + layout.prop(vgroup, "lock_weight", text="", icon=icon, emboss=False) + + def draw_filter(self, context, layout): + # Nothing much to say here, it's usual UI code... + row = layout.row() + + subrow = row.row(align=True) + subrow.prop(self, "filter_name", text="") + icon = 'ZOOM_OUT' if self.use_filter_name_reverse else 'ZOOM_IN' + subrow.prop(self, "use_filter_name_reverse", text="", icon=icon) + + subrow = row.row(align=True) + subrow.prop(self, "use_filter_empty", toggle=True) + icon = 'ZOOM_OUT' if self.use_filter_empty_reverse else 'ZOOM_IN' + subrow.prop(self, "use_filter_empty_reverse", text="", icon=icon) + + row = layout.row(align=True) + row.label(text="Order by:") + row.prop(self, "use_order_name", toggle=True) + row.prop(self, "use_order_importance", toggle=True) + icon = 'TRIA_UP' if self.use_filter_orderby_invert else 'TRIA_DOWN' + row.prop(self, "use_filter_orderby_invert", text="", icon=icon) + + def filter_items_empty_vgroups(self, context, vgroups): + # This helper function checks vgroups to find out whether they are empty, and what's their average weights. + # TODO: This should be RNA helper actually (a vgroup prop like `"raw_data: ((vidx, vweight), etc.)"`). + # Too slow for Python! + obj_data = context.active_object.data + ret = {vg.index: [True, 0.0] for vg in vgroups} + if hasattr(obj_data, "vertices"): # Mesh data + if obj_data.is_editmode: + import bmesh + bm = bmesh.from_edit_mesh(obj_data) + # only ever one deform weight layer + dvert_lay = bm.verts.layers.deform.active + fact = 1 / len(bm.verts) + if dvert_lay: + for v in bm.verts: + for vg_idx, vg_weight in v[dvert_lay].items(): + ret[vg_idx][0] = False + ret[vg_idx][1] += vg_weight * fact + else: + fact = 1 / len(obj_data.vertices) + for v in obj_data.vertices: + for vg in v.groups: + ret[vg.group][0] = False + ret[vg.group][1] += vg.weight * fact + elif hasattr(obj_data, "points"): # Lattice data + # XXX: no access to lattice edit-data? + fact = 1 / len(obj_data.points) + for v in obj_data.points: + for vg in v.groups: + ret[vg.group][0] = False + ret[vg.group][1] += vg.weight * fact + return ret + + def filter_items(self, context, data, propname): + # This function gets the collection property (as the usual tuple (data, propname)), and must return two lists: + # * The first one is for filtering, it must contain 32bit integers were self.bitflag_filter_item marks the + # matching item as filtered (i.e. to be shown). The upper 16 bits (including `self.bitflag_filter_item`) are + # reserved for internal use, the lower 16 bits are free for custom use. Here we use the first bit to mark + # VGROUP_EMPTY. + # * The second one is for reordering, it must return a list containing the new indices of the items (which + # gives us a mapping `org_idx -> new_idx`). + # Please note that the default UI_UL_list defines helper functions for common tasks (see its doc for more info). + # If you do not make filtering and/or ordering, return empty list(s) (this will be more efficient than + # returning full lists doing nothing!). + vgroups = getattr(data, propname) + helper_funcs = bpy.types.UI_UL_list + + # Default return values. + flt_flags = [] + flt_neworder = [] + + # Pre-compute of vertex-groups data, unfortunately this is CPU-intensive. + vgroups_empty = self.filter_items_empty_vgroups(context, vgroups) + + # Filtering by name. + if self.filter_name: + flt_flags = helper_funcs.filter_items_by_name(self.filter_name, self.bitflag_filter_item, vgroups, "name", + reverse=self.use_filter_name_reverse) + if not flt_flags: + flt_flags = [self.bitflag_filter_item] * len(vgroups) + + # Filter by emptiness. + for idx, vg in enumerate(vgroups): + if vgroups_empty[vg.index][0]: + flt_flags[idx] |= self.VGROUP_EMPTY + if self.use_filter_empty and self.use_filter_empty_reverse: + flt_flags[idx] &= ~self.bitflag_filter_item + elif self.use_filter_empty and not self.use_filter_empty_reverse: + flt_flags[idx] &= ~self.bitflag_filter_item + + # Reorder by name or average weight. + if self.use_order_name: + flt_neworder = helper_funcs.sort_items_by_name(vgroups, "name") + if self.use_filter_orderby_invert: + flt_neworder.reverse() + elif self.use_order_importance: + _sort = [(idx, vgroups_empty[vg.index][1]) for idx, vg in enumerate(vgroups)] + highest_first = not self.use_filter_orderby_invert + flt_neworder = helper_funcs.sort_items_helper(_sort, lambda e: e[1], highest_first) + + return flt_flags, flt_neworder + + +# Minimal code to use above UIList... +class UIListPanelExample2(bpy.types.Panel): + """Creates a Panel in the Object properties window""" + bl_label = "UIList Example 2 Panel" + bl_idname = "OBJECT_PT_ui_list_example_2" + bl_space_type = 'PROPERTIES' + bl_region_type = 'WINDOW' + bl_context = "object" + + def draw(self, context): + layout = self.layout + obj = context.object + + # `template_list` now takes two new arguments. + # The first one is the identifier of the registered UIList to use (if you want only the default list, + # with no custom draw code, use "UI_UL_list"). + layout.template_list("MESH_UL_vgroups_slow", "", obj, "vertex_groups", obj.vertex_groups, "active_index") + + +def register(): + bpy.utils.register_class(MESH_UL_vgroups_slow) + bpy.utils.register_class(UIListPanelExample2) + + +def unregister(): + bpy.utils.unregister_class(UIListPanelExample2) + bpy.utils.unregister_class(MESH_UL_vgroups_slow) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.USDHook.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.USDHook.0.py new file mode 100644 index 0000000..cd7530a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.USDHook.0.py @@ -0,0 +1,373 @@ +""" +USD Hook Example +++++++++++++++++ + +This example shows an implementation of ``USDHook`` to extend USD +export and import functionality. + +Callback Function API +--------------------- + +One may optionally define any or all of the following callback functions +in the ``USDHook`` subclass. + +on_export +^^^^^^^^^ + +Called before the USD export finalizes, allowing modifications to the USD +stage immediately before it is saved. + +Args: + +- ``export_context`` (`USDSceneExportContext`_): Provides access to the stage and dependency graph + +Returns: + +- ``True`` on success or ``False`` if the operation was bypassed or otherwise failed to complete + +on_material_export +^^^^^^^^^^^^^^^^^^ + +Called for each material that is exported, allowing modifications to the USD material, +such as shader generation. + +Args: + +- ``export_context`` (`USDMaterialExportContext`_): Provides access to the stage and a texture export utility function +- ``bl_material`` (``bpy.types.Material``): The source Blender material +- ``usd_material`` (``pxr.UsdShade.Material``): The target USD material to be exported + +Returns: + +- ``True`` on success or ``False`` if the operation was bypassed or otherwise failed to complete + +Note that the target USD material might already have connected shaders created by the USD exporter or +by other material export hooks. + +on_import +^^^^^^^^^ + +Called after the USD import finalizes. + +Args: + +- ``import_context`` (`USDSceneImportContext`_): + Provides access to the stage and a map associating USD prim paths and Blender IDs + +Returns: + +- ``True`` on success or ``False`` if the operation was bypassed or otherwise failed to complete + + +material_import_poll +^^^^^^^^^^^^^^^^^^^^ + +Called to determine if the ``USDHook`` implementation can convert a given USD material. + +Args: + +- ``import_context`` (`USDMaterialImportContext`_): Provides access to the stage and a texture import utility function +- ``usd_material`` (``pxr.UsdShade.Material``): The source USD material to be exported + +Returns: + +- ``True`` if the hook can convert the material or ``False`` otherwise + +If any hook returns ``True`` from ``material_import_poll``, the USD importer will skip standard ``USD Preview Surface`` +or ``MaterialX`` import and invoke the hook's `on_material_import`_ method to convert the material instead. + +on_material_import +^^^^^^^^^^^^^^^^^^ + +Called for each material that is imported, to allow converting the USD material to nodes on the Blender material. +To ensure that this function gets called, the hook must also implement the ``material_import_poll()`` +callback to return ``True`` for the given USD material. + +Args: + +- ``import_context`` (`USDMaterialImportContext`_): Provides access to the stage and a texture import utility function +- ``bl_material`` (``bpy.types.Material``): The target Blender material with an empty node tree +- ``usd_material`` (``pxr.UsdShade.Material``): The source USD material to be imported + +Returns: + +- ``True`` on success or ``False`` if the conversion failed or otherwise did not complete + + +Context Classes +--------------- + +Instances of the following built-in classes are provided as arguments to the callbacks. + +USDSceneExportContext +^^^^^^^^^^^^^^^^^^^^^ + +Argument for `on_export`_. + +Methods: + +- ``get_stage()``: returns the USD stage to be saved +- ``get_depsgraph()``: returns the Blender scene dependency graph +- ``get_prim_map()`` returns a ``dict`` where the key is an exported USD Prim path and the value a ``list`` + of the IDs associated with that prim. + + +USDMaterialExportContext +^^^^^^^^^^^^^^^^^^^^^^^^ + +Argument for `on_material_export`_. + +Methods: + +- ``get_stage()``: returns the USD stage to be saved +- ``export_texture(image: bpy.types.Image)``: Returns the USD asset path for the given texture image + +The ``export_texture`` function will save in-memory images and may copy texture assets, +depending on the current USD export options. +For example, by default calling ``export_texture(/foo/bar.png)`` will copy the file to a ``textures`` +directory next to the exported USD and will return the relative path ``./textures/bar.png``. + + +USDSceneImportContext +^^^^^^^^^^^^^^^^^^^^^ + +Argument for `on_import`_. + +Methods: + +- ``get_prim_map()`` returns a ``dict`` where the key is an imported USD Prim path and the value a ``list`` + of the IDs created by the imported prim. +- ``get_stage()`` returns the USD stage which was imported. + + +USDMaterialImportContext +^^^^^^^^^^^^^^^^^^^^^^^^ + +Argument for `material_import_poll`_ and `on_material_import`_. + +Methods: + +- ``get_stage()``: + returns the USD stage to be saved. +- ``import_texture(asset_path: str)``: + for the given USD texture asset path, returns a ``tuple[str, bool]``, + containing the asset's local path and a bool indicating whether the path references a temporary file. + +The ``import_texture`` function may copy the texture to the local file system if the given asset path is a +package-relative path for a USDZ archive, depending on the current USD ``Import Textures`` options. +When the ``Import Textures`` mode is ``Packed``, the texture is saved to a temporary location and the +second element of the returned tuple is ``True``, indicating that the file is temporary, in which +case it may be necessary to pack the image. The original asset path will be returned unchanged if it's +already a local file or if it could not be copied to a local destination. + + +Errors +------ + +Exceptions raised by these functions will be reported in Blender with the exception details printed to the console. + + +Example Code +------------ + +The ``USDHookExample`` class in the example below implements the following functions: + +- ``on_export()`` function to add custom data to the stage's root layer. +- ``on_material_export()`` function to create a simple ``MaterialX`` shader on the given USD material. +- ``on_import()`` function to create a text object to display the stage's custom layer data. +- ``material_import_poll()`` returns ``True`` if the given USD material has an ``mtlx`` context. +- ``on_material_import()`` function to convert a simple ``MaterialX`` shader with a ``base_color`` input. + +""" + +bl_info = { + "name": "USD Hook Example", + "blender": (4, 4, 0), +} + +import bpy +import bpy.types +import textwrap + +# Make `pxr` module available, for running as `bpy` PIP package. +bpy.utils.expose_bundled_modules() + +import pxr.Gf as Gf +import pxr.Sdf as Sdf +import pxr.Usd as Usd +import pxr.UsdShade as UsdShade + + +class USDHookExample(bpy.types.USDHook): + """Example implementation of USD IO hooks""" + bl_idname = "usd_hook_example" + bl_label = "Example" + + @staticmethod + def on_export(export_context): + """ Include the Blender filepath in the root layer custom data. + """ + + stage = export_context.get_stage() + + if stage is None: + return False + data = bpy.data + if data is None: + return False + + # Set the custom data. + rootLayer = stage.GetRootLayer() + customData = rootLayer.customLayerData + customData["blenderFilepath"] = data.filepath + rootLayer.customLayerData = customData + + return True + + @staticmethod + def on_material_export(export_context, bl_material, usd_material): + """ Create a simple MaterialX shader on the exported material. + """ + + stage = export_context.get_stage() + + # Create a MaterialX standard surface shader + mtl_path = usd_material.GetPrim().GetPath() + shader = UsdShade.Shader.Define(stage, mtl_path.AppendPath("mtlxstandard_surface")) + shader.CreateIdAttr("ND_standard_surface_surfaceshader") + + # Connect the shader. MaterialX materials use "mtlx" renderContext + usd_material.CreateSurfaceOutput("mtlx").ConnectToSource(shader.ConnectableAPI(), "out") + + # Set the color to the Blender material's viewport display color. + col = bl_material.diffuse_color + shader.CreateInput("base_color", Sdf.ValueTypeNames.Color3f).Set(Gf.Vec3f(col[0], col[1], col[2])) + + return True + + @staticmethod + def on_import(import_context): + """Inspect the imported stage & objects to set some custom data + """ + + ########################################################### + # Store some USD metadata on each imported data-block. + ########################################################### + prim_map = import_context.get_prim_map() + + # Store prim path as a string on each data-block created. + for prim_path, data_blocks in prim_map.items(): + + # Type hints for prim map. + prim_path: Sdf.Path + data_blocks: list[bpy.types.ID] + + # Loop over mapped data-blocks to store some metadata. + for data_block in data_blocks: + data_block["prim_path"] = str(prim_path) + + ########################################################### + # Create a text object to display the stage's custom data. + ########################################################### + stage = import_context.get_stage() + + if stage is None: + return False + + # Get the custom data. + rootLayer = stage.GetRootLayer() + customData = rootLayer.customLayerData + + # Create a text object to display the stage path + # and custom data dictionary entries. + + bpy.ops.object.text_add() + ob = bpy.context.view_layer.objects.active + + if (ob is None) or (ob.data is None): + return False + + ob.name = "layer_data" + ob.data.name = "layer_data" + + # The stage root path is the first line. + text = rootLayer.realPath + + # Append key/value strings, enforcing text wrapping. + for item in customData.items(): + print(item) + text += '\n' + line = str(item[0]) + ': ' + str(item[1]) + text += textwrap.fill(line, width=80) + + ob.data.body = text + + return True + + @staticmethod + def material_import_poll(import_context, usd_material): + """ + Return True if the given USD material can be converted. + Return False otherwise. + """ + # We can convert MaterialX. + surf_output = usd_material.GetSurfaceOutput("mtlx") + return bool(surf_output) + + @staticmethod + def on_material_import(import_context, bl_material, usd_material): + """ + Import a simple mtlx material. Just handle the base_color input + of a ND_standard_surface_surfaceshader. + """ + + # We must confirm that we can handle this material. + surf_output = usd_material.GetSurfaceOutput("mtlx") + if not surf_output: + return False + + if not surf_output.HasConnectedSource(): + return False + + # Get the connected surface output source. + source = surf_output.GetConnectedSource() + # Get the shader prim from the source + shader = UsdShade.Shader(source[0]) + shader_id = shader.GetShaderId() + if shader_id != "ND_standard_surface_surfaceshader": + return False + + color_attr = shader.GetInput("base_color") + if color_attr is None: + return False + + # Create the node tree + nodes = bl_material.node_tree.nodes + output = nodes.new(type="ShaderNodeOutputMaterial") + bsdf = nodes.new(type="ShaderNodeBsdfPrincipled") + bsdf.location[0] -= 1.5 * bsdf.width + bl_material.node_tree.links.new(output.inputs["Surface"], bsdf.outputs["BSDF"]) + bsdf_base_color_input = bsdf.inputs['Base Color'] + + # Try to set the default color value. + # Get the authored default value + color = color_attr.Get() + + if color is None: + return False + + bsdf_base_color_input.default_value = (color[0], color[1], color[2], 1) + + return True + + +def register(): + bpy.utils.register_class(USDHookExample) + + +def unregister(): + bpy.utils.unregister_class(USDHookExample) + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.WindowManager.fileselect_add.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.WindowManager.fileselect_add.0.py new file mode 100644 index 0000000..64ba1fd --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.WindowManager.fileselect_add.0.py @@ -0,0 +1,45 @@ +""" +This method is used from the operators ``invoke`` callback +which must then return ``{'RUNNING_MODAL'}``. + +Accepting the file selector will run the operators ``execute`` callback. + +The following properties are supported: + +``filepath``: ``bpy.props.StringProperty(subtype='FILE_PATH')`` + Represents the absolute path to the file. +``dirpath``: ``bpy.props.StringProperty(subtype='DIR_PATH')`` + Represents the absolute path to the directory. +``filename``: ``bpy.props.StringProperty(subtype='FILE_NAME')`` + Represents the filename without the leading directory. +``files``: ``bpy.props.CollectionProperty(type=bpy.types.OperatorFileListElement)`` + When present in the operator this collection includes all selected files. +``filter_glob``: ``bpy.props.StringProperty(default="*.ext")`` + When present in the operator and it's not empty, + it will be used as a file filter (example value: ``*.zip;*.py;*.exe``). +``check_existing``: ``bpy.props.BoolProperty()`` + If this property is present and set to ``True``, + the operator will warn if the provided file-path already exists + by highlighting the filename input field in red. + + +.. warning:: + + After opening the file-browser the user may continue to use Blender, + this means it is possible for the user to change the context in ways + that would cause the operators ``poll`` function to fail. + + Unless the operator reads all necessary data from the context before the file-selector is opened, + it is recommended for operators to check the ``poll`` function from ``execute`` + to ensure the context is still valid. + + Example from the body of an operators ``execute`` function: + + .. code-block:: python + + if self.options.is_invoke: + # The context may have changed since invoking the file selector. + if not self.poll(context): + self.report({'ERROR'}, "Invalid context") + return {'CANCELLED'} +""" diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.WindowManager.popup_menu.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.WindowManager.popup_menu.0.py new file mode 100644 index 0000000..670444b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.WindowManager.popup_menu.0.py @@ -0,0 +1,14 @@ +""" +Popup menus can be useful for creating menus without having to register menu classes. + +Note that they will not block the scripts execution, so the caller can't wait for user input. +""" + +import bpy + + +def draw(self, context): + self.layout.label(text="Hello World") + + +bpy.context.window_manager.popup_menu(draw, title="Greeting", icon='INFO') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_prop_collection.foreach_get.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_prop_collection.foreach_get.0.py new file mode 100644 index 0000000..5a4a34f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_prop_collection.foreach_get.0.py @@ -0,0 +1,18 @@ +""" +Only works for 'basic type' properties (bool, int and float)! +Multi-dimensional arrays (like array of vectors) will be flattened into seq. +""" +import bpy + +mesh = bpy.context.object.data +collection = mesh.vertices + +# Allocate a flat list for the `co` property (X, Y, Z per vertex). +coords = [0.0] * len(collection) * 3 + +# Fast access. +collection.foreach_get("co", coords) + +# Python equivalent (per-element iteration is much slower). +for i, vert in enumerate(collection): + coords[i * 3], coords[i * 3 + 1], coords[i * 3 + 2] = vert.co diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_prop_collection.foreach_set.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_prop_collection.foreach_set.0.py new file mode 100644 index 0000000..b6b9090 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_prop_collection.foreach_set.0.py @@ -0,0 +1,21 @@ +""" +Only works for 'basic type' properties (bool, int and float)! +seq must be uni-dimensional, multi-dimensional arrays (like array of vectors) will be re-created from it. +""" +import bpy + +mesh = bpy.context.object.data +collection = mesh.vertices + +# Flatten all Z coordinates to zero (X, Y, Z per vertex). +coords = [0.0] * len(collection) * 3 +collection.foreach_get("co", coords) +for i in range(2, len(coords), 3): + coords[i] = 0.0 + +# Fast assignment. +collection.foreach_set("co", coords) + +# Python equivalent (per-element iteration is much slower). +for i, vert in enumerate(collection): + vert.co = (coords[i * 3], coords[i * 3 + 1], coords[i * 3 + 2]) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_struct.is_property_set.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_struct.is_property_set.0.py new file mode 100644 index 0000000..ed566fc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_struct.is_property_set.0.py @@ -0,0 +1,30 @@ +""" +.. note:: + + Properties defined at run-time store the values of the properties as custom-properties. + + This method checks if the underlying data exists, causing the property to be considered *set*. + + A common pattern for operators is to calculate a value for the properties + that have not had their values explicitly set by the caller + (where the caller could be a key-binding, menu-items or Python script for example). + + In the case of executing operators multiple times, values are re-used from the previous execution. + + For example: subdividing a mesh with a smooth value of 1.0 will keep using + that value on subsequent calls to subdivision, unless the operator is called with + that property set to a different value. + + This behavior can be disabled using the ``SKIP_SAVE`` option when the property is declared (see: :mod:`bpy.props`). + + The ``ghost`` argument allows detecting how a value from a previous execution is handled. + + - When true: The property is considered unset even if the value from a previous call is used. + - When false: The existence of any values causes ``is_property_set`` to return true. + + While this argument should typically be omitted, there are times when + it's important to know if a value is anything besides the default. + + For example, the previous value may have been scaled by the scene's unit scale. + In this case scaling the value multiple times would cause problems, so the ``ghost`` argument should be false. +""" diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_struct.keyframe_insert.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_struct.keyframe_insert.0.py new file mode 100644 index 0000000..b801a75 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_struct.keyframe_insert.0.py @@ -0,0 +1,11 @@ +""" +This is the most simple example of inserting a keyframe from Python. +""" + +import bpy + +obj = bpy.context.object + +# Set the keyframe at frame 1. +obj.location = (3.0, 4.0, 10.0) +obj.keyframe_insert(data_path="location", frame=1) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_struct.keyframe_insert.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_struct.keyframe_insert.1.py new file mode 100644 index 0000000..6a56683 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.types.bpy_struct.keyframe_insert.1.py @@ -0,0 +1,36 @@ +""" +Note that when keying data paths which contain nested properties this must be +done from the :class:`ID` subclass, in this case the :class:`Armature` rather +than the bone. +""" + +import bpy +from bpy.props import ( + FloatProperty, + PointerProperty, +) + + +# Define a nested property. +class MyPropGroup(bpy.types.PropertyGroup): + nested: FloatProperty(name="Nested", default=0.0) + + +# Register it so its available for all bones. +bpy.utils.register_class(MyPropGroup) +bpy.types.Bone.my_prop = PointerProperty( + type=MyPropGroup, + name="MyProp", +) + +# Get a bone. +obj = bpy.data.objects["Armature"] +arm = obj.data + +# Set the keyframe at frame 1. +arm.bones["Bone"].my_prop.nested = 10 +arm.keyframe_insert( + data_path='bones["Bone"].my_prop.nested', + frame=1, + group="Nested Group", +) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.utils.register_cli_command.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.utils.register_cli_command.0.py new file mode 100644 index 0000000..dcba8b3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.utils.register_cli_command.0.py @@ -0,0 +1,91 @@ +""" +**Custom Commands** + +Registering commands makes it possible to conveniently expose command line +functionality via commands passed to (``-c`` / ``--command``). +""" + +import os + +import bpy + + +def sysinfo_print(): + """ + Report basic system information. + """ + + import pprint + import platform + import textwrap + + width = 80 + indent = 2 + + print("Blender {:s}".format(bpy.app.version_string)) + print("Running on: {:s}-{:s}".format(platform.platform(), platform.machine())) + print("Processors: {!r}".format(os.cpu_count())) + print() + + # Dump `bpy.app`. + for attr in dir(bpy.app): + if attr.startswith("_"): + continue + # Overly verbose. + if attr in {"handlers", "build_cflags", "build_cxxflags"}: + continue + + value = getattr(bpy.app, attr) + if attr.startswith("build_"): + pass + elif isinstance(value, tuple): + pass + else: + # Otherwise ignore. + continue + + if isinstance(value, bytes): + value = value.decode("utf-8", errors="ignore") + + if isinstance(value, str): + pass + elif isinstance(value, tuple) and hasattr(value, "__dir__"): + value = { + attr_sub: value_sub + for attr_sub in dir(value) + # Exclude built-ins. + if not attr_sub.startswith(("_", "n_")) + # Exclude methods. + if not callable(value_sub := getattr(value, attr_sub)) + } + value = pprint.pformat(value, indent=0, width=width) + else: + value = pprint.pformat(value, indent=0, width=width) + + print("{:s}:\n{:s}\n".format(attr, textwrap.indent(value, " " * indent))) + + +def sysinfo_command(argv): + if argv and argv[0] == "--help": + print("Print system information & exit!") + return 0 + + sysinfo_print() + return 0 + + +cli_commands = [] + + +def register(): + cli_commands.append(bpy.utils.register_cli_command("sysinfo", sysinfo_command)) + + +def unregister(): + for cmd in cli_commands: + bpy.utils.unregister_cli_command(cmd) + cli_commands.clear() + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.utils.register_cli_command.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.utils.register_cli_command.1.py new file mode 100644 index 0000000..0522785 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/bpy.utils.register_cli_command.1.py @@ -0,0 +1,73 @@ +""" +**Using Python Argument Parsing** + +This example shows how the Python ``argparse`` module can be used with a custom command. + +Using ``argparse`` is generally recommended as it has many useful utilities and +generates a ``--help`` message for your command. +""" + +import os +import sys + +import bpy + + +def argparse_create(): + import argparse + + parser = argparse.ArgumentParser( + prog=os.path.basename(sys.argv[0]) + " --command keyconfig_export", + description="Write key-configuration to a file.", + ) + + parser.add_argument( + "-o", "--output", + dest="output", + metavar='OUTPUT', + type=str, + help="The path to write the keymap to.", + required=True, + ) + + parser.add_argument( + "-a", "--all", + dest="all", + action="store_true", + help="Write all key-maps (not only customized key-maps).", + required=False, + ) + + return parser + + +def keyconfig_export(argv): + parser = argparse_create() + args = parser.parse_args(argv) + + # Ensure the key configuration is loaded in background mode. + bpy.utils.keyconfig_init() + + bpy.ops.preferences.keyconfig_export( + filepath=args.output, + all=args.all, + ) + + return 0 + + +cli_commands = [] + + +def register(): + cli_commands.append(bpy.utils.register_cli_command("keyconfig_export", keyconfig_export)) + + +def unregister(): + for cmd in cli_commands: + bpy.utils.unregister_cli_command(cmd) + cli_commands.clear() + + +if __name__ == "__main__": + register() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.1.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.1.py new file mode 100644 index 0000000..6ce3f4e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.1.py @@ -0,0 +1,187 @@ +""" +Geometry Batches +++++++++++++++++ + +Geometry is drawn in batches. +A batch contains the necessary data to perform the drawing. +That includes an obligatory *Vertex Buffer* and an optional *Index Buffer*, +each of which is described in more detail in the following sections. +A batch also defines a draw type. +Typical draw types are ``POINTS``, ``LINES`` and ``TRIS``. +The draw type determines how the data will be interpreted and drawn. + +Vertex Buffers +++++++++++++++ + +A *Vertex Buffer Object* (VBO) (:class:`gpu.types.GPUVertBuf`) +is an array that contains the vertex attributes needed for drawing using a specific shader. +Typical vertex attributes are *location*, *normal*, *color*, and *uv*. +Every vertex buffer has a *Vertex Format* (:class:`gpu.types.GPUVertFormat`) +and a length corresponding to the number of vertices in the buffer. +A vertex format describes the attributes stored per vertex and their types. + +The following code demonstrates the creation of a vertex buffer that contains 6 vertices. +For each vertex 2 attributes will be stored: The position and the normal. + +.. code-block:: python + + import gpu + vertex_positions = [(0, 0, 0), ...] + vertex_normals = [(0, 0, 1), ...] + + fmt = gpu.types.GPUVertFormat() + fmt.attr_add(id="pos", comp_type='F32', len=3, fetch_mode='FLOAT') + fmt.attr_add(id="normal", comp_type='F32', len=3, fetch_mode='FLOAT') + + vbo = gpu.types.GPUVertBuf(len=6, format=fmt) + vbo.attr_fill(id="pos", data=vertex_positions) + vbo.attr_fill(id="normal", data=vertex_normals) + +This vertex buffer could be used to draw 6 points, 3 separate lines, 5 consecutive lines, 2 separate triangles, ... +E.g. in the case of lines, each two consecutive vertices define a line. +The type that will actually be drawn is determined when the batch is created later. + +Index Buffers ++++++++++++++ + +Often triangles and lines share one or more vertices. +With only a vertex buffer one would have to store all attributes for the these vertices multiple times. +This is very inefficient because in a connected triangle mesh every vertex is used 6 times on average. +A more efficient approach would be to use an *Index Buffer* (IBO) (:class:`gpu.types.GPUIndexBuf`), +sometimes referred to as *Element Buffer*. +An *Index Buffer* is an array that references vertices based on their index in the vertex buffer. + +For instance, to draw a rectangle composed of two triangles, one could use an index buffer. + +.. code-block:: python + + positions = ( + (-1, 1), (1, 1), + (-1, -1), (1, -1)) + + indices = ((0, 1, 2), (2, 1, 3)) + + ibo = gpu.types.GPUIndexBuf(type='TRIS', seq=indices) + +Here the first tuple in ``indices`` describes which vertices should be used for the first triangle +(same for the second tuple). +Note how the diagonal vertices 1 and 2 are shared between both triangles. + +Shaders ++++++++ + +A shader is a program that runs on the GPU (written in GLSL in our case). +There are multiple types of shaders. +The most important ones are *Vertex Shaders* and *Fragment Shaders*. +Typically multiple shaders are linked together into a *Program*. +However, in the Blender Python API the term *Shader* refers to an OpenGL Program. +Every :class:`gpu.types.GPUShader` consists of a vertex shader, a fragment shader and an optional geometry shader. +For common drawing tasks there are some built-in shaders accessible from :class:`gpu.shader.from_builtin` +with an identifier such as ``UNIFORM_COLOR`` or ``FLAT_COLOR``. There are specific builtin shaders for +drawing triangles, lines and points. + +Every shader defines a set of attributes and uniforms that have to be set in order to use the shader. +Attributes are properties that are set using a vertex buffer and can be different for individual vertices. +Uniforms are properties that are constant per draw call. +They can be set using the ``shader.uniform_*`` functions after the shader has been bound. + +.. note:: + + It is important to note that GLSL sources are reinterpreted to MSL (Metal Shading Language) + on Apple operating systems. + This uses a small compatibility layer that does not cover the whole GLSL language specification. + Here is a list of differences to keep in mind when targeting compatibility with Apple platforms: + + - The only matrix constructors available are: + + - diagonal scalar (example: ``mat2(1)``) + - all scalars (example: ``mat2(1, 0, 0, 1)``) + - column vector (example: ``mat2(vec2(1,0), vec2(0,1))``) + - reshape constructors work only for square matrices (example: ``mat3(mat4(1))``) + + - ``vertex``, ``fragment`` and ``kernel`` are reserved keywords. + - all types and keywords defined by the + `MSL specification `__ + are reserved keywords and should not be used. + + +Batch Creation +++++++++++++++ + +Batches can be created by first manually creating VBOs and IBOs. +However, it is recommended to use the :class:`gpu_extras.batch.batch_for_shader` function. +It makes sure that all the vertex attributes necessary for a specific shader are provided. +Consequently, the shader has to be passed to the function as well. +When using this function one rarely has to care about the vertex format, VBOs and IBOs created in the background. +This is still something one should know when drawing stuff though. + +Since batches can be drawn multiple times, they should be cached and reused whenever possible. + +Offscreen Rendering ++++++++++++++++++++ + +What one can see on the screen after rendering is called the *Front Buffer*. +When draw calls are issued, batches are drawn on a *Back Buffer* that will only be displayed +when all drawing is done and the current back buffer will become the new front buffer. +Sometimes, one might want to draw the batches into a distinct buffer that could be used as +texture to display on another object or to be saved as image on disk. +This is called Offscreen Rendering. +In Blender Offscreen Rendering is done using the :class:`gpu.types.GPUOffScreen` type. + +.. warning:: + + :class:`gpu.types.GPUOffScreen` objects are bound to the OpenGL context they have been created in. + This means that once Blender discards this context (i.e. the window is closed), + the offscreen instance will be freed. + +Examples +++++++++ + +To try these examples, just copy them into Blender's text editor and execute them. +To keep the examples relatively small, they just register a draw function that can't easily be removed anymore. +Blender has to be restarted in order to delete the draw handlers. + +3D Points with Single Color +""" + +import bpy +import gpu +from gpu_extras.batch import batch_for_shader + +coords = [(1, 1, 1), (-2, 0, 0), (-2, -1, 3), (0, 1, 1)] +shader = gpu.shader.from_builtin('POINT_UNIFORM_COLOR') +batch = batch_for_shader(shader, 'POINTS', {"pos": coords}) + + +def draw(): + shader.uniform_float("color", (1, 1, 0, 1)) + gpu.state.point_size_set(4.5) + batch.draw(shader) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW') + + +""" + +3D Lines with Single Color +-------------------------- +""" + +import bpy +import gpu +from gpu_extras.batch import batch_for_shader + +coords = [(1, 1, 1), (-2, 0, 0), (-2, -1, 3), (0, 1, 1)] +shader = gpu.shader.from_builtin('POLYLINE_UNIFORM_COLOR') +batch = batch_for_shader(shader, 'LINES', {"pos": coords}) + + +def draw(): + shader.uniform_float("viewportSize", gpu.state.viewport_get()[2:]) + shader.uniform_float("lineWidth", 4.5) + shader.uniform_float("color", (1, 1, 0, 1)) + batch.draw(shader) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.10.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.10.py new file mode 100644 index 0000000..0e7f87a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.10.py @@ -0,0 +1,67 @@ +""" +Custom Shader for dotted 3D Line +-------------------------------- + +In this example the arc length (distance to the first point on the line) is calculated in every vertex. +Between the vertex and fragment shader that value is automatically interpolated +for all points that will be visible on the screen. +In the fragment shader the ``sin`` of the arc length is calculated. +Based on the result a decision is made on whether the fragment should be drawn or not. +""" +import bpy +import gpu +from random import random +from mathutils import Vector +from gpu_extras.batch import batch_for_shader + +vert_out = gpu.types.GPUStageInterfaceInfo("my_interface") +vert_out.smooth('FLOAT', "v_ArcLength") + +shader_info = gpu.types.GPUShaderCreateInfo() +shader_info.push_constant('MAT4', "u_ViewProjectionMatrix") +shader_info.push_constant('FLOAT', "u_Scale") +shader_info.vertex_in(0, 'VEC3', "position") +shader_info.vertex_in(1, 'FLOAT', "arcLength") +shader_info.vertex_out(vert_out) +shader_info.fragment_out(0, 'VEC4', "FragColor") + +shader_info.vertex_source( + "void main()" + "{" + " v_ArcLength = arcLength;" + " gl_Position = u_ViewProjectionMatrix * vec4(position, 1.0f);" + "}" +) + +shader_info.fragment_source( + "void main()" + "{" + " if (step(sin(v_ArcLength * u_Scale), 0.5) == 1) discard;" + " FragColor = vec4(1.0);" + "}" +) + +shader = gpu.shader.create_from_info(shader_info) +del vert_out +del shader_info + +coords = [Vector((random(), random(), random())) * 5 for _ in range(5)] + +arc_lengths = [0.0] +for a, b in zip(coords[:-1], coords[1:]): + arc_lengths.append(arc_lengths[-1] + (a - b).length) + +batch = batch_for_shader( + shader, 'LINE_STRIP', + {"position": coords, "arcLength": arc_lengths}, +) + + +def draw(): + matrix = bpy.context.region_data.perspective_matrix + shader.uniform_float("u_ViewProjectionMatrix", matrix) + shader.uniform_float("u_Scale", 10) + batch.draw(shader) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.11.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.11.py new file mode 100644 index 0000000..5c1a568 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.11.py @@ -0,0 +1,96 @@ +""" +Custom compute shader (using image store) and vertex/fragment shader +-------------------------------------------------------------------- + +This is an example of how to use a custom compute shader +to write to a texture and then use that texture in a vertex/fragment shader. +The expected result is a 2x2 plane (size of the default cube), +which changes color from a green-black gradient to a green-red gradient, +based on current time. +""" +import bpy +import gpu +from mathutils import Matrix +from gpu_extras.batch import batch_for_shader +import time + +start_time = time.time() + +size = 128 +texture = gpu.types.GPUTexture((size, size), format='RGBA32F') + +# Create the compute shader to write to the texture. +compute_shader_info = gpu.types.GPUShaderCreateInfo() +compute_shader_info.image(0, 'RGBA32F', "FLOAT_2D", "img_output", qualifiers={"WRITE"}) +compute_shader_info.compute_source(''' +void main() +{ + vec4 pixel = vec4( + sin(time / 1.0), + gl_GlobalInvocationID.y/128.0, + 0.0, + 1.0 + ); + imageStore(img_output, ivec2(gl_GlobalInvocationID.xy), pixel); +}''') +compute_shader_info.push_constant('FLOAT', "time") +compute_shader_info.local_group_size(1, 1) +compute_shader = gpu.shader.create_from_info(compute_shader_info) + +# Create the shader to draw the texture. +vert_out = gpu.types.GPUStageInterfaceInfo("my_interface") +vert_out.smooth('VEC2', "uvInterp") +shader_info = gpu.types.GPUShaderCreateInfo() +shader_info.push_constant('MAT4', "viewProjectionMatrix") +shader_info.push_constant('MAT4', "modelMatrix") +shader_info.sampler(0, 'FLOAT_2D', "img_input") +shader_info.vertex_in(0, 'VEC2', "position") +shader_info.vertex_in(1, 'VEC2', "uv") +shader_info.vertex_out(vert_out) +shader_info.fragment_out(0, 'VEC4', "FragColor") + +shader_info.vertex_source( + "void main()" + "{" + " uvInterp = uv;" + " gl_Position = viewProjectionMatrix * modelMatrix * vec4(position, 0.0, 1.0);" + "}" +) + +shader_info.fragment_source( + "void main()" + "{" + " FragColor = texture(img_input, uvInterp);" + "}" +) + +shader = gpu.shader.create_from_info(shader_info) + +batch = batch_for_shader( + shader, 'TRI_STRIP', + { + "position": ((-1, -1), (1, -1), (-1, 1), (1, 1)), + "uv": ((0, 0), (1, 0), (0, 1), (1, 1)), + }, +) + + +def draw(): + shader.uniform_float("modelMatrix", Matrix.Translation((0, 0, 0)) @ Matrix.Scale(1, 4)) + shader.uniform_float("viewProjectionMatrix", bpy.context.region_data.perspective_matrix) + shader.uniform_sampler("img_input", texture) + batch.draw(shader) + compute_shader.image('img_output', texture) + compute_shader.uniform_float("time", time.time() - start_time) + gpu.compute.dispatch(compute_shader, 128, 128, 1) + + +def drawTimer(): + for area in bpy.context.screen.areas: + if area.type == 'VIEW_3D': + area.tag_redraw() + return 1.0 / 60.0 + + +bpy.app.timers.register(drawTimer) +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.2.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.2.py new file mode 100644 index 0000000..e308ce7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.2.py @@ -0,0 +1,50 @@ +""" +Triangle with Custom Shader +--------------------------- +""" +import bpy +import gpu +from gpu_extras.batch import batch_for_shader + + +vert_out = gpu.types.GPUStageInterfaceInfo("my_interface") +vert_out.smooth('VEC3', "pos") + +shader_info = gpu.types.GPUShaderCreateInfo() +shader_info.push_constant('MAT4', "viewProjectionMatrix") +shader_info.push_constant('FLOAT', "brightness") +shader_info.vertex_in(0, 'VEC3', "position") +shader_info.vertex_out(vert_out) +shader_info.fragment_out(0, 'VEC4', "FragColor") + +shader_info.vertex_source( + "void main()" + "{" + " pos = position;" + " gl_Position = viewProjectionMatrix * vec4(position, 1.0f);" + "}" +) + +shader_info.fragment_source( + "void main()" + "{" + " FragColor = vec4(pos * brightness, 1.0);" + "}" +) + +shader = gpu.shader.create_from_info(shader_info) +del vert_out +del shader_info + +coords = [(1, 1, 1), (2, 0, 0), (-2, -1, 3)] +batch = batch_for_shader(shader, 'TRIS', {"position": coords}) + + +def draw(): + matrix = bpy.context.region_data.perspective_matrix + shader.uniform_float("viewProjectionMatrix", matrix) + shader.uniform_float("brightness", 0.5) + batch.draw(shader) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.3.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.3.py new file mode 100644 index 0000000..ce05cb9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.3.py @@ -0,0 +1,31 @@ +""" +Wireframe Cube using Index Buffer +--------------------------------- +""" +import bpy +import gpu +from gpu_extras.batch import batch_for_shader + +coords = ( + (-1, -1, -1), (+1, -1, -1), + (-1, +1, -1), (+1, +1, -1), + (-1, -1, +1), (+1, -1, +1), + (-1, +1, +1), (+1, +1, +1)) + +indices = ( + (0, 1), (0, 2), (1, 3), (2, 3), + (4, 5), (4, 6), (5, 7), (6, 7), + (0, 4), (1, 5), (2, 6), (3, 7)) + +shader = gpu.shader.from_builtin('POLYLINE_UNIFORM_COLOR') +batch = batch_for_shader(shader, 'LINES', {"pos": coords}, indices=indices) + + +def draw(): + shader.uniform_float("viewportSize", gpu.state.viewport_get()[2:]) + shader.uniform_float("lineWidth", 4.5) + shader.uniform_float("color", (1, 0, 0, 1)) + batch.draw(shader) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.4.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.4.py new file mode 100644 index 0000000..7c6b4b9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.4.py @@ -0,0 +1,39 @@ +""" +Mesh with Random Vertex Colors +------------------------------ +""" +import bpy +import gpu +import numpy as np +from random import random +from gpu_extras.batch import batch_for_shader + +mesh = bpy.context.active_object.data +mesh.calc_loop_triangles() + +vertices = np.empty((len(mesh.vertices), 3), 'f') +indices = np.empty((len(mesh.loop_triangles), 3), 'i') + +mesh.vertices.foreach_get( + "co", np.reshape(vertices, len(mesh.vertices) * 3)) +mesh.loop_triangles.foreach_get( + "vertices", np.reshape(indices, len(mesh.loop_triangles) * 3)) + +vertex_colors = [(random(), random(), random(), 1) for _ in range(len(mesh.vertices))] + +shader = gpu.shader.from_builtin('SMOOTH_COLOR') +batch = batch_for_shader( + shader, 'TRIS', + {"pos": vertices, "color": vertex_colors}, + indices=indices, +) + + +def draw(): + gpu.state.depth_test_set('LESS_EQUAL') + gpu.state.depth_mask_set(True) + batch.draw(shader) + gpu.state.depth_mask_set(False) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.5.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.5.py new file mode 100644 index 0000000..bc9d09a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.5.py @@ -0,0 +1,25 @@ +""" +2D Rectangle +------------ +""" +import bpy +import gpu +from gpu_extras.batch import batch_for_shader + +vertices = ( + (100, 100), (300, 100), + (100, 200), (300, 200)) + +indices = ( + (0, 1, 2), (2, 1, 3)) + +shader = gpu.shader.from_builtin('UNIFORM_COLOR') +batch = batch_for_shader(shader, 'TRIS', {"pos": vertices}, indices=indices) + + +def draw(): + shader.uniform_float("color", (0, 0.5, 0.5, 1.0)) + batch.draw(shader) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.6.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.6.py new file mode 100644 index 0000000..e62c61d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.6.py @@ -0,0 +1,63 @@ +""" +2D Image +-------- + +To use this example you have to provide an image that should be displayed. +""" +import bpy +import gpu +from gpu_extras.batch import batch_for_shader + +IMAGE_NAME = "Untitled" +image = bpy.data.images[IMAGE_NAME] +texture = gpu.texture.from_image(image) + +shader = gpu.shader.from_builtin('IMAGE_SCENE_LINEAR_TO_REC709_SRGB') +batch = batch_for_shader( + shader, 'TRI_STRIP', + { + "pos": ((100, 100), (200, 100), (100, 200), (200, 200)), + "texCoord": ((0, 0), (1, 0), (0, 1), (1, 1)), + }, +) + + +def draw(): + shader.bind() + shader.uniform_sampler("image", texture) + batch.draw(shader) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL') + +""" +3D Image +-------- + +Similar to the 2D Image shader, but works with 3D positions for the image vertices. +To use this example you have to provide an image that should be displayed. +""" +import bpy +import gpu +from gpu_extras.batch import batch_for_shader + +IMAGE_NAME = "Untitled" +image = bpy.data.images[IMAGE_NAME] +texture = gpu.texture.from_image(image) + +shader = gpu.shader.from_builtin('IMAGE_SCENE_LINEAR_TO_REC709_SRGB') +batch = batch_for_shader( + shader, 'TRIS', + { + "pos": ((0, 0, 0), (0, 1, 1), (1, 1, 1), (1, 1, 1), (1, 0, 0), (0, 0, 0)), + "texCoord": ((0, 0), (0, 1), (1, 1), (1, 1), (1, 0), (0, 0)), + }, +) + + +def draw(): + shader.uniform_sampler("image", texture) + batch.draw(shader) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.7.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.7.py new file mode 100644 index 0000000..5206c3b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.7.py @@ -0,0 +1,85 @@ +""" +Generate a texture using Offscreen Rendering +-------------------------------------------- + +#. Create an :class:`gpu.types.GPUOffScreen` object. +#. Draw some circles into it. +#. Make a new shader for drawing a planar texture in 3D. +#. Draw the generated texture using the new shader. +""" +import bpy +import gpu +from mathutils import Matrix +from gpu_extras.batch import batch_for_shader +from gpu_extras.presets import draw_circle_2d + +# Create and fill offscreen +########################################## + +offscreen = gpu.types.GPUOffScreen(512, 512) + +with offscreen.bind(): + fb = gpu.state.active_framebuffer_get() + fb.clear(color=(0.0, 0.0, 0.0, 0.0)) + with gpu.matrix.push_pop(): + # Reset matrices -> use normalized device coordinates [-1, 1]. + gpu.matrix.load_matrix(Matrix.Identity(4)) + gpu.matrix.load_projection_matrix(Matrix.Identity(4)) + + amount = 10 + for i in range(-amount, amount + 1): + x_pos = i / amount + draw_circle_2d((x_pos, 0.0), (1, 1, 1, 1), 0.5, segments=200) + + +# Drawing the generated texture in 3D space +############################################# + +vert_out = gpu.types.GPUStageInterfaceInfo("my_interface") +vert_out.smooth('VEC2', "uvInterp") + +shader_info = gpu.types.GPUShaderCreateInfo() +shader_info.push_constant('MAT4', "viewProjectionMatrix") +shader_info.push_constant('MAT4', "modelMatrix") +shader_info.sampler(0, 'FLOAT_2D', "image") +shader_info.vertex_in(0, 'VEC2', "position") +shader_info.vertex_in(1, 'VEC2', "uv") +shader_info.vertex_out(vert_out) +shader_info.fragment_out(0, 'VEC4', "FragColor") + +shader_info.vertex_source( + "void main()" + "{" + " uvInterp = uv;" + " gl_Position = viewProjectionMatrix * modelMatrix * vec4(position, 0.0, 1.0);" + "}" +) + +shader_info.fragment_source( + "void main()" + "{" + " FragColor = texture(image, uvInterp);" + "}" +) + +shader = gpu.shader.create_from_info(shader_info) +del vert_out +del shader_info + +batch = batch_for_shader( + shader, 'TRI_STRIP', + { + "position": ((-1, -1), (1, -1), (-1, 1), (1, 1)), + "uv": ((0, 0), (1, 0), (0, 1), (1, 1)), + }, +) + + +def draw(): + shader.uniform_float("modelMatrix", Matrix.Translation((1, 2, 3)) @ Matrix.Scale(3, 4)) + shader.uniform_float("viewProjectionMatrix", bpy.context.region_data.perspective_matrix) + shader.uniform_sampler("image", offscreen.texture_color) + batch.draw(shader) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.8.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.8.py new file mode 100644 index 0000000..cc8c5c9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.8.py @@ -0,0 +1,52 @@ +""" +Copy Off-screen Rendering result back to RAM +-------------------------------------------- + +This will create a new image with the given name. +If it already exists, it will override the existing one. + +Currently almost all of the execution time is spent in the last line. +In the future this will hopefully be solved by implementing the Python buffer protocol +for :class:`gpu.types.Buffer` and :class:`bpy.types.Image.pixels` (aka ``bpy_prop_array``). +""" +import bpy +import gpu +import random +from mathutils import Matrix +from gpu_extras.presets import draw_circle_2d + +IMAGE_NAME = "Generated Image" +WIDTH = 512 +HEIGHT = 512 +RING_AMOUNT = 10 + + +offscreen = gpu.types.GPUOffScreen(WIDTH, HEIGHT) + +with offscreen.bind(): + fb = gpu.state.active_framebuffer_get() + fb.clear(color=(0.0, 0.0, 0.0, 0.0)) + with gpu.matrix.push_pop(): + # Reset matrices -> use normalized device coordinates [-1, 1]. + gpu.matrix.load_matrix(Matrix.Identity(4)) + gpu.matrix.load_projection_matrix(Matrix.Identity(4)) + + for i in range(RING_AMOUNT): + draw_circle_2d( + (random.uniform(-1, 1), random.uniform(-1, 1)), + (1, 1, 1, 1), random.uniform(0.1, 1), + segments=20, + ) + + buffer = fb.read_color(0, 0, WIDTH, HEIGHT, 4, 0, 'UBYTE') + +offscreen.free() + + +if IMAGE_NAME not in bpy.data.images: + bpy.data.images.new(IMAGE_NAME, WIDTH, HEIGHT) +image = bpy.data.images[IMAGE_NAME] +image.scale(WIDTH, HEIGHT) + +buffer.dimensions = WIDTH * HEIGHT * 4 +image.pixels = [v / 255 for v in buffer] diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.9.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.9.py new file mode 100644 index 0000000..318c0a7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/gpu.9.py @@ -0,0 +1,41 @@ +""" +Rendering the 3D View into a Texture +------------------------------------ + +The scene has to have a camera for this example to work. +You could also make this independent of a specific camera, +but Blender does not expose good functions to create view and projection matrices yet. +""" +import bpy +import gpu +from gpu_extras.presets import draw_texture_2d + +WIDTH = 512 +HEIGHT = 256 + +offscreen = gpu.types.GPUOffScreen(WIDTH, HEIGHT) + + +def draw(): + context = bpy.context + scene = context.scene + + view_matrix = scene.camera.matrix_world.inverted() + + projection_matrix = scene.camera.calc_matrix_camera( + context.evaluated_depsgraph_get(), x=WIDTH, y=HEIGHT) + + offscreen.draw_view3d( + scene, + context.view_layer, + context.space_data, + context.region, + view_matrix, + projection_matrix, + do_color_management=True) + + gpu.state.depth_mask_set(False) + draw_texture_2d(offscreen.texture_color, (10, 10), WIDTH, HEIGHT) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL') diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.0.py new file mode 100644 index 0000000..ccec8ed --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.0.py @@ -0,0 +1,18 @@ +import mathutils +from math import radians + +vec = mathutils.Vector((1.0, 2.0, 3.0)) + +mat_rot = mathutils.Matrix.Rotation(radians(90.0), 4, 'X') +mat_trans = mathutils.Matrix.Translation(vec) + +mat = mat_trans @ mat_rot +mat.invert() + +mat3 = mat.to_3x3() +quat1 = mat.to_quaternion() +quat2 = mat3.to_quaternion() + +quat_diff = quat1.rotation_difference(quat2) + +print(quat_diff.angle) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Color.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Color.0.py new file mode 100644 index 0000000..67bd151 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Color.0.py @@ -0,0 +1,33 @@ +import mathutils + +# Color values are represented as RGB values from 0 - 1, this is blue. +col = mathutils.Color((0.0, 0.0, 1.0)) + +# As well as r/g/b attribute access you can adjust them by h/s/v. +col.s *= 0.5 + +# You can access its components by attribute or index. +print("Color R:", col.r) +print("Color G:", col[1]) +print("Color B:", col[-1]) +print("Color HSV: {:.2f}, {:.2f}, {:.2f}".format(*col)) + + +# Components of an existing color can be set. +col[:] = 0.0, 0.5, 1.0 + +# Components of an existing color can use slice notation to get a tuple. +print("Values: {:f}, {:f}, {:f}".format(*col)) + +# Colors can be added and subtracted. +col += mathutils.Color((0.25, 0.0, 0.0)) + +# Color can be multiplied, in this example color is scaled to 0-255 +# can printed as integers. +print("Color: {:d}, {:d}, {:d}".format(*(int(c) for c in (col * 255.0)))) + +# This example prints the color as hexadecimal. +print("Hexadecimal: {:02x}{:02x}{:02x}".format(int(col.r * 255), int(col.g * 255), int(col.b * 255))) + +# Direct buffer access is supported. +print(memoryview(col).tobytes()) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Euler.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Euler.0.py new file mode 100644 index 0000000..ab60da2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Euler.0.py @@ -0,0 +1,35 @@ +import mathutils +import math + +# Create a new euler with default axis rotation order. +eul = mathutils.Euler((0.0, math.radians(45.0), 0.0), 'XYZ') + +# Rotate the euler. +eul.rotate_axis('Z', math.radians(10.0)) + +# You can access its components by attribute or index. +print("Euler X", eul.x) +print("Euler Y", eul[1]) +print("Euler Z", eul[-1]) + +# Components of an existing euler can be set. +eul[:] = 1.0, 2.0, 3.0 + +# Components of an existing euler can use slice notation to get a tuple. +print("Values: {:f}, {:f}, {:f}".format(*eul)) + +# The order can be set at any time too. +eul.order = 'ZYX' + +# Eulers can be used to rotate vectors. +vec = mathutils.Vector((0.0, 0.0, 1.0)) +vec.rotate(eul) + +# Often its useful to convert the euler into a matrix so it can be used as +# transformations with more flexibility. +mat_rot = eul.to_matrix() +mat_loc = mathutils.Matrix.Translation((2.0, 3.0, 4.0)) +mat = mat_loc @ mat_rot.to_4x4() + +# Direct buffer access is supported. +print(memoryview(eul).tobytes()) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Matrix.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Matrix.0.py new file mode 100644 index 0000000..7894e3b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Matrix.0.py @@ -0,0 +1,35 @@ +import mathutils +import math + +# Create a location matrix. +mat_loc = mathutils.Matrix.Translation((2.0, 3.0, 4.0)) + +# Create an identity matrix. +mat_sca = mathutils.Matrix.Scale(0.5, 4, (0.0, 0.0, 1.0)) + +# Create a rotation matrix. +mat_rot = mathutils.Matrix.Rotation(math.radians(45.0), 4, 'X') + +# Combine transformations. +mat_out = mat_loc @ mat_rot @ mat_sca +print(mat_out) + +# Extract components back out of the matrix as two vectors and a quaternion. +loc, rot, sca = mat_out.decompose() +print(loc, rot, sca) + +# Recombine extracted components. +mat_out2 = mathutils.Matrix.LocRotScale(loc, rot, sca) +print(mat_out2) + +# It can also be useful to access components of a matrix directly. +mat = mathutils.Matrix() +mat[0][0], mat[1][0], mat[2][0] = 0.0, 1.0, 2.0 + +mat[0][0:3] = 0.0, 1.0, 2.0 + +# Each item in a matrix is a vector so vector utility functions can be used. +mat[0].xyz = 0.0, 1.0, 2.0 + +# Direct buffer access is supported. +print(memoryview(mat).tobytes()) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Matrix.LocRotScale.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Matrix.LocRotScale.0.py new file mode 100644 index 0000000..ebff518 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Matrix.LocRotScale.0.py @@ -0,0 +1,10 @@ +# Compute local object transformation matrix: + +import bpy +import mathutils + +obj = bpy.context.object +if obj.rotation_mode == 'QUATERNION': + matrix = mathutils.Matrix.LocRotScale(obj.location, obj.rotation_quaternion, obj.scale) +else: + matrix = mathutils.Matrix.LocRotScale(obj.location, obj.rotation_euler, obj.scale) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Quaternion.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Quaternion.0.py new file mode 100644 index 0000000..406128e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Quaternion.0.py @@ -0,0 +1,34 @@ +import mathutils +import math + +# A new rotation 90 degrees about the Y axis. +quat_a = mathutils.Quaternion((0.7071068, 0.0, 0.7071068, 0.0)) + +# Passing values to Quaternion's directly can be confusing so axis, angle +# is supported for initializing too. +quat_b = mathutils.Quaternion((0.0, 1.0, 0.0), math.radians(90.0)) + +print("Check quaternions match", quat_a == quat_b) + +# Like matrices, quaternions can be multiplied to accumulate rotational values. +quat_a = mathutils.Quaternion((0.0, 1.0, 0.0), math.radians(90.0)) +quat_b = mathutils.Quaternion((0.0, 0.0, 1.0), math.radians(45.0)) +quat_out = quat_a @ quat_b + +# Print the quaternion, euler degrees for mere mortals and (axis, angle). +print("Final Rotation:") +print(quat_out) +print("{:.2f}, {:.2f}, {:.2f}".format(*(math.degrees(a) for a in quat_out.to_euler()))) +print("({:.2f}, {:.2f}, {:.2f}), {:.2f}".format(*quat_out.axis, math.degrees(quat_out.angle))) + +# Multiple rotations can be interpolated using the exponential map. +quat_c = mathutils.Quaternion((1.0, 0.0, 0.0), math.radians(15.0)) +exp_avg = (quat_a.to_exponential_map() + + quat_b.to_exponential_map() + + quat_c.to_exponential_map()) / 3.0 +quat_avg = mathutils.Quaternion(exp_avg) +print("Average rotation:") +print(quat_avg) + +# Direct buffer access is supported. +print(memoryview(quat_avg).tobytes()) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Vector.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Vector.0.py new file mode 100644 index 0000000..a2af1c1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.Vector.0.py @@ -0,0 +1,58 @@ +import mathutils + +# Zero length vector. +vec = mathutils.Vector((0.0, 0.0, 1.0)) + +# Unit length vector. +vec_a = vec.normalized() + +vec_b = mathutils.Vector((0.0, 1.0, 2.0)) + +vec2d = mathutils.Vector((1.0, 2.0)) +vec3d = mathutils.Vector((1.0, 0.0, 0.0)) +vec4d = vec_a.to_4d() + +# Other `mathutils` types. +quat = mathutils.Quaternion() +matrix = mathutils.Matrix() + +# Comparison operators can be done on Vector classes: + +# (In)equality operators == and != test component values, e.g. 1,2,3 != 3,2,1 +vec_a == vec_b +vec_a != vec_b + +# Ordering operators >, >=, > and <= test vector length. +vec_a > vec_b +vec_a >= vec_b +vec_a < vec_b +vec_a <= vec_b + + +# Math can be performed on Vector classes. +vec_a + vec_b +vec_a - vec_b +vec_a @ vec_b +vec_a * 10.0 +matrix @ vec_a +quat @ vec_a +-vec_a + + +# You can access a vector object like a sequence. +x = vec_a[0] +len(vec) +vec_a[:] = vec_b +vec_a[:] = 1.0, 2.0, 3.0 +vec2d[:] = vec3d[:2] + + +# Vectors support 'swizzle' operations. +# See https://en.wikipedia.org/wiki/Swizzling_(computer_graphics) +vec.xyz = vec.zyx +vec.xy = vec4d.zw +vec.xyz = vec4d.wzz +vec4d.wxyz = vec.yxyx + +# Direct buffer access is supported. +raw_data = memoryview(vec).tobytes() diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.kdtree.0.py b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.kdtree.0.py new file mode 100644 index 0000000..5eef61e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/examples/mathutils.kdtree.0.py @@ -0,0 +1,34 @@ +import mathutils + +# Create a KD-tree from a mesh. +from bpy import context +obj = context.object + +mesh = obj.data +size = len(mesh.vertices) +kd = mathutils.kdtree.KDTree(size) + +for i, v in enumerate(mesh.vertices): + kd.insert(v.co, i) + +kd.balance() + + +# Find the closest point to the center. +co_find = (0.0, 0.0, 0.0) +co, index, dist = kd.find(co_find) +print("Close to center:", co, index, dist) + +# 3D cursor relative to the object data. +co_find = obj.matrix_world.inverted() @ context.scene.cursor.location + +# Find the closest 10 points to the 3D cursor. +print("Close 10 points") +for (co, index, dist) in kd.find_n(co_find, 10): + print(" ", co, index, dist) + + +# Find points within a radius of the 3D cursor. +print("Close points within 0.5 distance") +for (co, index, dist) in kd.find_range(co_find, 0.5): + print(" ", co, index, dist) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.capabilities.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.capabilities.rst new file mode 100644 index 0000000..690cf4d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.capabilities.rst @@ -0,0 +1,172 @@ +GPU Capabilities Utilities (gpu.capabilities) +============================================= + +.. module:: gpu.capabilities + +This module provides access to the GPU capabilities. + +.. function:: compute_shader_support_get() + + Are compute shaders supported. + + :return: True when supported, False when not supported. + :rtype: bool + + +.. function:: extensions_get() + + Get supported extensions in the current context. + + :return: Extensions. + :rtype: tuple[str, ...] + + +.. function:: hdr_support_get() + + Return whether GPU backend supports High Dynamic range for viewport. + + :return: HDR support available. + :rtype: bool + + +.. function:: max_batch_indices_get() + + Get maximum number of vertex array indices. + + :return: Number of indices. + :rtype: int + + +.. function:: max_batch_vertices_get() + + Get maximum number of vertex array vertices. + + :return: Number of vertices. + :rtype: int + + +.. function:: max_images_get() + + Get maximum supported number of image units. + + :return: Number of image units. + :rtype: int + + +.. function:: max_texture_layers_get() + + Get maximum number of layers in texture. + + :return: Number of layers. + :rtype: int + + +.. function:: max_texture_size_get() + + Get estimated maximum texture size to be able to handle. + + :return: Texture size. + :rtype: int + + +.. function:: max_textures_frag_get() + + Get maximum supported texture image units used for + accessing texture maps from the fragment shader. + + :return: Texture image units. + :rtype: int + + +.. function:: max_textures_geom_get() + + Get maximum supported texture image units used for + accessing texture maps from the geometry shader. + + :return: Texture image units. + :rtype: int + + +.. function:: max_textures_get() + + Get maximum supported texture image units used for + accessing texture maps from the vertex shader and the + fragment processor. + + :return: Texture image units. + :rtype: int + + +.. function:: max_textures_vert_get() + + Get maximum supported texture image units used for + accessing texture maps from the vertex shader. + + :return: Texture image units. + :rtype: int + + +.. function:: max_uniforms_frag_get() + + Get maximum number of values held in uniform variable + storage for a fragment shader. + + :return: Number of values. + :rtype: int + + +.. function:: max_uniforms_vert_get() + + Get maximum number of values held in uniform variable + storage for a vertex shader. + + :return: Number of values. + :rtype: int + + +.. function:: max_varying_floats_get() + + Get maximum number of varying variables used by + vertex and fragment shaders. + + :return: Number of variables. + :rtype: int + + +.. function:: max_vertex_attribs_get() + + Get maximum number of vertex attributes accessible to + a vertex shader. + + :return: Number of attributes. + :rtype: int + + +.. function:: max_work_group_count_get(index) + + Get maximum number of work groups that may be dispatched to a compute shader. + + :param index: Index of the dimension. + :type index: int + :return: Maximum number of work groups for the queried dimension. + :rtype: int + + +.. function:: max_work_group_size_get(index) + + Get maximum size of a work group that may be dispatched to a compute shader. + + :param index: Index of the dimension. + :type index: int + :return: Maximum size of a work group for the queried dimension. + :rtype: int + + +.. function:: shader_image_load_store_support_get() + + Is image load/store supported. + + :return: True when supported, False when not supported. + :rtype: bool + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.matrix.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.matrix.rst new file mode 100644 index 0000000..c9b30db --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.matrix.rst @@ -0,0 +1,125 @@ +GPU Matrix Utilities (gpu.matrix) +================================= + +.. module:: gpu.matrix + +This module provides access to the matrix stack. + +.. function:: get_model_view_matrix() + + Return a copy of the model-view matrix. + + :return: A 4x4 view matrix. + :rtype: :class:`mathutils.Matrix` + + +.. function:: get_normal_matrix() + + Return a copy of the normal matrix. + + :return: A 3x3 normal matrix. + :rtype: :class:`mathutils.Matrix` + + +.. function:: get_projection_matrix() + + Return a copy of the projection matrix. + + :return: A 4x4 projection matrix. + :rtype: :class:`mathutils.Matrix` + + +.. function:: load_identity() + + Load an identity matrix into the stack. + + +.. function:: load_matrix(matrix) + + Load a matrix into the stack. + + :param matrix: A 4x4 matrix. + :type matrix: :class:`mathutils.Matrix` + + +.. function:: load_projection_matrix(matrix) + + Load a projection matrix into the stack. + + :param matrix: A 4x4 matrix. + :type matrix: :class:`mathutils.Matrix` + + +.. function:: multiply_matrix(matrix) + + Multiply the current stack matrix. + + :param matrix: A 4x4 matrix. + :type matrix: :class:`mathutils.Matrix` + + +.. function:: pop() + + Remove the last model-view matrix from the stack. + + +.. function:: pop_projection() + + Remove the last projection matrix from the stack. + + +.. function:: push() + + Add to the model-view matrix stack. + + +.. function:: push_pop() + + Context manager to ensure balanced push/pop calls, even in the case of an error. + + :return: The context manager. + :rtype: :class:`gpu.types.MatrixStackContext` + + +.. function:: push_pop_projection() + + Context manager to ensure balanced push/pop calls, even in the case of an error. + + :return: The context manager. + :rtype: :class:`gpu.types.MatrixStackContext` + + +.. function:: push_projection() + + Add to the projection matrix stack. + + +.. function:: reset() + + Empty stack and set to identity. + + +.. function:: scale(scale) + + Scale the current stack matrix. + + :param scale: Scale the current stack matrix with 2 or 3 floats. + :type scale: Sequence[float] + + +.. function:: scale_uniform(scale) + + Scale the current stack matrix uniformly. + + :param scale: Uniform scale factor. + :type scale: float + + +.. function:: translate(offset) + + Translate the current stack matrix. + + :param offset: Translate the current stack matrix with 2 or 3 floats. + :type offset: Sequence[float] + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.platform.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.platform.rst new file mode 100644 index 0000000..a5d98c3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.platform.rst @@ -0,0 +1,47 @@ +GPU Platform Utilities (gpu.platform) +===================================== + +.. module:: gpu.platform + +This module provides access to GPU Platform definitions. + +.. function:: backend_type_get() + + Get active GPU backend. + + :return: Backend type ('OPENGL', 'VULKAN', 'METAL', 'NONE', 'UNKNOWN'). + :rtype: str + + +.. function:: device_type_get() + + Get GPU device type. + + :return: Device type ('APPLE', 'NVIDIA', 'AMD', 'INTEL', 'SOFTWARE', 'QUALCOMM', 'UNKNOWN'). + :rtype: str + + +.. function:: renderer_get() + + Get GPU to be used for rendering. + + :return: GPU name. + :rtype: str + + +.. function:: vendor_get() + + Get GPU vendor. + + :return: Vendor name. + :rtype: str + + +.. function:: version_get() + + Get GPU driver version. + + :return: Driver version. + :rtype: str + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.rst new file mode 100644 index 0000000..57dc08f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.rst @@ -0,0 +1,269 @@ +GPU Module (gpu) +================ + +.. module:: gpu + +This module provides Python wrappers for the GPU implementation in Blender. +Some higher level functions can be found in the :mod:`gpu_extras` module. + +.. toctree:: + :maxdepth: 1 + :caption: Submodules + + gpu.types.rst + gpu.matrix.rst + gpu.select.rst + gpu.shader.rst + gpu.state.rst + gpu.texture.rst + gpu.platform.rst + gpu.capabilities.rst + + +Geometry Batches +++++++++++++++++ + +Geometry is drawn in batches. +A batch contains the necessary data to perform the drawing. +That includes an obligatory *Vertex Buffer* and an optional *Index Buffer*, +each of which is described in more detail in the following sections. +A batch also defines a draw type. +Typical draw types are ``POINTS``, ``LINES`` and ``TRIS``. +The draw type determines how the data will be interpreted and drawn. + +Vertex Buffers +++++++++++++++ + +A *Vertex Buffer Object* (VBO) (:class:`gpu.types.GPUVertBuf`) +is an array that contains the vertex attributes needed for drawing using a specific shader. +Typical vertex attributes are *location*, *normal*, *color*, and *uv*. +Every vertex buffer has a *Vertex Format* (:class:`gpu.types.GPUVertFormat`) +and a length corresponding to the number of vertices in the buffer. +A vertex format describes the attributes stored per vertex and their types. + +The following code demonstrates the creation of a vertex buffer that contains 6 vertices. +For each vertex 2 attributes will be stored: The position and the normal. + +.. code-block:: python + + import gpu + vertex_positions = [(0, 0, 0), ...] + vertex_normals = [(0, 0, 1), ...] + + fmt = gpu.types.GPUVertFormat() + fmt.attr_add(id="pos", comp_type='F32', len=3, fetch_mode='FLOAT') + fmt.attr_add(id="normal", comp_type='F32', len=3, fetch_mode='FLOAT') + + vbo = gpu.types.GPUVertBuf(len=6, format=fmt) + vbo.attr_fill(id="pos", data=vertex_positions) + vbo.attr_fill(id="normal", data=vertex_normals) + +This vertex buffer could be used to draw 6 points, 3 separate lines, 5 consecutive lines, 2 separate triangles, ... +E.g. in the case of lines, each two consecutive vertices define a line. +The type that will actually be drawn is determined when the batch is created later. + +Index Buffers ++++++++++++++ + +Often triangles and lines share one or more vertices. +With only a vertex buffer one would have to store all attributes for the these vertices multiple times. +This is very inefficient because in a connected triangle mesh every vertex is used 6 times on average. +A more efficient approach would be to use an *Index Buffer* (IBO) (:class:`gpu.types.GPUIndexBuf`), +sometimes referred to as *Element Buffer*. +An *Index Buffer* is an array that references vertices based on their index in the vertex buffer. + +For instance, to draw a rectangle composed of two triangles, one could use an index buffer. + +.. code-block:: python + + positions = ( + (-1, 1), (1, 1), + (-1, -1), (1, -1)) + + indices = ((0, 1, 2), (2, 1, 3)) + + ibo = gpu.types.GPUIndexBuf(type='TRIS', seq=indices) + +Here the first tuple in ``indices`` describes which vertices should be used for the first triangle +(same for the second tuple). +Note how the diagonal vertices 1 and 2 are shared between both triangles. + +Shaders ++++++++ + +A shader is a program that runs on the GPU (written in GLSL in our case). +There are multiple types of shaders. +The most important ones are *Vertex Shaders* and *Fragment Shaders*. +Typically multiple shaders are linked together into a *Program*. +However, in the Blender Python API the term *Shader* refers to an OpenGL Program. +Every :class:`gpu.types.GPUShader` consists of a vertex shader, a fragment shader and an optional geometry shader. +For common drawing tasks there are some built-in shaders accessible from :class:`gpu.shader.from_builtin` +with an identifier such as ``UNIFORM_COLOR`` or ``FLAT_COLOR``. There are specific builtin shaders for +drawing triangles, lines and points. + +Every shader defines a set of attributes and uniforms that have to be set in order to use the shader. +Attributes are properties that are set using a vertex buffer and can be different for individual vertices. +Uniforms are properties that are constant per draw call. +They can be set using the ``shader.uniform_*`` functions after the shader has been bound. + +.. note:: + + It is important to note that GLSL sources are reinterpreted to MSL (Metal Shading Language) + on Apple operating systems. + This uses a small compatibility layer that does not cover the whole GLSL language specification. + Here is a list of differences to keep in mind when targeting compatibility with Apple platforms: + + - The only matrix constructors available are: + + - diagonal scalar (example: ``mat2(1)``) + - all scalars (example: ``mat2(1, 0, 0, 1)``) + - column vector (example: ``mat2(vec2(1,0), vec2(0,1))``) + - reshape constructors work only for square matrices (example: ``mat3(mat4(1))``) + + - ``vertex``, ``fragment`` and ``kernel`` are reserved keywords. + - all types and keywords defined by the + `MSL specification `__ + are reserved keywords and should not be used. + + +Batch Creation +++++++++++++++ + +Batches can be created by first manually creating VBOs and IBOs. +However, it is recommended to use the :class:`gpu_extras.batch.batch_for_shader` function. +It makes sure that all the vertex attributes necessary for a specific shader are provided. +Consequently, the shader has to be passed to the function as well. +When using this function one rarely has to care about the vertex format, VBOs and IBOs created in the background. +This is still something one should know when drawing stuff though. + +Since batches can be drawn multiple times, they should be cached and reused whenever possible. + +Offscreen Rendering ++++++++++++++++++++ + +What one can see on the screen after rendering is called the *Front Buffer*. +When draw calls are issued, batches are drawn on a *Back Buffer* that will only be displayed +when all drawing is done and the current back buffer will become the new front buffer. +Sometimes, one might want to draw the batches into a distinct buffer that could be used as +texture to display on another object or to be saved as image on disk. +This is called Offscreen Rendering. +In Blender Offscreen Rendering is done using the :class:`gpu.types.GPUOffScreen` type. + +.. warning:: + + :class:`gpu.types.GPUOffScreen` objects are bound to the OpenGL context they have been created in. + This means that once Blender discards this context (i.e. the window is closed), + the offscreen instance will be freed. + +Examples +++++++++ + +To try these examples, just copy them into Blender's text editor and execute them. +To keep the examples relatively small, they just register a draw function that can't easily be removed anymore. +Blender has to be restarted in order to delete the draw handlers. + +3D Points with Single Color + +.. literalinclude:: ./examples/gpu.1.py + :lines: 147- + + +Triangle with Custom Shader +--------------------------- + +.. literalinclude:: ./examples/gpu.2.py + :lines: 5- + + +Wireframe Cube using Index Buffer +--------------------------------- + +.. literalinclude:: ./examples/gpu.3.py + :lines: 5- + + +Mesh with Random Vertex Colors +------------------------------ + +.. literalinclude:: ./examples/gpu.4.py + :lines: 5- + + +2D Rectangle +------------ + +.. literalinclude:: ./examples/gpu.5.py + :lines: 5- + + +2D Image +-------- + +To use this example you have to provide an image that should be displayed. + +.. literalinclude:: ./examples/gpu.6.py + :lines: 7- + + +Generate a texture using Offscreen Rendering +-------------------------------------------- + +#. Create an :class:`gpu.types.GPUOffScreen` object. +#. Draw some circles into it. +#. Make a new shader for drawing a planar texture in 3D. +#. Draw the generated texture using the new shader. + +.. literalinclude:: ./examples/gpu.7.py + :lines: 10- + + +Copy Off-screen Rendering result back to RAM +-------------------------------------------- + +This will create a new image with the given name. +If it already exists, it will override the existing one. + +Currently almost all of the execution time is spent in the last line. +In the future this will hopefully be solved by implementing the Python buffer protocol +for :class:`gpu.types.Buffer` and :class:`bpy.types.Image.pixels` (aka ``bpy_prop_array``). + +.. literalinclude:: ./examples/gpu.8.py + :lines: 12- + + +Rendering the 3D View into a Texture +------------------------------------ + +The scene has to have a camera for this example to work. +You could also make this independent of a specific camera, +but Blender does not expose good functions to create view and projection matrices yet. + +.. literalinclude:: ./examples/gpu.9.py + :lines: 9- + + +Custom Shader for dotted 3D Line +-------------------------------- + +In this example the arc length (distance to the first point on the line) is calculated in every vertex. +Between the vertex and fragment shader that value is automatically interpolated +for all points that will be visible on the screen. +In the fragment shader the ``sin`` of the arc length is calculated. +Based on the result a decision is made on whether the fragment should be drawn or not. + +.. literalinclude:: ./examples/gpu.10.py + :lines: 11- + + +Custom compute shader (using image store) and vertex/fragment shader +-------------------------------------------------------------------- + +This is an example of how to use a custom compute shader +to write to a texture and then use that texture in a vertex/fragment shader. +The expected result is a 2x2 plane (size of the default cube), +which changes color from a green-black gradient to a green-red gradient, +based on current time. + +.. literalinclude:: ./examples/gpu.11.py + :lines: 11- + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.select.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.select.rst new file mode 100644 index 0000000..dad399c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.select.rst @@ -0,0 +1,15 @@ +GPU Select Utilities (gpu.select) +================================= + +.. module:: gpu.select + +This module provides access to selection. + +.. function:: load_id(id) + + Set the selection ID. + + :param id: Number (32-bit uint). + :type id: int + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.shader.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.shader.rst new file mode 100644 index 0000000..bdbc78b --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.shader.rst @@ -0,0 +1,92 @@ +GPU Shader Utilities (gpu.shader) +================================= + +.. module:: gpu.shader + +This module provides access to GPUShader internal functions. + +.. _built-in-shaders: + +.. rubric:: Built-in shaders + +All built-in shaders have the ``mat4 ModelViewProjectionMatrix`` uniform. + +Its value must be modified using the :mod:`gpu.matrix` module. + +.. important:: + + Shader uniforms must be explicitly initialized to avoid retaining values from previous executions. + +``FLAT_COLOR`` + :Attributes: vec3 pos, vec4 color + :Uniforms: none +``IMAGE`` + :Attributes: vec3 pos, vec2 texCoord + :Uniforms: sampler2D image +``IMAGE_SCENE_LINEAR_TO_REC709_SRGB`` + :Attributes: vec3 pos, vec2 texCoord + :Uniforms: sampler2D image + :Note: Expect texture to be in scene linear color space +``IMAGE_COLOR`` + :Attributes: vec3 pos, vec2 texCoord + :Uniforms: sampler2D image, vec4 color +``IMAGE_COLOR_SCENE_LINEAR_TO_REC709_SRGB`` + :Attributes: vec3 pos, vec2 texCoord + :Uniforms: sampler2D image, vec4 color + :Note: Expect texture to be in scene linear color space +``SMOOTH_COLOR`` + :Attributes: vec3 pos, vec4 color + :Uniforms: none +``UNIFORM_COLOR`` + :Attributes: vec3 pos + :Uniforms: vec4 color +``POLYLINE_FLAT_COLOR`` + :Attributes: vec3 pos, vec4 color + :Uniforms: vec2 viewportSize, float lineWidth +``POLYLINE_SMOOTH_COLOR`` + :Attributes: vec3 pos, vec4 color + :Uniforms: vec2 viewportSize, float lineWidth +``POLYLINE_UNIFORM_COLOR`` + :Attributes: vec3 pos + :Uniforms: vec2 viewportSize, float lineWidth, vec4 color +``POINT_FLAT_COLOR`` + :Attributes: vec3 pos, vec4 color + :Uniforms: float size +``POINT_UNIFORM_COLOR`` + :Attributes: vec3 pos + :Uniforms: vec4 color, float size + +.. function:: create_from_info(shader_info) + + Create shader from a GPUShaderCreateInfo. + + :param shader_info: GPUShaderCreateInfo + :type shader_info: :class:`gpu.types.GPUShaderCreateInfo` + :return: Shader object corresponding to the given shader info. + :rtype: :class:`gpu.types.GPUShader` + + +.. function:: from_builtin(shader_name, *, config='DEFAULT') + + Shaders that are embedded in the Blender internal code (see :ref:`built-in-shaders`). + They all read the uniform ``mat4 ModelViewProjectionMatrix``, + which can be edited by the :mod:`gpu.matrix` module. + + You can also choose a shader configuration that uses clip_planes by setting the ``CLIPPED`` value to the config parameter. Note that in this case you also need to manually set the value of ``mat4 ModelMatrix``. + + :param shader_name: One of the builtin shader names. + :type shader_name: str + :param config: One of these types of shader configuration: + + - ``DEFAULT`` + - ``CLIPPED`` + :type config: str + :return: Shader object corresponding to the given name. + :rtype: :class:`gpu.types.GPUShader` + + +.. function:: unbind() + + Unbind the bound shader object. + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.state.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.state.rst new file mode 100644 index 0000000..e2b51c5 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.state.rst @@ -0,0 +1,202 @@ +GPU State Utilities (gpu.state) +=============================== + +.. module:: gpu.state + +This module provides access to the gpu state. + +.. function:: active_framebuffer_get() + + Return the active frame-buffer in context. + + :return: The active framebuffer. + :rtype: :class:`gpu.types.GPUFrameBuffer` + + +.. function:: blend_get() + + Current blending equation. + + :return: The current blend mode. + :rtype: str + + +.. function:: blend_set(mode) + + Defines the fixed pipeline blending equation. + + :param mode: The type of blend mode. + + * ``NONE`` No blending. + * ``ALPHA`` The original color channels are interpolated according to the alpha value. + * ``ALPHA_PREMULT`` The original color channels are interpolated according to the alpha value with the new colors pre-multiplied by this value. + * ``ADDITIVE`` The original color channels are added by the corresponding ones. + * ``ADDITIVE_PREMULT`` The original color channels are added by the corresponding ones that are pre-multiplied by the alpha value. + * ``MULTIPLY`` The original color channels are multiplied by the corresponding ones. + * ``SUBTRACT`` The original color channels are subtracted by the corresponding ones. + * ``INVERT`` The original color channels are replaced by its complementary color. + :type mode: Literal['NONE', 'ALPHA', 'ALPHA_PREMULT', 'ADDITIVE', 'ADDITIVE_PREMULT', 'MULTIPLY', 'SUBTRACT', 'INVERT'] + + +.. function:: clip_distances_set(distances_enabled) + + Sets the number of ``gl_ClipDistance`` planes used for clip geometry. + + :param distances_enabled: Number of clip distances enabled. + :type distances_enabled: int + + +.. function:: color_mask_set(r, g, b, a) + + Enable or disable writing of frame buffer color components. + + :param r: Red component. + :type r: bool + :param g: Green component. + :type g: bool + :param b: Blue component. + :type b: bool + :param a: Alpha component. + :type a: bool + + +.. function:: depth_mask_get() + + Writing status in the depth component. + + :return: True if writing to the depth component is enabled. + :rtype: bool + + +.. function:: depth_mask_set(value) + + Write to depth component. + + :param value: True for writing to the depth component. + :type value: bool + + +.. function:: depth_test_get() + + Current depth_test equation. + + :return: The current depth test mode. + :rtype: str + + +.. function:: depth_test_set(mode) + + Defines the depth_test equation. + + :param mode: The depth test equation name. + :type mode: Literal['NONE', 'ALWAYS', 'LESS', 'LESS_EQUAL', 'EQUAL', 'GREATER', 'GREATER_EQUAL'] + + +.. function:: face_culling_set(culling) + + Specify whether none, front-facing or back-facing facets can be culled. + + :param culling: The face culling mode. + :type culling: Literal['NONE', 'FRONT', 'BACK'] + + +.. function:: front_facing_set(invert) + + Specifies the orientation of front-facing polygons. + + :param invert: True for clockwise polygons as front-facing. + :type invert: bool + + +.. function:: line_width_get() + + Current width of rasterized lines. + + :return: The current line width. + :rtype: float + + +.. function:: line_width_set(width) + + Specify the width of rasterized lines. + + :param width: New width. + :type width: float + + +.. function:: point_size_set(size) + + Specify the diameter of rasterized points. + + :param size: New diameter. + :type size: float + + +.. function:: program_point_size_set(enable) + + If enabled, the derived point size is taken from the (potentially clipped) shader builtin gl_PointSize. + + :param enable: True for shader builtin gl_PointSize. + :type enable: bool + + +.. function:: scissor_get() + + Retrieve the scissors of the active framebuffer. + Note: Only valid between 'scissor_set' and a framebuffer rebind. + + :return: The scissor of the active framebuffer as a tuple + (x, y, xsize, ysize). + x, y: lower left corner of the scissor rectangle, in pixels. + xsize, ysize: width and height of the scissor rectangle. + :rtype: tuple[int, int, int, int] + + +.. function:: scissor_set(x, y, xsize, ysize) + + Specifies the scissor area of the active framebuffer. + Note: The scissor state is not saved upon framebuffer rebind. + + :param x: Lower left corner x coordinate, in pixels. + :type x: int + :param y: Lower left corner y coordinate, in pixels. + :type y: int + :param xsize: Width of the scissor rectangle. + :type xsize: int + :param ysize: Height of the scissor rectangle. + :type ysize: int + + +.. function:: scissor_test_set(enable) + + Enable/disable scissor testing on the active framebuffer. + + :param enable: + True - enable scissor testing. + False - disable scissor testing. + :type enable: bool + + +.. function:: viewport_get() + + Viewport of the active framebuffer. + + :return: The viewport as a tuple (x, y, xsize, ysize). + :rtype: tuple[int, int, int, int] + + +.. function:: viewport_set(x, y, xsize, ysize) + + Specifies the viewport of the active framebuffer. + Note: The viewport state is not saved upon framebuffer rebind. + + :param x: Lower left corner x coordinate, in pixels. + :type x: int + :param y: Lower left corner y coordinate, in pixels. + :type y: int + :param xsize: Width of the viewport. + :type xsize: int + :param ysize: Height of the viewport. + :type ysize: int + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.texture.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.texture.rst new file mode 100644 index 0000000..8f3377e --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.texture.rst @@ -0,0 +1,18 @@ +GPU Texture Utilities (gpu.texture) +=================================== + +.. module:: gpu.texture + +This module provides utilities for textures. + +.. function:: from_image(image) + + Get GPUTexture corresponding to an Image data-block. The GPUTexture memory is shared with Blender. + Note: Colors read from the texture will be in scene linear color space and have premultiplied or straight alpha matching the image alpha mode. + + :param image: The Image data-block. + :type image: :class:`bpy.types.Image` + :return: The GPUTexture used by the image. + :rtype: :class:`gpu.types.GPUTexture` + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.types.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.types.rst new file mode 100644 index 0000000..c3f0f39 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu.types.rst @@ -0,0 +1,906 @@ +GPU Types (gpu.types) +===================== + +.. module:: gpu.types + +.. class:: Buffer(format, dimensions, data) + + For Python access to GPU functions requiring a pointer. + + :param format: Format type to interpret the buffer. + ``UINT_24_8`` is deprecated, use ``FLOAT`` instead. + :type format: Literal['FLOAT', 'INT', 'UINT', 'UBYTE', 'UINT_24_8', '10_11_11_REV'] + :param dimensions: Array describing the dimensions. + :type dimensions: int | Sequence[int] + :param data: Optional data array. + :type data: Buffer | Sequence[float] | Sequence[int] + + .. method:: to_list() + + Return the buffer as a list. + + :return: The buffer as a list. + :rtype: list + + + .. attribute:: dimensions + + Undocumented, consider `contributing `__. + + + + +.. class:: GPUBatch(type, buf, elem=None) + + Reusable container for drawable geometry. + + :param type: The primitive type of geometry to be drawn. + :type type: Literal['POINTS', 'LINES', 'TRIS', 'LINE_STRIP', 'LINE_LOOP', 'TRI_STRIP', 'TRI_FAN', 'LINES_ADJ', 'TRIS_ADJ', 'LINE_STRIP_ADJ'] + :param buf: Vertex buffer containing all or some of the attributes required for drawing. + :type buf: :class:`gpu.types.GPUVertBuf` + :param elem: An optional index buffer. + :type elem: :class:`gpu.types.GPUIndexBuf` | None + + .. method:: draw(shader=None) + + Run the drawing shader with the parameters assigned to the batch. + + :param shader: Shader that performs the drawing operations. + If ``None`` is passed, the last shader set to this batch will run. + :type shader: :class:`gpu.types.GPUShader` | None + + + .. method:: draw_instanced(program, *, instance_start=0, instance_count=0) + + Draw multiple instances of the drawing program with the parameters assigned + to the batch. In the vertex shader, ``gl_InstanceID`` will contain the instance + number being drawn. + + :param program: Program that performs the drawing operations. + :type program: :class:`gpu.types.GPUShader` + :param instance_start: Number of the first instance to draw. + :type instance_start: int + :param instance_count: Number of instances to draw. When not provided or set to 0 + the number of instances will be determined by the number of rows in the first + vertex buffer. + :type instance_count: int + + + .. method:: draw_range(program, *, elem_start=0, elem_count=0) + + Run the drawing program with the parameters assigned to the batch. Only draw the ``elem_count`` elements of the index buffer starting at ``elem_start``. + + :param program: Program that performs the drawing operations. + :type program: :class:`gpu.types.GPUShader` + :param elem_start: First index to draw. When not provided or set to 0 drawing + will start from the first element of the index buffer. + :type elem_start: int + :param elem_count: Number of elements of the index buffer to draw. When not + provided or set to 0 all elements from ``elem_start`` to the end of the + index buffer will be drawn. + :type elem_count: int + + + .. method:: program_set(program) + + Assign a shader to this batch that will be used for drawing when not overwritten later. + Note: This method has to be called in the draw context that the batch will be drawn in. + This function does not need to be called when you always + set the shader when calling :meth:`gpu.types.GPUBatch.draw`. + + :param program: The program/shader the batch will use in future draw calls. + :type program: :class:`gpu.types.GPUShader` + + + .. method:: vertbuf_add(buf) + + Add another vertex buffer to the Batch. + It is not possible to add more vertices to the batch using this method. + Instead it can be used to add more attributes to the existing vertices. + A good use case would be when you have a separate + vertex buffer for vertex positions and vertex normals. + Current a batch can have at most GPU_BATCH_VBO_MAX_LEN vertex buffers. + + :param buf: The vertex buffer that will be added to the batch. + :type buf: :class:`gpu.types.GPUVertBuf` + + + + +.. class:: GPUFrameBuffer(*, depth_slot=None, color_slots=None) + + This object gives access to framebuffer functionalities. + When a 'layer' is specified in a argument, a single layer of a 3D or array texture is attached to the frame-buffer. + For cube map textures, layer is translated into a cube map face. + + :param depth_slot: GPUTexture to attach or a ``dict`` containing keywords: 'texture', 'layer' and 'mip'. + :type depth_slot: :class:`gpu.types.GPUTexture` | dict[str, int | :class:`gpu.types.GPUTexture`] | None + :param color_slots: Tuple where each item can be a GPUTexture or a ``dict`` containing keywords: 'texture', 'layer' and 'mip'. + :type color_slots: :class:`gpu.types.GPUTexture` | dict[str, int | :class:`gpu.types.GPUTexture`] | Sequence[:class:`gpu.types.GPUTexture` | dict[str, int | :class:`gpu.types.GPUTexture`]] | None + + .. method:: bind() + + Context manager to ensure balanced bind calls, even in the case of an error. + + + .. method:: clear(*, color=None, depth=None, stencil=None) + + Fill color, depth and stencil textures with specific value. + Common values: color=(0.0, 0.0, 0.0, 1.0), depth=1.0, stencil=0. + + :param color: Sequence of 3 or 4 floats representing ``(r, g, b, a)``. + :type color: Sequence[float] | None + :param depth: depth value. + :type depth: float | None + :param stencil: stencil value. + :type stencil: int | None + + + .. method:: read_color(x, y, xsize, ysize, channels, slot, format, *, data=None) + + Read a block of pixels from the frame buffer. + + :param x: Lower left corner x of a rectangular block of pixels. + :type x: int + :param y: Lower left corner y of a rectangular block of pixels. + :type y: int + :param xsize: Width of the pixel rectangle. + :type xsize: int + :param ysize: Height of the pixel rectangle. + :type ysize: int + :param channels: Number of components to read. + :type channels: int + :param slot: The framebuffer slot to read data from. + :type slot: int + :param format: The format that describes the content of a single channel. + ``UINT_24_8`` is deprecated, use ``FLOAT`` instead. + :type format: Literal['FLOAT', 'INT', 'UINT', 'UBYTE', 'UINT_24_8', '10_11_11_REV'] + :param data: Optional Buffer object to fill with the pixels values. + :type data: :class:`gpu.types.Buffer` | None + :return: The Buffer with the read pixels. + :rtype: :class:`gpu.types.Buffer` + + + .. method:: read_depth(x, y, xsize, ysize, *, data=None) + + Read a pixel depth block from the frame buffer. + + :param x: Lower left corner x of a rectangular block of pixels. + :type x: int + :param y: Lower left corner y of a rectangular block of pixels. + :type y: int + :param xsize: Width of the pixel rectangle. + :type xsize: int + :param ysize: Height of the pixel rectangle. + :type ysize: int + :param data: Optional Buffer object to fill with the pixels values. + :type data: :class:`gpu.types.Buffer` | None + :return: The Buffer with the read pixels. + :rtype: :class:`gpu.types.Buffer` + + + .. method:: viewport_get() + + Returns position and dimension to current viewport. + + :return: The viewport as ``(x, y, width, height)``. + :rtype: tuple[int, int, int, int] + + + .. method:: viewport_set(x, y, xsize, ysize) + + Set the viewport for this framebuffer object. + Note: The viewport state is not saved upon framebuffer rebind. + + :param x: Lower left corner x of the viewport rectangle, in pixels. + :type x: int + :param y: Lower left corner y of the viewport rectangle, in pixels. + :type y: int + :param xsize: Width of the viewport. + :type xsize: int + :param ysize: Height of the viewport. + :type ysize: int + + + .. attribute:: is_bound + + Checks if this is the active frame-buffer in the context. + + + + +.. class:: GPUIndexBuf(type, seq) + + Contains an index buffer. + + :param type: The primitive type this index buffer is composed of. + :type type: Literal['POINTS', 'LINES', 'TRIS', 'LINES_ADJ', 'TRIS_ADJ'] + :param seq: Indices this index buffer will contain. + Whether a 1D or 2D sequence is required depends on the type. + Optionally the sequence can support the buffer protocol. + :type seq: Buffer | Sequence[int] | Sequence[Sequence[int]] + + + +.. class:: GPUOffScreen(width, height, *, format='RGBA8') + + This object gives access to off screen buffers. + + :param width: Horizontal dimension of the buffer. + :type width: int + :param height: Vertical dimension of the buffer. + :type height: int + :param format: Internal data format inside GPU memory for color attachment texture. + :type format: Literal['RGBA8', 'RGBA16', 'RGBA16F', 'RGBA32F'] + + .. method:: bind() + + Context manager to ensure balanced bind calls, even in the case of an error. + + :return: A context manager for the off-screen binding. + :rtype: :class:`gpu.types.OffScreenStackContext` + + + .. method:: draw_view3d(scene, view_layer, view3d, region, view_matrix, projection_matrix, *, do_color_management=False, draw_background=True) + + Draw the 3d viewport in the offscreen object. + + :param scene: Scene to draw. + :type scene: :class:`bpy.types.Scene` + :param view_layer: View layer to draw. + :type view_layer: :class:`bpy.types.ViewLayer` + :param view3d: 3D View to get the drawing settings from. + :type view3d: :class:`bpy.types.SpaceView3D` + :param region: Region of the 3D View (required as temporary draw target). + :type region: :class:`bpy.types.Region` + :param view_matrix: View Matrix (e.g. ``camera.matrix_world.inverted()``). + :type view_matrix: :class:`mathutils.Matrix` + :param projection_matrix: Projection Matrix (e.g. ``camera.calc_matrix_camera(...)``). + :type projection_matrix: :class:`mathutils.Matrix` + :param do_color_management: Color manage the output. + :type do_color_management: bool + :param draw_background: Draw background. + :type draw_background: bool + + + .. method:: free() + + Free the offscreen object. + The framebuffer, texture and render objects will no longer be accessible. + + + .. method:: unbind(*, restore=True) + + Unbind the offscreen object. + + :param restore: Restore the OpenGL state, can only be used when the state has been saved before. + :type restore: bool + + + .. attribute:: height + + Height of the texture. + + :type: int + + + .. attribute:: texture_color + + The color texture attached. + + :type: :class:`gpu.types.GPUTexture` + + + .. attribute:: width + + Width of the texture. + + :type: int + + + + +.. class:: GPUShader + + + .. method:: attr_from_name(name) + + Get attribute location by name. + + :param name: The name of the attribute variable whose location is to be queried. + :type name: str + :return: The location of an attribute variable. + :rtype: int + + + .. method:: attrs_info_get() + + Information about the attributes used in the Shader. + + :return: tuples containing information about the attributes in order (name, type) + :rtype: tuple[tuple[str, str | None], ...] + + + .. method:: bind() + + Bind the shader object. Required to be able to change uniforms of this shader. + + + .. method:: format_calc() + + Build a new format based on the attributes of the shader. + + :return: vertex attribute format for the shader + :rtype: :class:`gpu.types.GPUVertFormat` + + + .. method:: image(name, texture) + + Specify the value of an image variable for the current GPUShader. + + :param name: Name of the image variable to which the texture is to be bound. + :type name: str + :param texture: Texture to attach. + :type texture: :class:`gpu.types.GPUTexture` + + + .. method:: uniform_block(name, ubo) + + Specify the value of a uniform buffer object variable for the current GPUShader. + + :param name: Name of the uniform variable whose UBO is to be specified. + :type name: str + :param ubo: Uniform Buffer to attach. + :type ubo: :class:`gpu.types.GPUUniformBuf` + + + .. method:: uniform_block_from_name(name) + + Get uniform block location by name. + + :param name: Name of the uniform block variable whose location is to be queried. + :type name: str + :return: The location of the uniform block variable. + :rtype: int + + + .. method:: uniform_bool(name, value) + + Specify the value of a uniform variable for the current program object. + + :param name: Name of the uniform variable whose value is to be changed. + :type name: str + :param value: Value that will be used to update the specified uniform variable. + :type value: bool | Sequence[bool] + + + .. method:: uniform_float(name, value) + + Specify the value of a uniform variable for the current program object. + + :param name: Name of the uniform variable whose value is to be changed. + :type name: str + :param value: Value that will be used to update the specified uniform variable. + :type value: float | Sequence[float] + + + .. method:: uniform_from_name(name) + + Get uniform location by name. + + :param name: Name of the uniform variable whose location is to be queried. + :type name: str + :return: Location of the uniform variable. + :rtype: int + + + .. method:: uniform_int(name, seq) + + Specify the value of a uniform variable for the current program object. + + :param name: Name of the uniform variable whose value is to be changed. + :type name: str + :param seq: Value that will be used to update the specified uniform variable. + :type seq: int | Sequence[int] + + + .. method:: uniform_sampler(name, texture) + + Specify the value of a texture uniform variable for the current GPUShader. + + :param name: Name of the uniform variable whose texture is to be specified. + :type name: str + :param texture: Texture to attach. + :type texture: :class:`gpu.types.GPUTexture` + + + .. method:: uniform_vector_float(location, buffer, length, count) + + Set the buffer to fill the uniform. + + :param location: Location of the uniform variable to be modified. + :type location: int + :param buffer: The data that should be set. Can support the buffer protocol. + :type buffer: Sequence[float] + :param length: Size of the uniform data type: + + - 1: float + - 2: vec2 or float[2] + - 3: vec3 or float[3] + - 4: vec4 or float[4] + - 9: mat3 + - 16: mat4 + :type length: int + :param count: Specifies the number of elements, vector or matrices that are to be modified. + :type count: int + + + .. method:: uniform_vector_int(location, buffer, length, count) + + Set the buffer to fill the uniform. + + :param location: Location of the uniform variable to be modified. + :type location: int + :param buffer: Buffer object with format matching the uniform. + :type buffer: Buffer + :param length: Size of the uniform data type. + :type length: int + :param count: Specifies the number of elements that are to be modified. + :type count: int + + + .. attribute:: name + + The name of the shader object for debugging purposes (read-only). + + :type: str + + + .. attribute:: program + + The name of the program object for use by the OpenGL API (read-only). + This is deprecated and will always return -1. + + :type: int + + + + +.. class:: GPUShaderCreateInfo() + + Stores and describes types and variables that are used in shader sources. + + .. method:: compute_source(source) + + compute shader source code written in GLSL. + + Example: + + .. code-block:: python + + """void main() { + int2 index = int2(gl_GlobalInvocationID.xy); + vec4 color = vec4(0.0, 0.0, 0.0, 1.0); + imageStore(img_output, index, color); + }""" + + :param source: The compute shader source code. + :type source: str + + .. seealso:: `GLSL Cross Compilation `__ + + + .. method:: define(name, value) + + Add a preprocessing define directive. In GLSL it would be something like: + + .. code-block:: glsl + + #define name value + + :param name: Token name. + :type name: str + :param value: Text that replaces token occurrences. + :type value: str + + + .. method:: depth_write(value) + + Specify a depth write behavior when modifying gl_FragDepth. + + There is a common optimization for GPUs that relies on an early depth + test to be run before the fragment shader so that the shader evaluation + can be skipped if the fragment ends up being discarded because it is occluded. + + This optimization does not affect the final rendering, and is typically + possible when the fragment does not change the depth programmatically. + There is, however, a class of operations on the depth in the shader which + could still be performed while allowing the early depth test to operate. + + This function alters the behavior of the optimization to allow those operations + to be performed. + + :param value: Depth write value. + :UNCHANGED: disables depth write in a fragment shader and execution of the fragments can be optimized away. + :ANY: enables depth write in a fragment shader for any fragments + :GREATER: enables depth write in a fragment shader for depth values that are greater than the depth value in the output buffer. + :LESS: enables depth write in a fragment shader for depth values that are less than the depth value in the output buffer. + :type value: Literal['UNCHANGED', 'ANY', 'GREATER', 'LESS'] + + + .. method:: fragment_out(slot, type, name, *, blend='NONE') + + Specify a fragment output corresponding to a framebuffer target slot. + + :param slot: The attribute index. + :type slot: int + :param type: The data type of the output. + :type type: Literal['FLOAT', 'VEC2', 'VEC3', 'VEC4', 'MAT3', 'MAT4', 'UINT', 'UVEC2', 'UVEC3', 'UVEC4', 'INT', 'IVEC2', 'IVEC3', 'IVEC4', 'BOOL'] + :param name: Name of the attribute. + :type name: str + :param blend: Dual Source Blending Index. + :type blend: Literal['NONE', 'SRC_0', 'SRC_1'] + + + .. method:: fragment_source(source) + + Fragment shader source code written in GLSL. + + Example: + + .. code-block:: python + + "void main() {fragColor = vec4(0.0, 0.0, 0.0, 1.0);}" + + :param source: The fragment shader source code. + :type source: str + + .. seealso:: `GLSL Cross Compilation `__ + + + .. method:: image(slot, format, type, name, *, qualifiers={'NO_RESTRICT'}) + + Specify an image resource used for arbitrary load and store operations. + + :param slot: The image resource index. + :type slot: int + :param format: The GPUTexture format that is passed to the shader. + :type format: Literal['RGBA8UI', 'RGBA8I', 'RGBA8', 'RGBA32UI', 'RGBA32I', 'RGBA32F', 'RGBA16UI', 'RGBA16I', 'RGBA16F', 'RGBA16', 'RG8UI', 'RG8I', 'RG8', 'RG32UI', 'RG32I', 'RG32F', 'RG16UI', 'RG16I', 'RG16F', 'RG16', 'R8UI', 'R8I', 'R8', 'R32UI', 'R32I', 'R32F', 'R16UI', 'R16I', 'R16F', 'R16', 'R11F_G11F_B10F', 'DEPTH32F_STENCIL8', 'DEPTH24_STENCIL8', 'SRGB8_A8', 'RGB16F', 'SRGB8_A8_DXT1', 'SRGB8_A8_DXT3', 'SRGB8_A8_DXT5', 'RGBA8_DXT1', 'RGBA8_DXT3', 'RGBA8_DXT5', 'DEPTH_COMPONENT32F', 'DEPTH_COMPONENT24', 'DEPTH_COMPONENT16'] + :param type: The data type describing how the image is to be read in the shader. + :type type: Literal['FLOAT_BUFFER', 'FLOAT_1D', 'FLOAT_1D_ARRAY', 'FLOAT_2D', 'FLOAT_2D_ARRAY', 'FLOAT_3D', 'FLOAT_CUBE', 'FLOAT_CUBE_ARRAY', 'INT_BUFFER', 'INT_1D', 'INT_1D_ARRAY', 'INT_2D', 'INT_2D_ARRAY', 'INT_3D', 'INT_CUBE', 'INT_CUBE_ARRAY', 'UINT_BUFFER', 'UINT_1D', 'UINT_1D_ARRAY', 'UINT_2D', 'UINT_2D_ARRAY', 'UINT_3D', 'UINT_CUBE', 'UINT_CUBE_ARRAY', 'SHADOW_2D', 'SHADOW_2D_ARRAY', 'SHADOW_CUBE', 'SHADOW_CUBE_ARRAY', 'DEPTH_2D', 'DEPTH_2D_ARRAY', 'DEPTH_CUBE', 'DEPTH_CUBE_ARRAY'] + :param name: The image resource name. + :type name: str + :param qualifiers: Set containing values that describe how the image resource is to be read or written. + :type qualifiers: set[Literal['NO_RESTRICT', 'READ', 'WRITE']] + + + .. method:: local_group_size(x, y=1, z=1) + + Specify the local group size for compute shaders. + + :param x: The local group size in the x dimension. + :type x: int + :param y: The local group size in the y dimension. Optional. Defaults to 1. + :type y: int + :param z: The local group size in the z dimension. Optional. Defaults to 1. + :type z: int + + + .. method:: push_constant(type, name, size=0) + + Specify a global access constant. + + :param type: The data type of the constant. + :type type: Literal['FLOAT', 'VEC2', 'VEC3', 'VEC4', 'MAT3', 'MAT4', 'UINT', 'UVEC2', 'UVEC3', 'UVEC4', 'INT', 'IVEC2', 'IVEC3', 'IVEC4', 'BOOL'] + :param name: Name of the constant. + :type name: str + :param size: If not zero, indicates that the constant is an array with the specified size. + :type size: int + + + .. method:: sampler(slot, type, name) + + Specify an image texture sampler. + + :param slot: The image texture sampler index. + :type slot: int + :param type: The data type describing the format of each sampler unit. + :type type: Literal['FLOAT_BUFFER', 'FLOAT_1D', 'FLOAT_1D_ARRAY', 'FLOAT_2D', 'FLOAT_2D_ARRAY', 'FLOAT_3D', 'FLOAT_CUBE', 'FLOAT_CUBE_ARRAY', 'INT_BUFFER', 'INT_1D', 'INT_1D_ARRAY', 'INT_2D', 'INT_2D_ARRAY', 'INT_3D', 'INT_CUBE', 'INT_CUBE_ARRAY', 'UINT_BUFFER', 'UINT_1D', 'UINT_1D_ARRAY', 'UINT_2D', 'UINT_2D_ARRAY', 'UINT_3D', 'UINT_CUBE', 'UINT_CUBE_ARRAY', 'SHADOW_2D', 'SHADOW_2D_ARRAY', 'SHADOW_CUBE', 'SHADOW_CUBE_ARRAY', 'DEPTH_2D', 'DEPTH_2D_ARRAY', 'DEPTH_CUBE', 'DEPTH_CUBE_ARRAY'] + :param name: The image texture sampler name. + :type name: str + + + .. method:: typedef_source(source) + + Source code included before resource declaration. Useful for defining structs used by Uniform Buffers. + + Example: + + .. code-block:: python + + "struct MyType {int foo; float bar;};" + + :param source: The source code defining types. + :type source: str + + + .. method:: uniform_buf(slot, type_name, name) + + Specify a uniform variable whose type can be one of those declared in :meth:`gpu.types.GPUShaderCreateInfo.typedef_source`. + + :param slot: The uniform variable index. + :type slot: int + :param type_name: Name of the data type. It can be a struct type defined in the source passed through the :meth:`gpu.types.GPUShaderCreateInfo.typedef_source`. + :type type_name: str + :param name: The uniform variable name. + :type name: str + + + .. method:: vertex_in(slot, type, name) + + Add a vertex shader input attribute. + + :param slot: The attribute index. + :type slot: int + :param type: The data type of the attribute. + :type type: Literal['FLOAT', 'VEC2', 'VEC3', 'VEC4', 'MAT3', 'MAT4', 'UINT', 'UVEC2', 'UVEC3', 'UVEC4', 'INT', 'IVEC2', 'IVEC3', 'IVEC4', 'BOOL'] + :param name: name of the attribute. + :type name: str + + + .. method:: vertex_out(interface) + + Add a vertex shader output interface block. + + :param interface: Object describing the block. + :type interface: :class:`gpu.types.GPUStageInterfaceInfo` + + + .. method:: vertex_source(source) + + Vertex shader source code written in GLSL. + + Example: + + .. code-block:: python + + "void main() {gl_Position = vec4(pos, 1.0);}" + + :param source: The vertex shader source code. + :type source: str + + .. seealso:: `GLSL Cross Compilation `__ + + + + +.. class:: GPUStageInterfaceInfo(name) + + List of varyings between shader stages. + + :param name: Name of the interface block. + :type name: str + + .. method:: flat(type, name) + + Add an attribute with qualifier of type ``flat`` to the interface block. + + :param type: The data type of the attribute. + :type type: Literal['FLOAT', 'VEC2', 'VEC3', 'VEC4', 'MAT3', 'MAT4', 'UINT', 'UVEC2', 'UVEC3', 'UVEC4', 'INT', 'IVEC2', 'IVEC3', 'IVEC4', 'BOOL'] + :param name: name of the attribute. + :type name: str + + + .. method:: no_perspective(type, name) + + Add an attribute with qualifier of type ``no_perspective`` to the interface block. + + :param type: The data type of the attribute. + :type type: Literal['FLOAT', 'VEC2', 'VEC3', 'VEC4', 'MAT3', 'MAT4', 'UINT', 'UVEC2', 'UVEC3', 'UVEC4', 'INT', 'IVEC2', 'IVEC3', 'IVEC4', 'BOOL'] + :param name: name of the attribute. + :type name: str + + + .. method:: smooth(type, name) + + Add an attribute with qualifier of type *smooth* to the interface block. + + :param type: The data type of the attribute. + :type type: Literal['FLOAT', 'VEC2', 'VEC3', 'VEC4', 'MAT3', 'MAT4', 'UINT', 'UVEC2', 'UVEC3', 'UVEC4', 'INT', 'IVEC2', 'IVEC3', 'IVEC4', 'BOOL'] + :param name: name of the attribute. + :type name: str + + + .. attribute:: name + + Name of the interface block. + + :type: str + + + + +.. class:: GPUTexture(size, *, layers=0, is_cubemap=False, format='RGBA8', data=None) + + This object gives access to GPU textures. + + :param size: Dimensions of the texture 1D, 2D, 3D or cubemap. + :type size: int | Sequence[int] + :param layers: Number of layers in texture array or number of cubemaps in cubemap array + :type layers: int + :param is_cubemap: Indicates the creation of a cubemap texture. + :type is_cubemap: bool + :param format: Internal data format inside GPU memory. + ``DEPTH24_STENCIL8`` is deprecated, use ``DEPTH32F_STENCIL8``. + ``DEPTH_COMPONENT24`` is deprecated, use ``DEPTH_COMPONENT32F``. + :type format: Literal['RGBA8UI', 'RGBA8I', 'RGBA8', 'RGBA32UI', 'RGBA32I', 'RGBA32F', 'RGBA16UI', 'RGBA16I', 'RGBA16F', 'RGBA16', 'RG8UI', 'RG8I', 'RG8', 'RG32UI', 'RG32I', 'RG32F', 'RG16UI', 'RG16I', 'RG16F', 'RG16', 'R8UI', 'R8I', 'R8', 'R32UI', 'R32I', 'R32F', 'R16UI', 'R16I', 'R16F', 'R16', 'R11F_G11F_B10F', 'DEPTH32F_STENCIL8', 'DEPTH24_STENCIL8', 'SRGB8_A8', 'RGB16F', 'SRGB8_A8_DXT1', 'SRGB8_A8_DXT3', 'SRGB8_A8_DXT5', 'RGBA8_DXT1', 'RGBA8_DXT3', 'RGBA8_DXT5', 'DEPTH_COMPONENT32F', 'DEPTH_COMPONENT24', 'DEPTH_COMPONENT16'] + :param data: Buffer object to fill the texture. + :type data: :class:`gpu.types.Buffer` | None + + .. method:: anisotropic_filter(use_anisotropic) + + Set anisotropic filter usage. This only has effect if mipmapping is enabled. + + :param use_anisotropic: If set to true, the texture will use anisotropic filtering. + :type use_anisotropic: bool + + + .. method:: clear(format='FLOAT', value=(0.0, 0.0, 0.0, 1.0)) + + Fill texture with specific value. + + :param format: The format that describes the content of a single item. + ``UINT_24_8`` is deprecated, use ``FLOAT`` instead. + :type format: Literal['FLOAT', 'INT', 'UINT', 'UBYTE', 'UINT_24_8', '10_11_11_REV'] + :param value: Sequence each representing the value to fill. Sizes 1..4 are supported. + :type value: Sequence[float] | Sequence[int] + + + .. method:: extend_mode(extend_mode='EXTEND', /) + + Set texture sampling method for coordinates outside of the [0..1] uv range along + both the x and y axis. + + :param extend_mode: the specified extent mode. + :type extend_mode: Literal['EXTEND', 'REPEAT', 'MIRRORED_REPEAT', 'CLAMP_TO_BORDER'] + + + .. method:: extend_mode_x(extend_mode='EXTEND', /) + + Set texture sampling method for coordinates outside of the [0..1] uv range along the x axis. + + :param extend_mode: the specified extent mode. + :type extend_mode: Literal['EXTEND', 'REPEAT', 'MIRRORED_REPEAT', 'CLAMP_TO_BORDER'] + + + .. method:: extend_mode_y(extend_mode='EXTEND', /) + + Set texture sampling method for coordinates outside of the [0..1] uv range along the y axis. + + :param extend_mode: the specified extent mode. + :type extend_mode: Literal['EXTEND', 'REPEAT', 'MIRRORED_REPEAT', 'CLAMP_TO_BORDER'] + + + .. method:: filter_mode(use_filter) + + Set texture filter usage. + + :param use_filter: If set to true, the texture will use linear interpolation between neighboring texels. + :type use_filter: bool + + + .. method:: mipmap_mode(use_mipmap=True, use_filter=True) + + Set texture filter and mip-map usage. + + :param use_mipmap: If set to true, the texture will use mip-mapping as anti-aliasing method. + :type use_mipmap: bool + :param use_filter: If set to true, the texture will use linear interpolation between neighboring texels. + :type use_filter: bool + + + .. method:: read() + + Creates a buffer with the value of all pixels. + + :return: The Buffer with the read pixels. + :rtype: :class:`gpu.types.Buffer` + + + .. attribute:: format + + Format of the texture. + + :type: str + + + .. attribute:: height + + Height of the texture. + + :type: int + + + .. attribute:: width + + Width of the texture. + + :type: int + + + + +.. class:: GPUUniformBuf(data) + + This object gives access to uniform buffers. + + :param data: Data to fill the buffer. + :type data: Buffer + + .. method:: update(data) + + Update the data of the uniform buffer object. + + :param data: Data to fill the buffer. + :type data: Buffer + + + + +.. class:: GPUVertBuf(format, len) + + Contains a VBO. + + :param format: Vertex format. + :type format: :class:`gpu.types.GPUVertFormat` + :param len: Amount of vertices that will fit into this buffer. + :type len: int + + .. method:: attr_fill(id, data) + + Insert data into the buffer for a single attribute. + + :param id: Either the name or the id of the attribute. + :type id: int | str + :param data: Buffer or sequence of data that should be stored in the buffer + :type data: Buffer | Sequence[float] | Sequence[int] | Sequence[Sequence[float]] | Sequence[Sequence[int]] + + + + +.. class:: GPUVertFormat() + + This object contains information about the structure of a vertex buffer. + + .. method:: attr_add(id, comp_type, len, fetch_mode) + + Add a new attribute to the format. + + :param id: Name of the attribute. Often ``position``, ``normal``, ... + :type id: str + :param comp_type: The data type that will be used to store the value in memory. + :type comp_type: Literal['I8', 'U8', 'I16', 'U16', 'I32', 'U32', 'F32', 'I10'] + :param len: How many individual values the attribute consists of + (e.g. 2 for uv coordinates). + :type len: int + :param fetch_mode: How values from memory will be converted when used in the shader. + This is mainly useful for memory optimizations when you want to store values with + reduced precision. E.g. you can store a float in only 1 byte but it will be + converted to a normal 4 byte float when used. + :type fetch_mode: Literal['FLOAT', 'INT', 'INT_TO_FLOAT_UNIT'] + + + + +.. class:: MatrixStackContext + + Context manager for matrix stack push/pop. + + + +.. class:: OffScreenStackContext + + Context manager for off-screen framebuffer binding. + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu_extras.batch.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu_extras.batch.rst new file mode 100644 index 0000000..a1d1816 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu_extras.batch.rst @@ -0,0 +1,19 @@ +gpu_extras submodule (gpu_extras.batch) +======================================= + +.. module:: gpu_extras.batch + +.. function:: batch_for_shader(shader, type, content, *, indices=None) + + Return a batch already configured and compatible with the shader. + + :param shader: shader for which a compatible format will be computed. + :type shader: :class:`gpu.types.GPUShader` + :param type: The primitive type of batch geometry. + :type type: Literal['POINTS', 'LINES', 'TRIS', 'LINE_STRIP', 'TRI_STRIP', 'LINES_ADJ', 'TRIS_ADJ', 'LINE_STRIP_ADJ'] + :param content: Maps the name of the shader attribute with the data to fill the vertex buffer. + For the dictionary values see documentation for :class:`gpu.types.GPUVertBuf.attr_fill` data argument. + :type content: dict[str, Buffer | Sequence[float] | Sequence[int] | Sequence[Sequence[float]] | Sequence[Sequence[int]]] + :return: compatible batch + :rtype: :class:`gpu.types.GPUBatch` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu_extras.presets.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu_extras.presets.rst new file mode 100644 index 0000000..081bf24 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu_extras.presets.rst @@ -0,0 +1,42 @@ +gpu_extras submodule (gpu_extras.presets) +========================================= + +.. module:: gpu_extras.presets + +.. function:: draw_circle_2d(position, color, radius, *, segments=None) + + Draw a circle. + + :param position: 2D position where the circle will be drawn. + :type position: Sequence[float] + :param color: Color of the circle (RGBA). + To use transparency blend must be set to ``ALPHA``, see: :func:`gpu.state.blend_set`. + :type color: Sequence[float] + :param radius: Radius of the circle. + :type radius: float + :param segments: How many segments will be used to draw the circle. + Higher values give better results but the drawing will take longer. + If None or not specified, an automatic value will be calculated. + :type segments: int | None + +.. function:: draw_texture_2d(texture, position, width, height, is_scene_linear_with_rec709_srgb_target=False) + + Draw a 2d texture. + + :param texture: GPUTexture to draw (e.g. gpu.texture.from_image(image) for :class:`bpy.types.Image`). + :type texture: :class:`gpu.types.GPUTexture` + :param position: 2D position of the lower left corner. + :type position: Sequence[float] + :param width: Width of the image when drawn (not necessarily + the original width of the texture). + :type width: float + :param height: Height of the image when drawn. + :type height: float + :param is_scene_linear_with_rec709_srgb_target: + True if the `texture` is stored in scene linear color space and + the destination frame-buffer uses the Rec.709 sRGB color space + (which is true when drawing textures acquired from :class:`bpy.types.Image` inside a + 'PRE_VIEW', 'POST_VIEW' or 'POST_PIXEL' draw handler). + Otherwise the color space is assumed to match the one of the frame-buffer. (default=False) + :type is_scene_linear_with_rec709_srgb_target: bool + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu_extras.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu_extras.rst new file mode 100644 index 0000000..d625e18 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/gpu_extras.rst @@ -0,0 +1,12 @@ +GPU Utilities (gpu_extras) +========================== + +.. module:: gpu_extras + +.. toctree:: + :maxdepth: 1 + :caption: Submodules + + gpu_extras.batch.rst + gpu_extras.presets.rst + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/idprop.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/idprop.rst new file mode 100644 index 0000000..b281fa1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/idprop.rst @@ -0,0 +1,17 @@ +ID Properties Module (idprop) +============================= + +.. module:: idprop + +This module provides access to ID property types, used for +custom properties on data-blocks, accessed via ``["key"]`` syntax. + +- See :ref:`info_quickstart-custom_properties` for example usage. +- See :ref:`bpy_types-custom_properties` for types that support custom properties. + +.. toctree:: + :maxdepth: 1 + :caption: Submodules + + idprop.types.rst + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/idprop.types.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/idprop.types.rst new file mode 100644 index 0000000..a98fb84 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/idprop.types.rst @@ -0,0 +1,146 @@ +ID Property Access (idprop.types) +================================= + +.. module:: idprop.types + +.. class:: IDPropertyArray + + An array of values with a fixed type, supporting indexing and slicing. + + .. method:: to_list() + + Return the array as a list. + + :return: The array as a list. + :rtype: list[int] | list[float] | list[bool] + + + .. attribute:: typecode + + The type of the data in the array {'f': float (32-bit), 'd': double (64-bit), 'i': int, 'b': bool}. Both 'f' and 'd' use Python's :class:`float` type but differ in storage precision. + + + + +.. class:: IDPropertyGroup + + A dictionary-like group of ID properties, supporting key access, iteration, and membership testing. + + .. method:: clear() + + Clear all members from this group. + + + .. method:: get(key, default=None) + + Return the value for key, if it exists, else default. + + :param key: The key to look up. + :type key: str + :param default: Value to return if *key* is not found. + :type default: Any + :return: The value for the key, or *default* if not found. + :rtype: Any + + + .. method:: items() + + Return a view of the items in the group, behaves like dictionary method items. + + :return: A view of the items. + :rtype: :class:`IDPropertyGroupViewItems` + + + .. method:: keys() + + Return a view of the keys in the group. + + :return: A view of the keys. + :rtype: :class:`IDPropertyGroupViewKeys` + + + .. method:: pop(key, default) + + Remove an item from the group, returning a Python representation. + + :raises KeyError: When the item doesn't exist and no *default* is given. + + :param key: Name of item to remove. + :type key: str + :param default: Value to return when *key* isn't found (optional, a :exc:`KeyError` is raised when omitted and the key is not found). + :type default: Any + :return: A Python representation of the removed item, or *default*. + :rtype: Any + + + .. method:: to_dict() + + Return a purely Python version of the group. + + :return: A dictionary representation of the group. + :rtype: dict[str, Any] + + + .. method:: update(other) + + Update key-value pairs from *other*, overwriting existing keys. + + .. note:: + + Unlike :meth:`dict.update`, keyword arguments are not supported. + + :param other: Updates the values in the group with this. + :type other: :class:`IDPropertyGroup` | dict[str, Any] + + + .. method:: values() + + Return the values associated with this group. + + :return: A view of the values. + :rtype: :class:`IDPropertyGroupViewValues` + + + .. attribute:: name + + The name of this Group. + + + + +.. class:: IDPropertyGroupIterItems + + Iterator over :class:`IDPropertyGroup` items (key/value pairs). + + + +.. class:: IDPropertyGroupIterKeys + + Iterator over :class:`IDPropertyGroup` keys. + + + +.. class:: IDPropertyGroupIterValues + + Iterator over :class:`IDPropertyGroup` values. + + + +.. class:: IDPropertyGroupViewItems + + A view of :class:`IDPropertyGroup` items as key/value pairs (supports ``len()``, ``in``, iteration, and ``reversed()``). + + + +.. class:: IDPropertyGroupViewKeys + + A view of :class:`IDPropertyGroup` keys (supports ``len()``, ``in``, iteration, and ``reversed()``). + + + +.. class:: IDPropertyGroupViewValues + + A view of :class:`IDPropertyGroup` values (supports ``len()``, ``in``, iteration, and ``reversed()``). + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/imbuf.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/imbuf.rst new file mode 100644 index 0000000..27edbdc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/imbuf.rst @@ -0,0 +1,56 @@ +Image Buffer (imbuf) +==================== + +.. module:: imbuf + +This module provides access to Blender's image manipulation API. + +It provides access to image buffers outside of Blender's +:class:`bpy.types.Image` data-block context. + +.. toctree:: + :maxdepth: 1 + :caption: Submodules + + imbuf.types.rst + +.. function:: load(filepath) + + Load an image from a file. + + :param filepath: The filepath of the image. + :type filepath: str | bytes + :return: The newly loaded image. + :rtype: :class:`ImBuf` + + +.. function:: load_from_buffer(buffer) + + Load an image from a buffer. + + :param buffer: A buffer containing the image data. + :type buffer: collections.abc.Buffer + :return: The newly loaded image. + :rtype: :class:`ImBuf` + + +.. function:: new(size) + + Create a new image. + + :param size: The size of the image in pixels. + :type size: tuple[int, int] + :return: The newly created image. + :rtype: :class:`ImBuf` + + +.. function:: write(image, *, filepath=None) + + Write an image. + + :param image: The image to write. + :type image: :class:`ImBuf` + :param filepath: Optional filepath of the image (fallback to the image's file path). + :type filepath: str | bytes | None + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/imbuf.types.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/imbuf.types.rst new file mode 100644 index 0000000..5694358 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/imbuf.types.rst @@ -0,0 +1,85 @@ +Image Buffer Types (imbuf.types) +================================ + +.. module:: imbuf.types + +This module provides access to image buffer types. + +.. note:: + + Image buffer is also the structure used by :class:`bpy.types.Image` + ID type to store and manipulate image data at runtime. + +.. class:: ImBuf + + + .. method:: copy() + + Return a copy of the image. + + :return: A copy of the image. + :rtype: :class:`ImBuf` + + + .. method:: crop(min, max) + + Crop the image in-place. + + :param min: Minimum pixel coordinates (X, Y), inclusive. + :type min: tuple[int, int] + :param max: Maximum pixel coordinates (X, Y), inclusive. + :type max: tuple[int, int] + + + .. method:: free() + + Clear image data immediately (causing an error on re-use). + + + .. method:: resize(size, *, method='FAST') + + Resize the image in-place. + + :param size: New size. + :type size: tuple[int, int] + :param method: Method of resizing ('FAST', 'BILINEAR'). + :type method: str + + + .. attribute:: channels + + Number of color channels. + + :type: int + + + .. attribute:: filepath + + Filepath associated with this image. + + :type: str + + + .. attribute:: planes + + Number of bits per pixel. + + :type: int + + + .. attribute:: ppm + + Pixels per meter. + + :type: tuple[float, float] + + + .. attribute:: size + + Size of the image in pixels. + + :type: tuple[int, int] + + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/include__bmesh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/include__bmesh.rst new file mode 100644 index 0000000..93b4cac --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/include__bmesh.rst @@ -0,0 +1,151 @@ +.. + This document is appended to the auto generated BMesh API doc to avoid clogging up the C files with details. + to test this run: + ./blender.bin -b -P doc/python_api/sphinx_doc_gen.py -- \ + --partial bmesh* ; cd doc/python_api ; sphinx-build sphinx-in sphinx-out ; cd ../../ + + +Introduction +------------ + +This API gives access to Blender's internal mesh editing API, featuring geometry connectivity data and +access to editing operations such as split, separate, collapse and dissolve. +The features exposed closely follow the C API, +giving Python access to the functions used by Blender's own mesh editing tools. + +For an overview of BMesh data types and how they reference each other see: +`BMesh Design Document `__. + + +.. note:: + + **Disk** and **Radial** data is not exposed by the Python API since this is for internal use only. + + +.. warning:: TODO items are... + + - add access to BMesh **walkers**. + - add custom-data manipulation functions add, remove or rename. + + +Example Script +-------------- + +.. literalinclude:: __/__/__/scripts/templates_py/bmesh_simple.py + + +Standalone Module +^^^^^^^^^^^^^^^^^ + +The BMesh module is written to be standalone except for :mod:`mathutils` +which is used for vertex locations and normals. +The only other exception to this are when converting mesh data to and from :class:`bpy.types.Mesh`. + + +Mesh Access +----------- + +There are two ways to access BMesh data, you can create a new BMesh by converting a mesh from +:attr:`bpy.types.BlendData.meshes` or by accessing the current Edit-Mode mesh. +See: :meth:`bmesh.types.BMesh.from_mesh` and :func:`bmesh.from_edit_mesh` respectively. + +When explicitly converting from mesh data Python **owns** the data, that means that +the mesh only exists while Python holds a reference to it. +The script is responsible for putting it back into a mesh data-block when the edits are done. + +Note that unlike :mod:`bpy`, a BMesh does not necessarily correspond to data in the currently open blend-file, +a BMesh can be created, edited and freed without the user ever seeing or having access to it. +Unlike Edit-Mode, the BMesh module can use multiple BMesh instances at once. + +Take care when dealing with multiple BMesh instances since the mesh data can use a lot of memory. +While a mesh that the Python script owns will be freed when the script holds no references to it, +it's good practice to call :meth:`bmesh.types.BMesh.free` which will remove all the mesh data immediately +and disable further access. + + +Edit-Mode Tessellation +^^^^^^^^^^^^^^^^^^^^^^ + +When writing scripts that operate on Edit-Mode data you will normally want to re-calculate the tessellation after +running the script, this needs to be called explicitly. +The BMesh itself does not store the triangulated faces, instead they are stored in the :class:`bpy.types.Mesh`, +to refresh tessellation triangles call :meth:`bpy.types.Mesh.calc_loop_triangles`. + + +CustomData Access +----------------- + +BMesh has a unified way to access mesh attributes such as UVs, vertex colors, shape keys, edge crease, etc. +This works by having a **layers** property on BMesh data sequences to access the custom data layers +which can then be used to access the actual data on each vert, edge, face or loop. + +Here are some examples: + +.. code-block:: python + + uv_lay = bm.loops.layers.uv.active + + for face in bm.faces: + for loop in face.loops: + uv = loop[uv_lay].uv + print("Loop UV: %f, %f" % uv[:]) + vert = loop.vert + print("Loop Vert: (%f,%f,%f)" % vert.co[:]) + + +.. code-block:: python + + shape_lay = bm.verts.layers.shape["Key.001"] + + for vert in bm.verts: + shape = vert[shape_lay] + print("Vert Shape: %f, %f, %f" % (shape.x, shape.y, shape.z)) + + +.. code-block:: python + + # In this example the active vertex group index is used, + # this is stored in the object, not the `BMesh`. + group_index = obj.vertex_groups.active_index + + # Only ever one deform weight layer. + dvert_lay = bm.verts.layers.deform.active + + for vert in bm.verts: + dvert = vert[dvert_lay] + + if group_index in dvert: + print("Weight %f" % dvert[group_index]) + else: + print("Setting Weight") + dvert[group_index] = 0.5 + + +Keeping a Correct State +----------------------- + +When modeling in Blender there are certain assumptions made about the state of the mesh: + +- Hidden geometry isn't selected. +- When an edge is selected, its vertices are selected too. +- When a face is selected, its edges and vertices are selected. +- Duplicate edges / faces don't exist. +- Faces have at least three vertices. + +To give developers flexibility these conventions are not enforced, +yet tools must leave the mesh in a valid state or else other tools may behave incorrectly. +Any errors that arise from not following these conventions is considered a bug in the script, +not a bug in Blender. + + +Selection / Flushing +^^^^^^^^^^^^^^^^^^^^ + +As mentioned above, it is possible to create an invalid selection state +(by selecting a face and then deselecting one of its vertices for example), +mostly the best way to solve this is to flush the selection +after performing a series of edits. This validates the selection state. + + +Module Functions +---------------- diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/index.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/index.rst new file mode 100644 index 0000000..49eb585 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/index.rst @@ -0,0 +1,71 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Blender 5.1 Python API Documentation +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +Welcome to the Python API documentation for `Blender `__, the free and open source 3D creation suite. + +This site can be used offline: `Download the full documentation (zipped HTML files) `__ + +.. toctree:: + :hidden: + :maxdepth: 1 + :caption: Documentation + + info_quickstart.rst + info_overview.rst + info_api_reference.rst + info_best_practice.rst + info_tips_and_tricks.rst + info_gotcha.rst + info_advanced.rst + change_log.rst + info_contributing.rst + +Documentation +============= + +- :doc:`info_quickstart`: New to Blender or scripting and want to get your feet wet? +- :doc:`info_overview`: A more complete explanation of Python integration. +- :doc:`info_api_reference`: Examples of how to use the API reference docs. +- :doc:`info_best_practice`: Conventions to follow for writing good scripts. +- :doc:`info_tips_and_tricks`: Hints to help you while writing scripts for Blender. +- :doc:`info_gotcha`: Some of the problems you may encounter when writing scripts. +- :doc:`info_advanced`: Topics which may not be required for typical usage. +- :doc:`change_log`: List of changes since last Blender release +- :doc:`info_contributing`: Guide for contributing to Blender's Python API documentation. + +.. toctree:: + :maxdepth: 1 + :caption: Application Modules + + bpy.context + bpy.data + bpy.msgbus + bpy.ops + bpy.types + bpy.utils + bpy.path + bpy.app + bpy.props + +.. toctree:: + :maxdepth: 1 + :caption: Standalone Modules + + bl_math + blf + bmesh + bpy_extras + gpu + gpu_extras + idprop + imbuf + mathutils + +Indices +======= + +- :ref:`genindex` +- :ref:`modindex` + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_advanced.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_advanced.rst new file mode 100644 index 0000000..cae1e71 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_advanced.rst @@ -0,0 +1,15 @@ +.. _info_advanced-index: + +******** +Advanced +******** + +This chapter covers advanced use (topics which may not be required for typical usage). + +.. NOTE(@campbellbarton): Blender-as-a-Python-module is too obscure a topic to list directly on the main-page, + so opt for an "Advanced" page which can be expanded on as needed. + +.. toctree:: + :maxdepth: 1 + + info_advanced_blender_as_bpy.rst diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_advanced_blender_as_bpy.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_advanced_blender_as_bpy.rst new file mode 100644 index 0000000..d137eda --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_advanced_blender_as_bpy.rst @@ -0,0 +1,129 @@ + +************************** +Blender as a Python Module +************************** + +Blender supports being built as a Python module, +allowing ``import bpy`` to be added to any Python script, providing access to Blender's features. + +.. note:: + + Blender as a Python Module isn't provided on Blender's official download page. + + - A pre-compiled ``bpy`` module is + `available via PIP `__. + - Or you may compile this yourself using the + `build instructions `__. + + +Use Cases +========= + +Python developers may wish to integrate Blender scripts which don't center around Blender. + +Possible uses include: + +- Visualizing data by rendering images and animations. +- Image processing using Blender's compositor. +- Video editing (using Blender's sequencer). +- 3D file conversion. +- Development, accessing ``bpy`` from Python IDEs and debugging tools for example. +- Automation. + + +Usage +===== + +For the most part using Blender as a Python module is equivalent to running a script in background-mode +(passing the command-line arguments ``--background`` or ``-b``), +however there are some differences to be aware of. + +.. Sorted alphabetically as there isn't especially a logical order to show them. + +Blender's Executable Access + The attribute :attr:`bpy.app.binary_path` defaults to an empty string. + + If you wish to point this to the location of a known executable you may set the value. + + This example searches for the binary, setting it when found: + + .. code-block:: python + + import bpy + import shutil + + blender_bin = shutil.which("blender") + if blender_bin: + print("Found:", blender_bin) + bpy.app.binary_path = blender_bin + else: + print("Unable to find blender!") + +Blender's Internal Modules + There are many modules included with Blender such as :mod:`gpu` and :mod:`mathutils`. + It's important that these are imported after ``bpy`` or they will not be found. + +Command Line Arguments Unsupported + Functionality controlled by command line arguments (shown by calling ``blender --help``) isn't accessible. + + Typically this isn't such a limitation although there are some command line arguments that don't have + equivalents in Blender's Python API (``--threads`` and ``--log`` for example). + + .. note:: + + Access to these settings may be added in the future as needed. + +Resource Sharing (GPU) + It's possible other Python modules make use of the GPU in a way that prevents Blender/Cycles from accessing the GPU. + +Signal Handlers + Blender's typical signal handlers are not initialized, so there is no special handling for ``Control-C`` + to cancel a render and a crash log is not written in the event of a crash. + +Startup and Preferences + When the ``bpy`` module loads it contains the default startup scene + (instead of an "empty" blend-file as you might expect), so there is a default cube, camera and light. + + If you wish to start from an empty file use: ``bpy.ops.wm.read_factory_settings(use_empty=True)``. + + The user's startup and preferences are ignored to prevent your local configuration from impacting script behavior. + The Python module behaves as if ``--factory-startup`` was passed as a command line argument. + + The user's preferences and startup can be loaded using operators: + + .. code-block:: python + + import bpy + + bpy.ops.wm.read_userpref() + bpy.ops.wm.read_homefile() + + +Limitations +=========== + +Most constraints of Blender as an application still apply: + +Reloading Unsupported + Reloading the ``bpy`` module via ``importlib.reload`` will raise an exception + instead of reloading and resetting the module. + + Instead, the operator ``bpy.ops.wm.read_factory_settings()`` can be used to reset the internal state. + +Single Blend File Restriction + Only a single ``.blend`` file can be edited at a time. + + .. hint:: + + As with the application it's possible to start multiple instances, + each with their own ``bpy`` and therefore Blender state. + Python provides the ``multiprocessing`` module to make communicating with sub-processes more convenient. + + In some cases the library API may be an alternative to starting separate processes, + although this API operates on reading and writing ID data-blocks and isn't + a complete substitute for loading ``.blend`` files, see: + + - :meth:`bpy.types.BlendDataLibraries.load` + - :meth:`bpy.types.BlendDataLibraries.write` + - :meth:`bpy.types.BlendData.temp_data` + supports a temporary data-context to avoid manipulating the current ``.blend`` file. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_api_reference.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_api_reference.rst new file mode 100644 index 0000000..9c6d53f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_api_reference.rst @@ -0,0 +1,257 @@ + +******************* +API Reference Usage +******************* + +Blender has many interlinking data types which have an auto-generated reference API which often has the information +you need to write a script, but can be difficult to use. +This document is designed to help you understand how to use the reference API. + + +Reference API Scope +=================== + +The reference API covers :mod:`bpy.types`, which stores types accessed via :mod:`bpy.context` -- *the user context* +or :mod:`bpy.data` -- *blend-file data*. + +Other modules such as :mod:`bmesh` and :mod:`aud` are not using Blender's data API +so this document doesn't apply to those modules. + + +Data Access +=========== + +The most common case for using the reference API is to find out how to access data in the blend-file. +Before going any further it's best to be aware of ID data-blocks in Blender since you will often find properties +relative to them. + + +ID Data +------- + +ID data-blocks are used in Blender as top-level data containers. +From the user interface this isn't so obvious, but when developing you need to know about ID data-blocks. +ID data types include Scene, Collection, Object, Mesh, Workspace, World, Armature, Image and Texture. +For a full list see the subclasses of :class:`bpy.types.ID`. + +Here are some characteristics ID data-blocks share: + +- IDs are blend-file data, so loading a new blend-file reloads an entire new set of data-blocks. +- IDs can be accessed in Python from ``bpy.data.*``. +- Each data-block has a unique ``.name`` attribute, displayed in the interface. +- Animation data is stored in IDs ``.animation_data``. +- IDs are the only data types that can be linked between blend-files. +- IDs can be added/copied and removed via Python. +- IDs have their own garbage-collection system which frees unused IDs when saving. +- When a data-block has a reference to some external data, this is typically an ID data-block. + + +Simple Data Access +------------------ + +In this simple case a Python script is used to adjust the object's location. +Start by collecting the information where the data is located. + +First find this setting in the interface ``Properties editor -> Object -> Transform -> Location``. +From the button context menu select *Online Python Reference*, this will link you to: +:class:`bpy.types.Object.location`. +Being an API reference, this link often gives little more information than the tooltip, though some of the pages +include examples (normally at the top of the page). +But you now know that you have to use ``.location`` and that it's an array of three floats. + +So the next step is to find out where to access objects, go down to the bottom of the page to the references section, +for objects there are many references, but one of the most common places to access objects is via the context. +It's easy to be overwhelmed at this point since ``Object`` gets referenced in so many places: +modifiers, functions, textures and constraints. +But if you want to access any data the user has selected +you typically only need to check the :mod:`bpy.context` references. + +Even then, in this case there are quite a few though +if you read over these you'll notice that most are mode specific. +If you happen to be writing a tool that only runs in Weight Paint Mode, +then using ``weight_paint_object`` would be appropriate. +However, to access an item the user last selected, look for the ``active`` members, +Having access to a single active member the user selects is a convention in Blender: +e.g. ``active_bone``, ``active_pose_bone``, ``active_node``, etc. and in this case you can use ``active_object``. + +So now you have enough information to find the location of the active object. + +.. code-block:: python + + bpy.context.active_object.location + +You can type this into the Python console to see the result. +The other common place to access objects in the reference is :class:`bpy.types.BlendData.objects`. + +.. note:: + + This is **not** listed as :mod:`bpy.data.objects`, + this is because :mod:`bpy.data` is an instance of the :class:`bpy.types.BlendData` class, + so the documentation points there. + + +With :mod:`bpy.data.objects`, this is a collection of objects so you need to access one of its members: + +.. code-block:: python + + bpy.data.objects["Cube"].location + + +Nested Properties +----------------- + +The previous example is quite straightforward because ``location`` is a property of ``Object`` which can be accessed +from the context directly. + +Here are some more complex examples: + +.. code-block:: python + + # Access the number of samples for the Cycles render engine. + bpy.context.scene.cycles.samples + + # Access to the current weight paint brush size. + bpy.context.tool_settings.weight_paint.brush.size + + # Check if the window is full-screen. + bpy.context.window.screen.show_fullscreen + + +As you can see there are times when you want to access data which is nested +in a way that causes you to go through a few indirections. +The properties are arranged to match how data is stored internally (in Blender's C code) which is often logical +but not always quite what you would expect from using Blender. +So this takes some time to learn, it helps you understand how data fits together in Blender +which is important to know when writing scripts. + +When starting out scripting you will often run into the problem +where you're not sure how to access the data you want. +There are a few ways to do this: + +- Use the Python console's auto-complete to inspect properties. + *This can be hit-and-miss but has the advantage + that you can easily see the values of properties and assign them to interactively see the results.* +- Copy the data path from the user interface. + *Explained further in* :ref:`Copy Data Path `. +- Using the documentation to follow references. + *Explained further in* :ref:`Indirect Data Access `. + + +.. _info_data_path_copy: + +Copy Data Path +-------------- + +Blender can compute the Python string to a property which is shown in the tooltip, +on the line below ``Python: ...``. This saves having to open the API references to find where data is accessed from. +In the context menu is a copy data-path tool which gives the path from an :class:`bpy.types.ID` data-block, +to its property. + +To see how this works you'll get the path to the Subdivision Surface modifiers *Levels* setting. +Start with the default scene and select the Modifiers tab, then add a Subdivision Surface modifier to the cube. +Now hover your mouse over the button labeled *Levels Viewport*, +The tooltip includes :class:`bpy.types.SubsurfModifier.levels` but you want the path from the object to this property. + +Note that the text copied won't include the ``bpy.data.collections["name"].`` component since its assumed that +you won't be doing collection look-ups on every access and typically you'll want to use the context rather +than access each :class:`bpy.types.ID` instance by name. + +Type in the ID path into a Python console :mod:`bpy.context.active_object`. +Include the trailing dot and don't execute the code, yet. + +Now in the button's context menu select *Copy Data Path*, then paste the result into the console: + +.. code-block:: python + + bpy.context.active_object.modifiers["Subdivision"].levels + +Press :kbd:`Return` and you'll get the current value of 1. Now try changing the value to 2: + +.. code-block:: python + + bpy.context.active_object.modifiers["Subdivision"].levels = 2 + +You can see the value update in the Subdivision Surface modifier's UI as well as the cube. + + +.. _info_data_path_indirect: + +Indirect Data Access +-------------------- + +This more advanced example shows the steps to access the active sculpt brushes texture. +For example, if you want to access the texture of a brush via Python to adjust its ``contrast``. + +#. Start in the default scene and enable Sculpt Mode from the 3D Viewport header. +#. From the Sidebar expand the Brush Settings panel's *Texture* subpanel and add a new texture. + *Notice the texture data-block menu itself doesn't have very useful links (you can check the tooltips).* +#. The contrast setting isn't exposed in the Sidebar, so view the texture in the + :ref:`Properties Editor `. +#. Open the context menu of the contrast field and select *Online Python Reference*. + This takes you to ``bpy.types.Texture.contrast``. Now you can see that ``contrast`` is a property of texture. +#. To find out how to access the texture from the brush check on the references at the bottom of the page. + Sometimes there are many references, and it may take some guesswork to find the right one, + but in this case it's ``tool_settings.sculpt.brush.texture``. +#. Now you know that the texture can be accessed from ``bpy.data.brushes["BrushName"].texture`` + but normally you *won't* want to access the brush by name, instead you want to access the active brush. + So the next step is to check on where brushes are accessed from via the references. + +Now you can use the Python console to form the nested properties needed to access brush textures contrast: +:menuselection:`Context --> Tool Settings --> Sculpt --> Brush --> Texture --> Contrast`. + +Since the attribute for each is given along the way you can compose the data path in the Python console: + +.. code-block:: python + + bpy.context.tool_settings.sculpt.brush.texture.contrast + +Or access the brush directly: + +.. code-block:: python + + bpy.data.textures["Texture"].contrast + + +If you are writing a user tool normally you want to use the :mod:`bpy.context` since the user normally expects +the tool to operate on what they have selected. +For automation you are more likely to use :mod:`bpy.data` since you want to be able to access specific data and +manipulate it, no matter what the user currently has the view set at. + + +Operators +========= + +Most hotkeys and buttons in Blender call an operator which is also exposed to Python via :mod:`bpy.ops`. + +To see the Python equivalent hover your mouse over the button and see the tooltip, +e.g ``Python: bpy.ops.render.render()``, +If there is no tooltip or the ``Python:`` line is missing then this button is not using an operator +and can't be accessed from Python. + +If you want to use this in a script you can press :kbd:`Ctrl-C` while your mouse is over the button +to copy it to the clipboard. +You can also use button's context menu and view the *Online Python Reference*, this mainly shows arguments and +their defaults, however, operators written in Python show their file and line number which may be useful if you +are interested to check on the source code. + +.. note:: + + Not all operators can be called usefully from Python, + for more on this see :ref:`using operators `. + + +Info Editor +----------- + +Blender records operators you run and displays them in the Info editor. +Select the Scripting workspace that comes default with Blender to see its output. +You can perform some actions and see them show up -- delete a vertex for example. + +Each entry can be selected, then copied :kbd:`Ctrl-C`, usually to paste in the text editor or Python console. + +.. note:: + + Not all operators get registered for display, + zooming the view for example isn't so useful to repeat so it's excluded from the output. + + To display *every* operator that runs see :ref:`Show All Operators `. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_best_practice.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_best_practice.rst new file mode 100644 index 0000000..8de5ef3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_best_practice.rst @@ -0,0 +1,362 @@ + +************* +Best Practice +************* + +When writing your own scripts Python is great for new developers to pick up and become productive, +but you can also pick up bad practices or at least write scripts that are not easy for others to understand. +For your own work this is of course fine, +but if you want to collaborate with others or have your work included with Blender there are practices we encourage. + + +Style Conventions +================= + +For Blender Python development we have chosen to follow Python suggested style guide to avoid mixing styles +among our own scripts and make it easier to use Python scripts from other projects. +Using our style guide for your own scripts makes it easier if you eventually want to contribute them to Blender. + +This style guide is known as `pep8 `__ +and here is a brief listing of pep8 criteria: + +- Camel caps for class names: MyClass +- All lower case underscore separated module names: my_module +- Indentation of 4 spaces (no tabs) +- Spaces around operators: ``1 + 1``, not ``1+1`` +- Only use explicit imports (no wildcard importing ``*``) +- Don't use multiple statements on a single line: ``if val: body``, separate onto two lines instead. + +As well as pep8 we have additional conventions used for Blender Python scripts: + +- Use single quotes for enums, and double quotes for strings. + + Both are of course strings, but in our internal API enums are unique items from a limited set, e.g: + + .. code-block:: python + + bpy.context.scene.render.image_settings.file_format = 'PNG' + bpy.context.scene.render.filepath = "//render_out" + +- pep8 also defines that lines should not exceed 79 characters, + we have decided that this is too restrictive so it is optional per script. + + +User Interface Layout +===================== + +Some notes to keep in mind when writing UI layouts: + +UI code is quite simple. Layout declarations are there to easily create a decent layout. +The general rule here is: If you need more code for the layout declaration, +than for the actual properties, then you are doing it wrong. + + +.. rubric:: Example layouts: + +``layout()`` + The basic layout is a simple top-to-bottom layout. + + .. code-block:: python + + layout.prop() + layout.prop() + +``layout.row()`` + Use ``row()``, when you want more than one property in a single line. + + .. code-block:: python + + row = layout.row() + row.prop() + row.prop() + +``layout.column()`` + Use ``column()``, when you want your properties in a column. + + .. code-block:: python + + col = layout.column() + col.prop() + col.prop() + +``layout.split()`` + This can be used to create more complex layouts. + For example, you can split the layout and create two ``column()`` layouts next to each other. + Do not use split, when you simply want two properties in a row. Use ``row()`` instead. + + .. code-block:: python + + split = layout.split() + + col = split.column() + col.prop() + col.prop() + + col = split.column() + col.prop() + col.prop() + + +.. rubric:: Declaration names: + +Try to only use these variable names for layout declarations: + +:row: for a ``row()`` layout +:col: for a ``column()`` layout +:split: for a ``split()`` layout +:flow: for a ``column_flow()`` layout +:sub: for a sub layout (a column inside a column for example) + + +Script Efficiency +================= + +List Manipulation (General Python Tips) +--------------------------------------- + +Searching for List Items +^^^^^^^^^^^^^^^^^^^^^^^^ + +In Python there are some handy list functions that save you having to search through the list. +Even though you are not looping on the list data **Python is**, +so you need to be aware of functions that will slow down your script by searching the whole list. + +.. code-block:: python + + my_list.count(list_item) + my_list.index(list_item) + my_list.remove(list_item) + if list_item in my_list: ... + + +Modifying Lists +^^^^^^^^^^^^^^^ + +In Python you can add and remove from a list, this is slower when the list length is modified, +especially at the start of the list, since all the data after the index of +modification needs to be moved up or down one place. + +The fastest way to add onto the end of the list is to use +``my_list.append(list_item)`` or ``my_list.extend(some_list)`` and +to remove an item is ``my_list.pop()`` or ``del my_list[-1]``. + +To use an index you can use ``my_list.insert(index, list_item)`` or ``list.pop(index)`` +for list removal, but these are slower. + +Sometimes it's faster (but less memory efficient) to just rebuild the list. +For example if you want to remove all triangular polygons in a list. +Rather than: + +.. code-block:: python + + polygons = mesh.polygons[:] # Make a list copy of the meshes polygons. + p_idx = len(polygons) # Loop backwards + while p_idx: # While the value is not 0. + p_idx -= 1 + + if len(polygons[p_idx].vertices) == 3: + polygons.pop(p_idx) # Remove the triangle. + + +It's faster to build a new list with list comprehension: + +.. code-block:: python + + polygons = [p for p in mesh.polygons if len(p.vertices) != 3] + + +Adding List Items +^^^^^^^^^^^^^^^^^ + +If you have a list that you want to add onto another list, rather than: + +.. code-block:: python + + for l in some_list: + my_list.append(l) + +Use: + +.. code-block:: python + + my_list.extend([a, b, c...]) + + +Note that insert can be used when needed, +but it is slower than append especially when inserting at the start of a long list. +This example shows a very suboptimal way of making a reversed list: + +.. code-block:: python + + reverse_list = [] + for list_item in some_list: + reverse_list.insert(0, list_item) + + +Python provides more convenient ways to reverse a list using the slice method, +but you may want to time this before relying on it too much: + +.. code-block:: python + + some_reversed_list = some_list[::-1] + + +Removing List Items +^^^^^^^^^^^^^^^^^^^ + +Use ``my_list.pop(index)`` rather than ``my_list.remove(list_item)``. +This requires you to have the index of the list item but is faster since ``remove()`` will search the list. +Here is an example of how to remove items in one loop, +removing the last items first, which is faster (as explained above): + +.. code-block:: python + + list_index = len(my_list) + + while list_index: + list_index -= 1 + if my_list[list_index].some_test_attribute == 1: + my_list.pop(list_index) + + +This example shows a fast way of removing items, +for use in cases where you can alter the list order without breaking the script's functionality. +This works by swapping two list items, so the item you remove is always last: + +.. code-block:: python + + pop_index = 5 + + # Swap so the pop_index is last. + my_list[-1], my_list[pop_index] = my_list[pop_index], my_list[-1] + + # Remove last item (pop_index). + my_list.pop() + + +When removing many items in a large list this can provide a good speed-up. + + +Avoid Copying Lists +^^^^^^^^^^^^^^^^^^^ + +When passing a list or dictionary to a function, +it is faster to have the function modify the list rather than returning +a new list so Python doesn't have to duplicate the list in memory. + +Functions that modify a list in-place are more efficient than functions that create new lists. +This is generally slower so only use for functions when it makes sense not to modify the list in place: + +>>> my_list = some_list_func(my_list) + + +This is generally faster since there is no re-assignment and no list duplication: + +>>> some_list_func(vec) + + +Also note that, passing a sliced list makes a copy of the list in Python memory: + +>>> foobar(my_list[:]) + +If my_list was a large array containing 10,000's of items, a copy could use a lot of extra memory. + + +Writing Strings to a File (Python General) +------------------------------------------ + +Here are three ways of joining multiple strings into one string for writing. +This also applies to any area of your code that involves a lot of string joining: + +String concatenation + This is the slowest option, do **not** use this if you can avoid it, especially when writing data in a loop. + + >>> file.write(str1 + " " + str2 + " " + str3 + "\n") + +String formatting + Use this when you are writing string data from floats and ints. + + >>> file.write("%s %s %s\n" % (str1, str2, str3)) + +String joining + Use this to join a list of strings (the list may be temporary). In the following example, the strings are joined with + a space " " in between, other examples are "" or ", ". + + >>> file.write(" ".join((str1, str2, str3, "\n"))) + + +Join is fastest on many strings, string formatting is quite fast too (better for converting data types). +String concatenation is the slowest. + + +Parsing Strings (Import/Exporting) +---------------------------------- + +Since many file formats are ASCII, +the way you parse/export strings can make a large difference in how fast your script runs. + +There are a few ways to parse strings when importing them into Blender. + + +Parsing Numbers +^^^^^^^^^^^^^^^ + +Use ``float(string)`` rather than ``eval(string)``, if you know the value will be an int then ``int(string)``, +``float()`` will work for an int too but it is faster to read ints with ``int()``. + + +Checking String Start/End +^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you are checking the start of a string for a keyword, rather than: + +>>> if line[0:5] == "vert ": ... + +Use: + +>>> if line.startswith("vert "): + +Using ``startswith()`` is slightly faster (around 5%) and also avoids a possible error +with the slice length not matching the string length. + +``my_string.endswith("foo_bar")`` can be used for line endings too. + +If you are unsure whether the text is upper or lower case, use the ``lower()`` or ``upper()`` string function: + +>>> if line.lower().startswith("vert ") + + +Error Handling +-------------- + +The **try** statement is useful to save time writing error checking code. +However, **try** is significantly slower than an **if** since an exception has to be set each time, +so avoid using **try** in areas of your code that execute in a loop and runs many times. + +There are cases where using **try** is faster than checking whether the condition will raise an error, +so it is worth experimenting. + + +Value Comparison +---------------- + +Python has two ways to compare values ``a == b`` and ``a is b``, +the difference is that ``==`` may run the object's comparison function ``__eq__()`` whereas ``is`` compares identity, +that is, that both variables reference the same item in memory. + +In cases where you know you are checking for the same value which is referenced from multiple places, ``is`` is faster. + + +Time Your Code +-------------- + +While developing a script it is good to time it to be aware of any changes in performance, this can be done simply: + +.. code-block:: python + + import time + time_start = time.time() + + # Do something... + + print("My Script Finished: %.4f sec" % (time.time() - time_start)) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_contributing.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_contributing.rst new file mode 100644 index 0000000..aa2d49c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_contributing.rst @@ -0,0 +1,177 @@ +.. _info_contributing: + +************************ +Contribute Documentation +************************ + +This guide covers how to contribute to Blender's Python API documentation, +including writing examples, formatting documentation, and building the docs locally. + + +Setting Up Your Environment +=========================== + +Prerequisites +------------- + +Before you can build the documentation, you need: + +Blender Source Code + Clone the Blender repository following the + `official build instructions `__. +Python Environment *(optional)* + Set up a Python `virtual environment `__. + + +Installing Documentation Requirements +------------------------------------- + +Typically, you would set up a virtual environment and install the packages listed in +``doc/python_api/requirements.txt``. However, the only hard requirement is Sphinx, +which you can install directly: + +.. code-block:: bash + + pip install -r doc/python_api/requirements.txt + + +Building the Documentation +-------------------------- + +Once you have the requirements installed, you can build the documentation: + +.. code-block:: bash + + # From the Blender source root + make doc_py + +You can then open ``doc/python_api/sphinx-out/index.html`` in your browser. + + +Modifying API Documentation +=========================== + +API documentation is automatically generated from Blender's source code, meaning that +class descriptions, method signatures, etc., are defined either within C/C++ files +(via ``PyDoc_STRVAR``) or as standard doc-strings in Python files. + +**To modify API class or method descriptions:** + +#. Locate the relevant source file in the Blender repository. +#. Find the relevant doc-string either inside ``PyDoc_STRVAR(...)`` for the Python C/API + or as a standard doc-string in a Python file. +#. Edit using **reStructuredText** formatting. +#. Rebuild the Python API docs with ``make doc_py`` to regenerate the pages. + + +Adding Example Code Snippets +============================ + +Code examples are a crucial part of the API documentation. They help users +understand how to use various classes, functions, and modules, appearing +above the API reference for each one. + + +Example File Naming Convention +------------------------------ + +Examples can be included as standalone script files instead of inlining +code-blocks in the doc-string. Create a file matching the naming conventions +below, and it will be included automatically. + +Example files are located in ``doc/python_api/examples/`` and are matched by filename: + +- ``module.N.py`` matches a module (e.g., ``gpu.0.py``). +- ``module.ClassName.N.py`` matches a class (e.g., ``bpy.types.Operator.0.py``). +- ``module.ClassName.method.N.py`` matches a method (e.g., ``bpy.types.Operator.invoke.0.py``). +- ``module.ClassName.attribute.N.py`` matches an attribute (e.g., ``bpy.types.Scene.frame_start.0.py``). +- ``module.member.N.py`` matches a module member (e.g., ``bpy.context.object.0.py``). + +Multiple examples are supported, where ``N`` allows them to be ordered sequentially. + + +Example File Structure +---------------------- + +For each example, it is often useful to include a description explaining what the code demonstrates. +To support this, the doc-string at the start of the file is extracted and displayed above the code example. +The doc-string content will be formatted as reStructuredText. + +Each example file should follow this structure: + +.. code-block:: python + + """ + Example Title + +++++++++++++ + + A description of what this example demonstrates. + This doc-string appears above the code in the documentation. + + You can use **reStructuredText** formatting here, for example: + + - *Italic* text with single asterisks + - **Bold** text with double asterisks + - ``inline code`` with double backticks + - :class:`bpy.types.Operator` to link to API classes + - Links to `external resources `__ + + .. note:: + + You can use this to highlight important information. + + Everything after this doc-string is included as code. + """ + import bpy + + # Example code goes here + print("This is an example") + + +Important Notes +~~~~~~~~~~~~~~~ + +- The file must start with triple double-quotes ``"""`` (single-quoted doc-strings aren't recognized). +- Use section header underlines with ``+`` characters for the title. +- Everything after the doc-string is included as code in the documentation. +- To add additional code-blocks with text in between, add new files. + + +Best Practices for Documentation +================================ + + +Writing Good Examples +--------------------- + +- **Keep it simple**: Focus on demonstrating one concept at a time. +- **Make it runnable**: Examples should work when pasted into Blender's Python console or text editor. +- **Use comments**: Comment thoroughly, assuming readers are new to the APIs and concepts being demonstrated. + + +Style Guidelines +---------------- + +For documentation, we aim for high-quality technical writing. Refer to these +style guides from the User Manual for markup and conventions: + +- `Markup Guide `__ +- `Writing Guide `__ +- `reStructuredText Primer `__ + + +Testing Your Changes +==================== + +After adding or modifying documentation, rebuild the docs (see +`Building the Documentation`_) and check for any warnings about broken links, +missing references, or formatting issues. Preview the generated HTML files +in your browser to verify they look correct. + + +Contributing Your Changes +========================= + +Once you've added or improved documentation, +follow Blender's `contribution guidelines `__ +to create a pull request. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotcha.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotcha.rst new file mode 100644 index 0000000..84afb9f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotcha.rst @@ -0,0 +1,19 @@ + +******* +Gotchas +******* + +This document attempts to help you work with the Blender API in areas +that can be troublesome and avoid practices that are known to cause instability. + + +.. toctree:: + :maxdepth: 1 + + info_gotchas_crashes.rst + info_gotchas_threading.rst + info_gotchas_internal_data_and_python_objects.rst + info_gotchas_operators.rst + info_gotchas_meshes.rst + info_gotchas_armatures_and_bones.rst + info_gotchas_file_paths_and_encoding.rst diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_armatures_and_bones.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_armatures_and_bones.rst new file mode 100644 index 0000000..7f4710f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_armatures_and_bones.rst @@ -0,0 +1,99 @@ +***************** +Bones & Armatures +***************** + + +Edit Bones, Pose Bones, Bone... Bones +===================================== + +Armature Bones in Blender have three distinct data structures that contain them. +If you are accessing the bones through one of them, you may not have access to the properties you really need. + +.. note:: + + In the following examples ``bpy.context.object`` is assumed to be an armature object. + + +Edit Bones +---------- + +``bpy.context.object.data.edit_bones`` contains edit bones; +to access them you must set the armature mode to Edit-Mode first (edit bones do not exist in Object or Pose-Mode). +Use these to create new bones, set their head/tail or roll, change their parenting relationships to other bones, etc. + +Example using :class:`bpy.types.EditBone` in armature Edit-Mode +which is only possible in Edit-Mode: + + >>> bpy.context.object.data.edit_bones["Bone"].head = Vector((1.0, 2.0, 3.0)) + +This will be empty outside of Edit-Mode: + + >>> mybones = bpy.context.selected_editable_bones + +Returns an edit bone only in Edit-Mode: + + >>> bpy.context.active_bone + + +Bones (Object-Mode) +------------------- + +``bpy.context.object.data.bones`` contains bones. +These *live* in Object-Mode, and have various properties you can change, +note that the head and tail properties are read-only. + +Example using :class:`bpy.types.Bone` in Object or Pose-Mode +returning a bone (not an edit bone) outside of Edit-Mode: + + >>> bpy.context.active_bone + +This works, as with Blender the setting can be edited in any mode: + + >>> bpy.context.object.data.bones["Bone"].use_deform = True + +Accessible but read-only: + + >>> tail = myobj.data.bones["Bone"].tail + + +Pose Bones +---------- + +``bpy.context.object.pose.bones`` contains pose bones. +This is where animation data resides, i.e. animatable transformations +are applied to pose bones, as are constraints and IK-settings. + +Examples using :class:`bpy.types.PoseBone` in Object or Pose-Mode: + +.. code-block:: python + + # Gets the name of the first constraint (if it exists). + bpy.context.object.pose.bones["Bone"].constraints[0].name + + # Gets the last selected pose bone (Pose-Mode only). + bpy.context.active_pose_bone + + +.. note:: + + Notice the pose is accessed from the object rather than the object data, + this is why Blender can have two or more objects sharing the same armature in different poses. + +.. note:: + + Strictly speaking pose bones are not bones, they are just the state of the armature, + stored in the :class:`bpy.types.Object` rather than the :class:`bpy.types.Armature`, + yet the real bones are accessible from the pose bones via :class:`bpy.types.PoseBone.bone`. + + +Armature Mode Switching +======================= + +While writing scripts that deal with armatures you may find you have to switch between modes, +when doing so take care when switching out of Edit-Mode not to keep references +to the edit bones or their head/tail vectors. +Further access to these will crash Blender so it's important that the script +clearly separates sections of the code which operate in different modes. + +This is mainly an issue with Edit-Mode since pose data can be manipulated without having to be in Pose-Mode, +yet for operator access you may still need to enter Pose-Mode. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_crashes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_crashes.rst new file mode 100644 index 0000000..ebb7613 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_crashes.rst @@ -0,0 +1,314 @@ +******************************** +Troubleshooting Errors & Crashes +******************************** + +.. _troubleshooting_crashes: + +Help! My script crashes Blender +=============================== + +:abbr:`TL;DR (Too long; didn't read.)` Do not keep direct references to Blender data (of any kind) +when modifying the container of that data, and/or when some undo/redo may happen +(e.g. during modal operators execution...). +Instead, use indices (or other data always stored by value in Python, like string keys...), +that allow you to get access to the desired data. + +Ideally it would be impossible to crash Blender from Python, +however, there are some problems with the API where it can be made to crash. +Strictly speaking this is a bug in the API but fixing it would mean adding memory verification +on every access since most crashes are caused by the Python objects referencing Blender's memory directly, +whenever the memory is freed or re-allocated, further Python access to it can crash the script. +But fixing this would make the scripts run very slow, +or writing a very different kind of API which doesn't reference the memory directly. + +Here are some general hints to avoid running into these problems: + +- Be aware of memory limits, + especially when working with large lists since Blender can crash simply by running out of memory. +- Many hard to fix crashes end up being because of referencing freed data, + when removing data be sure not to hold any references to it. +- Re-allocation can lead to the same issues + (e.g. if you add a lot of items to some Collection, + this can lead to re-allocating the underlying container's memory, + invalidating all previous references to existing items). +- Modules or classes that remain active while Blender is used, + should not hold references to data the user may remove, instead, + fetch data from the context each time the script is activated. +- Crashes may not happen every time, they may happen more on some configurations or operating systems. +- Be careful with recursive patterns, those are very efficient at hiding the issues described here. +- See last subsection about `Unfortunate Corner Cases`_ for some known breaking exceptions. + +.. note:: + + To find the line of your script that crashes you can use the ``faulthandler`` module. + See the `Faulthandler docs `__. + + While the crash may be in Blender's C/C++ code, + this can help a lot to track down the area of the script that causes the crash. + +.. note:: + + Some container modifications are actually safe, because they will never re-allocate existing data + (e.g. linked lists containers will never re-allocate existing items when adding or removing others). + + But knowing which cases are safe and which aren't implies a deep understanding of Blender's internals. + That's why, unless you are willing to dive into the RNA C implementation, it's simpler to + always assume that data references will become invalid when modifying their containers, + in any possible way. + + +.. rubric:: Do not: + +.. code-block:: python + + class TestItems(bpy.types.PropertyGroup): + name: bpy.props.StringProperty() + + bpy.utils.register_class(TestItems) + bpy.types.Scene.test_items = bpy.props.CollectionProperty(type=TestItems) + + first_item = bpy.context.scene.test_items.add() + for i in range(100): + bpy.context.scene.test_items.add() + + # This is likely to crash, as internal code may re-allocate + # the whole container (the collection) memory at some point. + first_item.name = "foobar" + + +.. rubric:: Do: + +.. code-block:: python + + class TestItems(bpy.types.PropertyGroup): + name: bpy.props.StringProperty() + + bpy.utils.register_class(TestItems) + bpy.types.Scene.test_items = bpy.props.CollectionProperty(type=TestItems) + + first_item = bpy.context.scene.test_items.add() + for i in range(100): + bpy.context.scene.test_items.add() + + # This is safe, we are getting again desired data *after* + # all modifications to its container are done. + first_item = bpy.context.scene.test_items[0] + first_item.name = "foobar" + + +Undo/Redo +--------- + +For safety, you should assume that undo and redo always invalidates all :class:`bpy.types.ID` +instances (Object, Scene, Mesh, Light, etc.), as well obviously as all of their sub-data. + +This example shows how you can tell undo changes the memory locations: + + >>> hash(bpy.context.object) + -9223372036849950810 + >>> hash(bpy.context.object) + -9223372036849950810 + +Delete the active object, then undo: + + >>> hash(bpy.context.object) + -9223372036849951740 + +As suggested above, simply not holding references to data when Blender is used +interactively by the user is the only way to make sure that the script doesn't become unstable. + + +.. note:: + + Modern undo/redo system does not systematically invalidate all pointers anymore. + Some data (in fact, most data, in typical cases), which were detected as unchanged for a + particular history step, may remain unchanged and hence their pointers may remain valid. + + Be aware that if you want to take advantage of this behavior for some reason, there is no + guarantee of any kind that it will be safe and consistent. Use it at your own risk. + + +Modifying Blender Data & Undo +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In general, when Blender data is modified, there should always be an undo step created for it. +Otherwise, there will be issues, ranging from invalid/broken undo stack, to crashes on undo/redo. + +This is especially true when modifying Blender data :ref:`in operators `. + + +Undo & Library Data +^^^^^^^^^^^^^^^^^^^ + +One of the advantages with Blender's library linking system is that undo +can skip checking changes in library data since it is assumed to be static. +Tools in Blender are not allowed to modify library data. +But Python does not enforce this restriction. + +This can be useful in some cases, using a script to adjust material values for example. +But it's also possible to use a script to make library data point to newly created local data, +which is not supported since a call to undo will remove the local data +but leave the library referencing it and likely crash. + +So it's best to consider modifying library data an advanced usage of the API +and only to use it when you know what you're doing. + + +Abusing RNA property callbacks +------------------------------ + +Python-defined RNA properties can have custom callbacks. Trying to perform complex operations +from there, like calling an operator, may work, but is not officially recommended nor supported. + +Main reason is that those callbacks should be very fast, but additionally, it may for example +create issues with undo/redo system (most operators store a history step, and editing an RNA +property does so as well), trigger infinite update loops, and so on. + + +Edit-Mode / Memory Access +------------------------- + +Switching mode ``bpy.ops.object.mode_set(mode='EDIT')`` or ``bpy.ops.object.mode_set(mode='OBJECT')`` +will re-allocate objects data, +any references to a meshes vertices/polygons/UVs, armatures bones, +curves points, etc. cannot be accessed after switching mode. + +Only the reference to the data itself can be re-accessed, the following example will crash. + +.. code-block:: python + + mesh = bpy.context.active_object.data + polygons = mesh.polygons + bpy.ops.object.mode_set(mode='EDIT') + bpy.ops.object.mode_set(mode='OBJECT') + + # This will crash! + print(polygons) + + +So after switching mode you need to re-access any object data variables, +the following example shows how to avoid the crash above. + +.. code-block:: python + + mesh = bpy.context.active_object.data + polygons = mesh.polygons + bpy.ops.object.mode_set(mode='EDIT') + bpy.ops.object.mode_set(mode='OBJECT') + + # Polygons have been re-allocated. + polygons = mesh.polygons + print(polygons) + + +These kinds of problems can happen for any functions which re-allocate +the object data but are most common when switching mode. + + +Array Re-Allocation +------------------- + +When adding new points to a curve or vertices/edges/polygons to a mesh, +internally the array which stores this data is re-allocated. + +.. code-block:: python + + bpy.ops.curve.primitive_bezier_curve_add() + point = bpy.context.object.data.splines[0].bezier_points[0] + bpy.context.object.data.splines[0].bezier_points.add() + + # This will crash! + point.co = 1.0, 2.0, 3.0 + +This can be avoided by re-assigning the point variables after adding the new one or by storing +indices to the points rather than the points themselves. + +The best way is to sidestep the problem altogether by adding all the points to the curve at once. +This means you don't have to worry about array re-allocation and it's faster too +since re-allocating the entire array for every added point is inefficient. + + +Removing Data +------------- + +**Any** data that you remove shouldn't be modified or accessed afterwards, +this includes: F-Curves, drivers, render layers, timeline markers, modifiers, constraints +along with objects, scenes, collections, bones, etc. + +The ``remove()`` API calls will invalidate the data they free to prevent common mistakes. +The following example shows how this precaution works: + +.. code-block:: python + + mesh = bpy.data.meshes.new(name="MyMesh") + # Normally the script would use the mesh here. + bpy.data.meshes.remove(mesh) + print(mesh.name) # <- Give an exception rather than crashing: + + # ReferenceError: StructRNA of type Mesh has been removed + + +But take care because this is limited to scripts accessing the variable which is removed, +the next example will still crash: + +.. code-block:: python + + mesh = bpy.data.meshes.new(name="MyMesh") + vertices = mesh.vertices + bpy.data.meshes.remove(mesh) + print(vertices) # <- This may crash. + + +Unfortunate Corner Cases +------------------------ + +Besides all expected cases listed above, there are a few others that should not be +an issue but, due to internal implementation details, currently are: + + +Collection Objects +^^^^^^^^^^^^^^^^^^ + +Changing: ``Object.hide_viewport``, ``Object.hide_select`` or ``Object.hide_render`` +will trigger a rebuild of Collection caches, thus breaking any current iteration over ``Collection.all_objects``. + + .. rubric:: Do not: + + .. code-block:: python + + # `all_objects` is an iterator. Using it directly while performing operations on its members that will update + # the memory accessed by the `all_objects` iterator will lead to invalid memory accesses and crashes. + for object in bpy.data.collections["Collection"].all_objects: + object.hide_viewport = True + + + .. rubric:: Do: + + .. code-block:: python + + # `all_objects[:]` is an independent list generated from the iterator. As long as no objects are deleted, + # its content will remain valid even if the data accessed by the `all_objects` iterator is modified. + for object in bpy.data.collections["Collection"].all_objects[:]: + object.hide_viewport = True + + +Data-Blocks Renaming During Iteration +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Data-blocks accessed from ``bpy.data`` are sorted when their name is set. +Any loop that iterates over data such as ``bpy.data.objects`` for example, +and sets the objects ``name`` must get all items from the iterator first (typically by converting to a list or tuple) +to avoid missing some objects and iterating over others multiple times. + + +sys.exit +======== + +Some Python modules will call ``sys.exit()`` themselves when an error occurs, +while not common behavior this is something to watch out for because it may seem +as if Blender is crashing since ``sys.exit()`` will close Blender immediately. + +For example, the ``argparse`` module will print an error and exit if the arguments are invalid. + +A dirty way of troubleshooting this is to set ``sys.exit = None`` and see what line of Python code is quitting, +you could of course replace ``sys.exit`` with your own function but manipulating Python in this way is bad practice. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_file_paths_and_encoding.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_file_paths_and_encoding.rst new file mode 100644 index 0000000..2539de0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_file_paths_and_encoding.rst @@ -0,0 +1,75 @@ +**************************** +File Paths & String Encoding +**************************** + + +Relative File Paths +=================== + +Blender's relative file paths are not compatible with standard Python modules such as ``sys`` and ``os``. +Built-in Python functions don't understand Blender's ``//`` prefix which denotes the blend-file path. + +A common case where you would run into this problem is when exporting a material with associated image paths: + + >>> bpy.path.abspath(image.filepath) + + +When using Blender data from linked libraries there is an unfortunate complication +since the path will be relative to the library rather than the open blend-file. +When the data block may be from an external blend-file pass the library argument from the :class:`bpy.types.ID`. + + >>> bpy.path.abspath(image.filepath, library=image.library) + + +This returns the absolute path which can be used with native Python modules. + + +Unicode Problems +================ + +Python supports many different encodings so there is nothing stopping you from +writing a script in ``latin1`` or ``iso-8859-15``. +See `PEP 263 `__. + +However, this complicates matters for Blender's Python API because ``.blend`` files don't have an explicit encoding. +To avoid the problem for Python integration and script authors we have decided that all strings in blend-files +**must** be ``UTF-8``, ``ASCII`` compatible. +This means assigning strings with different encodings to an object name, for instance, will raise an error. + +Paths are an exception to this rule since the existence of non-UTF-8 paths on the user's file system cannot be ignored. +This means seemingly harmless expressions can raise errors, e.g: + + >>> print(bpy.data.filepath) + UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-21: ordinal not in range(128) + + >>> bpy.context.object.name = bpy.data.filepath + Traceback (most recent call last): + File "", line 1, in + TypeError: bpy_struct: item.attr= val: Object.name expected a string type, not str + + +Here are two ways around file-system encoding issues: + + >>> print(repr(bpy.data.filepath)) + + >>> import os + >>> filepath_bytes = os.fsencode(bpy.data.filepath) + >>> filepath_utf8 = filepath_bytes.decode('utf-8', "replace") + >>> bpy.context.object.name = filepath_utf8 + + +Unicode encoding/decoding is a big topic with comprehensive Python documentation, +to keep it short about encoding problems -- here are some suggestions: + +- Always use UTF-8 encoding or convert to UTF-8 where the input is unknown. +- Avoid manipulating file paths as strings directly, use ``os.path`` functions instead. +- Use ``os.fsencode()`` or ``os.fsdecode()`` instead of built-in string decoding functions when operating on paths. +- To print paths or to include them in the user interface use ``repr(path)`` first + or ``"%r" % path`` with string formatting. + +.. note:: + + Sometimes it's preferable to avoid string encoding issues by using bytes instead of Python strings, + when reading some input it's less trouble to read it as binary data + though you will still need to decide how to treat any strings you want to use with Blender, + some importers do this. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_internal_data_and_python_objects.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_internal_data_and_python_objects.rst new file mode 100644 index 0000000..a3f8322 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_internal_data_and_python_objects.rst @@ -0,0 +1,211 @@ +************************************ +Internal Data & Their Python Objects +************************************ + +The Python objects wrapping Blender internal data have some limitations and constraints, +compared to 'pure Python' data. The most common things to keep in mind are documented here. + + +.. _blender_py_objects_life_time: + +Life-Time of Python Objects Wrapping Blender Data +================================================= + +Typically, Python objects representing (wrapping) Blender data have a limited life-time. +They are created on-demand, and deleted as soon as they are not used in Python anymore. + +This means that storing python-only data in these objects should not be done for anything that +requires some form of persistence. + +There are some exceptions to this rule. For example, IDs do store their Python instance, once created, +and re-use it instead of re-creating a new Python object every time they are accessed from Python. +And modal operators will keep their instance as long as the operator is running. +However, this is done for performance purposes and is considered an internal implementation detail. +Relying on this behavior from Python code side for any purpose is not recommended. + +Furthermore, Blender may free its internal data, in which case it will try to invalidate a known +Python object wrapping it. But this is not always possible, which can lead to invalid memory access and +is another good reason to never store these in Python code in any persistent way. +See also the :ref:`troubleshooting crashes ` documentation. + + +Data Names +========== + +Naming Limitations +------------------ + +A common mistake is to assume newly created data is given the requested name. +This can cause bugs when you add data (normally imported) then reference it later by name: + +.. code-block:: python + + bpy.data.meshes.new(name=meshid) + + # Normally some code, function calls, etc. + bpy.data.meshes[meshid] + + +Or with name assignment: + +.. code-block:: python + + obj.name = objname + + # Normally some code, function calls, etc. + obj = bpy.data.meshes[objname] + + +Data names may not match the assigned values if they exceed the maximum length, are already used or an empty string. + + +It's better practice not to reference objects by names at all, +once created you can store the data in a list, dictionary, on a class, etc; +there is rarely a reason to have to keep searching for the same data by name. + +If you do need to use name references, it's best to use a dictionary to maintain +a mapping between the names of the imported assets and the newly created data, +this way you don't run this risk of referencing existing data from the blend-file, or worse modifying it. + +.. code-block:: python + + # Typically declared in the main body of the function. + mesh_name_mapping = {} + + mesh = bpy.data.meshes.new(name=meshid) + mesh_name_mapping[meshid] = mesh + + # Normally some code, or function calls, etc. + + # Use own dictionary rather than `bpy.data`. + mesh = mesh_name_mapping[meshid] + + +Library Collisions +------------------ + +Blender keeps data names unique (:class:`bpy.types.ID.name`) so you can't name two objects, +meshes, scenes, etc., the same by accident. +However, when linking in library data from another blend-file naming collisions can occur, +so it's best to avoid referencing data by name at all. + +This can be tricky at times and not even Blender handles this correctly in some cases +(when selecting the modifier object for example, you can't select between multiple objects with the same name), +but it's still good to try avoiding these problems in this area. +If you need to select between local and library data, there is a feature in ``bpy.data`` members to allow for this. + +.. code-block:: python + + # Typical name lookup, could be local or library. + obj = bpy.data.objects["my_obj"] + + # Library object name lookup using a pair, + # where the second argument is the library path matching bpy.types.Library.filepath. + obj = bpy.data.objects["my_obj", "//my_lib.blend"] + + # Local object name look up using a pair, + # where the second argument excludes library data from being returned. + obj = bpy.data.objects["my_obj", None] + + # Both the examples above also work for `get`. + obj = bpy.data.objects.get(("my_obj", None)) + + +Stale Data +========== + +No updates after setting values +------------------------------- + +Sometimes you want to modify values from Python and immediately access the updated values, e.g: +After changing the object's :class:`bpy.types.Object.location` +you may want to access its transformation right after from :class:`bpy.types.Object.matrix_world`, +but this doesn't work as you might expect. There are similar issues with changes to the UI, that +are covered in the next section. + +Consider the calculations that might contribute to the object's final transformation, this includes: + +- Animation function curves. +- Drivers and their Python expressions. +- Constraints +- Parent objects and all of their F-Curves, constraints, etc. + +To avoid expensive recalculations every time a property is modified, +Blender defers the evaluation until the results are needed. +However, while the script runs you may want to access the updated values. +In this case you need to call :class:`bpy.types.ViewLayer.update` after modifying values, for example: + +.. code-block:: python + + bpy.context.object.location = 1, 2, 3 + bpy.context.view_layer.update() + + +Now all dependent data (child objects, modifiers, drivers, etc.) +have been recalculated and are available to the script within the active view layer. + + +No updates after changing UI context +------------------------------------ + +Similar to the previous issue, some changes to the UI may also not have an immediate effect. For example, setting +:class:`bpy.types.Window.workspace` doesn't seem to cause an observable effect in the immediately following code +(:class:`bpy.types.Window.workspace` is still the same), but the UI will in fact reflect the change. Some of the +properties that behave that way are: + +- :class:`bpy.types.Window.workspace` +- :class:`bpy.types.Window.screen` +- :class:`bpy.types.Window.scene` +- :class:`bpy.types.Area.type` +- :class:`bpy.types.Area.ui_type` + +Such changes impact the UI, and with that the context (:class:`bpy.context`) quite drastically. This can break +Blender's context management. So Blender delays this change until after operators have run and just before the UI is +redrawn, making sure that context can be changed safely. + +If you rely on executing code with an updated context this can be worked around by executing the code in a delayed +fashion as well. Possible options include: + + - :ref:`Modal Operator `. + - :mod:`bpy.app.handlers`. + - :mod:`bpy.app.timers`. + +It's also possible to depend on drawing callbacks although these should generally be avoided as failure to draw a +hidden panel, region, cursor, etc. could cause your script to be unreliable. + + +Can I redraw during script execution? +===================================== + +The official answer to this is no, or... *"You don't want to do that"*. +To give some background on the topic: + +While a script executes, Blender waits for it to finish and is effectively locked until it's done; +while in this state Blender won't redraw or respond to user input. +Normally this is not such a problem because scripts distributed with Blender +tend not to run for an extended period of time, +nevertheless scripts *can* take a long time to complete and it would be nice to see progress in the viewport. + +Tools that lock Blender in a loop redraw are highly discouraged +since they conflict with Blender's ability to run multiple operators +at once and update different parts of the interface as the tool runs. + +So the solution here is to write a **modal** operator, which is an operator that defines a ``modal()`` function, +See the modal operator template in the text editor. +Modal operators execute on user input or setup their own timers to run frequently, +they can handle the events or pass through to be handled by the keymap or other modal operators. +Examples of modal operators are Transform, Painting, Fly Navigation and File Select. + +Writing modal operators takes more effort than a simple ``for`` loop +that contains draw calls but is more flexible and integrates better with Blender's design. + + +.. rubric:: Ok, Ok! I still want to draw from Python + +If you insist -- yes it's possible, but scripts that use this hack will not be considered +for inclusion in Blender and any issue with using it will not be considered a bug, +there is also no guaranteed compatibility in future releases. + +.. code-block:: python + + bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_meshes.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_meshes.rst new file mode 100644 index 0000000..d92f3ef --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_meshes.rst @@ -0,0 +1,111 @@ +********************* +Modes and Mesh Access +********************* + +When working with mesh data you may run into the problem where a script fails to run as expected in Edit-Mode. +This is caused by Edit-Mode having its own data which is only written back to the mesh when exiting Edit-Mode. + +A common example is that exporters may access a mesh through ``obj.data`` (a :class:`bpy.types.Mesh`) +when the user is in Edit-Mode, where the mesh data is available but out of sync with the edit mesh. + +In this situation you can... + +- Exit Edit-Mode before running the tool. +- Explicitly update the mesh by calling :meth:`bmesh.types.BMesh.to_mesh`. +- Modify the script to support working on the edit-mode data directly, see: :func:`bmesh.from_edit_mesh`. +- Report the context as incorrect and only allow the script to run outside Edit-Mode. + + +.. _info_gotcha_mesh_faces: + +N-Gons and Tessellation +======================= + +Since 2.63 n-gons are supported, this adds some complexity +since in some cases you need to access triangles still (some exporters for example). + +There are now three ways to access faces: + +- :class:`bpy.types.MeshPolygon` -- + this is the data structure which now stores faces in Object-Mode + (access as ``mesh.polygons`` rather than ``mesh.faces``). +- :class:`bpy.types.MeshLoopTriangle` -- + the result of tessellating polygons into triangles + (access as ``mesh.loop_triangles``). +- :class:`bmesh.types.BMFace` -- + the polygons as used in Edit-Mode. + +For the purpose of the following documentation, +these will be referred to as polygons, loop triangles and BMesh-faces respectively. + +Faces with five or more sides will be referred to as ``ngons``. + + +Support Overview +---------------- + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + + * - Usage + - :class:`bpy.types.MeshPolygon` + - :class:`bpy.types.MeshLoopTriangle` + - :class:`bmesh.types.BMFace` + * - Import/Create + - Poor *(inflexible)* + - Unusable *(read-only)*. + - Best + * - Manipulate + - Poor *(inflexible)* + - Unusable *(read-only)*. + - Best + * - Export/Output + - Good *(n-gon support)* + - Good *(When n-gons cannot be used)* + - Good *(n-gons, extra memory overhead)* + +.. note:: + + Using the :mod:`bmesh` API is completely separate API from :mod:`bpy`, + typically you would use one or the other based on the level of editing needed, + not simply for a different way to access faces. + + +Creating +-------- + +All three data types can be used for face creation: + +- Polygons are the most efficient way to create faces but the data structure is *very* rigid and inflexible, + you must have all your vertices and faces ready and create them all at once. + This is further complicated by the fact that each polygon does not store its own vertices, + rather they reference an index and size in :class:`bpy.types.Mesh.loops` which are a fixed array too. +- BMesh-faces are most likely the easiest way to create faces in new scripts, + since faces can be added one by one and the API has features intended for mesh manipulation. + While :class:`bmesh.types.BMesh` uses more memory it can be managed by only operating on one mesh at a time. + + +Editing +------- + +Editing is where the three data types vary most. + +- Polygons are very limited for editing, + changing materials and options like smooth works, but for anything else + they are too inflexible and are only intended for storage. +- Loop-triangles should not be used for editing geometry because doing so will cause existing n-gons to be tessellated. +- BMesh-faces are by far the best way to manipulate geometry. + + +Exporting +--------- + +All three data types can be used for exporting, +the choice mostly depends on whether the target format supports n-gons or not. + +- Polygons are the most direct and efficient way to export providing they convert into the output format easily enough. +- Loop-triangles work well for exporting to formats which don't support n-gons, + in fact this is the only place where their use is encouraged. +- BMesh-Faces can work for exporting too but may not be necessary if polygons can be used + since using BMesh gives some overhead because it's not the native storage format in Object-Mode. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_operators.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_operators.rst new file mode 100644 index 0000000..8200654 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_operators.rst @@ -0,0 +1,72 @@ +*************** +Using Operators +*************** + +.. _using_operators: + +Blender's operators are tools for users to access, that can be accessed with Python too which is very useful. +Still operators have limitations that can make them cumbersome to script. + +The main limits are: + +- Can't pass data such as objects, meshes or materials to operate on (operators use the context instead). +- The return value from calling an operator is the success (if it finished or was canceled), + in some cases it would be more logical from an API perspective to return the result of the operation. +- Operators' poll function can fail where an API function would raise an exception giving details on exactly why. + + +Why does an operator's poll fail? +================================= + +When calling an operator it gives an error like this: + + >>> bpy.ops.action.clean(threshold=0.001) + RuntimeError: Operator bpy.ops.action.clean.poll() failed, context is incorrect + +Which raises the question as to what the correct context might be? + +Typically operators check for the active area type, a selection or active object they can operate on, +but some operators are more strict when they run. +In most cases you can figure out what context an operator needs +by examining how it's used in Blender and thinking about what it does. + +If you're still stuck, unfortunately, the only way to eventually know what is causing the error is +to read the source code for the poll function and see what it is checking. +For Python operators it's not so hard to find the source +since it's included with Blender and the source file and line is included in the operator reference docs. +Downloading and searching the C code isn't so simple, +especially if you're not familiar with the C language but by searching the operator name or description +you should be able to find the poll function with no knowledge of C. + +.. note:: + + Blender does have the functionality for poll functions to describe why they fail, + but it's currently not used much, if you're interested to help improve the API + feel free to add calls to :class:`bpy.types.Operator.poll_message_set` (``CTX_wm_operator_poll_msg_set`` in C) + where it's not obvious why poll fails, e.g: + + >>> bpy.ops.object.vertex_group_add() + RuntimeError: Operator bpy.ops.object.vertex_group_add.poll() No active editable object + + In some cases using :class:`bpy.types.Context.temp_override` to enable temporary logging or using the + ``context`` category when :ref:`logging ` can help. + + +The operator still doesn't work! +================================ + +Certain operators in Blender are only intended for use in a specific context, +some operators for example are only called from the properties editor where they check the current material, +modifier or constraint. + +Examples of this are: + +- :func:`bpy.ops.texture.slot_move` +- :func:`bpy.ops.constraint.limitdistance_reset` +- :func:`bpy.ops.object.modifier_copy` +- :func:`bpy.ops.buttons.file_browse` + +Another possibility is that you are the first person to attempt to use this operator +in a script and some modifications need to be made to the operator to run in a different context. +If the operator should logically be able to run but fails when accessed from a script +it should be reported to the bug tracker. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_threading.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_threading.rst new file mode 100644 index 0000000..72c1603 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_gotchas_threading.rst @@ -0,0 +1,92 @@ +******************************** +Python Threads are Not Supported +******************************** + +In short: Python threads cause Blender to crash in hard to diagnose ways. For +example, a crash can occur while rendering with Cycles, with Python drivers, +while a background thread is used to download some file. + +So far, no work has been done to make Blender's Python integration thread safe, +so until it's properly supported, it's best not make use of this. + +Note that some modules in the Python standard library may use threads as well. +An example is the `multiprocessing.Queue `_ +class. + +Python threading with Blender only works properly when the threads finish up +before the script does, for example by using ``threading.Thread.join()``. In other +words, they can only be used while the main Blender thread is blocked from +running. + + +Alternative Approaches +====================== + +For running Python code independently of Blender, it is recommended to use the +`multiprocessing `_ module. + + +Code Examples +============= + +Here is an example of threading supported by Blender: + +.. code-block:: python + + import threading + import requests + + urls = [ + "http://localhost:8000/file-1.blend", + "http://localhost:8000/file-2.blend", + "http://localhost:8000/file-3.blend", + ] + + + def download(url: str) -> None: + name = threading.current_thread().name + print("{}: Starting".format(name)) + response = requests.get(url) + print("{}: Request status code {}".format(name, response.status_code)) + + + threads = [ + threading.Thread( + name="thread-{}".format(index), + target=download, + args=(url,), + ) + for index, url in enumerate(urls) + ] + + print("Starting threads...") + for t in threads: + t.start() + + # NOTE: While threads are running, no code (including the main thread) + # may use bpy or any Blender API - only standard Python or third-party modules. + print("Waiting for threads to finish...") + for t in threads: + t.join() + + # It's now safe to use bpy again since all threads have finished. + print("Threads all done, now Blender can continue") + +This is an example of an **unsupported** case, using a timer that runs many times +a second: + +.. code-block:: python + + from threading import Timer + + def my_timer(): + t = Timer(0.1, my_timer) + t.daemon = True + t.start() + print("Running...") + + my_timer() + +Use cases like the one above, which leave the thread running once the script +finishes, may seem to work for a while, but end up causing random crashes or +errors in Blender's own drawing code. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_overview.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_overview.rst new file mode 100644 index 0000000..c945ad6 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_overview.rst @@ -0,0 +1,488 @@ +.. _info_overview: + +************ +API Overview +************ + +The purpose of this document is to explain how Python and Blender fit together, +covering some of the functionality that may not be obvious from reading the API references +and example scripts. + + +Python in Blender +================= + +Blender has an embedded Python interpreter which is loaded when Blender is started +and stays active while Blender is running. This interpreter runs scripts to draw the user interface +and is used for some of Blender's internal tools as well. + +Blender's embedded interpreter provides a typical Python environment, so code from tutorials +on how to write Python scripts can also be run with Blender's interpreter. Blender provides its +Python modules, such as :mod:`bpy` and :mod:`mathutils`, to the embedded interpreter so they can +be imported into a script and give access to Blender's data, classes, and functions. +Scripts that deal with Blender data will need to import the modules to work. + +Here is a simple example which moves a vertex attached to an object named "Cube": + +.. code-block:: python + + import bpy + bpy.data.objects["Cube"].data.vertices[0].co.x += 1.0 + +This modifies Blender's internal data directly. +When you run this in the interactive console you will see the 3D Viewport update. + + +The Default Environment +======================= + +When developing your own scripts it may help to understand how Blender sets up its Python environment. +Many Python scripts come bundled with Blender and can be used as a reference +because they use the same API that script authors write tools in. +Typical usage for scripts include: user interface, import/export, +scene manipulation, automation, defining your own tool set and customization. + +On startup Blender scans the ``scripts/startup/`` directory for Python modules and imports them. +The exact location of this directory depends on your installation. +See the :ref:`directory layout docs `. + + +Script Loading +============== + +This may seem obvious, but it is important to note the difference between +executing a script directly and importing a script as a module. + +Extending Blender by executing a script directly means the classes that the script defines +remain available inside Blender after the script finishes execution. +Using scripts this way makes future access to their classes +(to unregister them for example) more difficult compared to importing the scripts as modules. +When a script is imported as a module, its class instances will remain +inside the module and can be accessed later on by importing that module again. + +For this reason it is preferable to avoid directly executing scripts that extend Blender by registering classes. + +Here are some ways to run scripts directly in Blender: + +- Loaded in the text editor and press *Run Script*. +- Typed or pasted into the interactive console. +- Execute a Python file from the command line with Blender, e.g: + + .. code-block:: sh + + blender --python /home/me/my_script.py + + +To run as modules: + +- The obvious way, ``import some_module`` command from the text editor or interactive console. +- Open as a text data-block and check the *Register* option, this will load with the blend-file. +- Copy into one of the directories ``scripts/startup``, where they will be automatically imported on startup. +- Define as an add-on, enabling the add-on will load it as a Python module. + + +Add-ons +------- + +Some of Blender's functionality is best kept optional, +alongside scripts loaded at startup there are add-ons which are kept in their own directory ``scripts/addons``, +They are only loaded on startup if selected from the user preferences. + +The only difference between add-ons and built-in Python modules is that add-ons must contain a ``bl_info`` variable +which Blender uses to read metadata such as name, author, category and project link. +The User Preferences add-on listing uses ``bl_info`` to display information about each add-on. +`See Add-ons `__ +for details on the ``bl_info`` dictionary. + + +Integration through Classes +=========================== + +Running Python scripts in the text editor is useful for testing but you'll +want to extend Blender to make tools accessible like other built-in functionality. + +The Blender Python API allows integration for: + +- :class:`bpy.types.Panel` +- :class:`bpy.types.Menu` +- :class:`bpy.types.Operator` +- :class:`bpy.types.PropertyGroup` +- :class:`bpy.types.KeyingSet` +- :class:`bpy.types.RenderEngine` + +This is intentionally limited. Currently, for more advanced features such as mesh modifiers, +object types, or shader nodes, C/C++ must be used. + +For Python integration Blender defines methods which are common to all types. +This works by creating a Python subclass of a Blender class which contains variables and functions +specified by the parent class which are predefined to interface with Blender. + +For example: + +.. code-block:: python + + import bpy + class SimpleOperator(bpy.types.Operator): + bl_idname = "object.simple_operator" + bl_label = "Tool Name" + + def execute(self, context): + print("Hello World") + return {'FINISHED'} + + bpy.utils.register_class(SimpleOperator) + +First note that it defines a subclass as a member of :mod:`bpy.types`, +this is common for all classes which can be integrated with Blender and +is used to distinguish an Operator from a Panel when registering. + +Both class properties start with a ``bl_`` prefix. +This is a convention used to distinguish Blender properties from those you add yourself. +Next see the execute function, which takes an instance of the operator and the current context. +A common prefix is not used for functions. +Lastly the register function is called, this takes the class and loads it into Blender. See `Class Registration`_. + +Regarding inheritance, Blender doesn't impose restrictions on the kinds of class inheritance used, +the registration checks will use attributes and functions defined in parent classes. + +Class mix-in example: + +.. code-block:: python + + import bpy + class BaseOperator: + def execute(self, context): + print("Hello World BaseClass") + return {'FINISHED'} + + class SimpleOperator(bpy.types.Operator, BaseOperator): + bl_idname = "object.simple_operator" + bl_label = "Tool Name" + + bpy.utils.register_class(SimpleOperator) + +.. note:: + + Modal operators are an exception, keeping their instance variable as Blender runs, see modal operator template. + +So once the class is registered with Blender, instancing the class and calling the functions is left up to Blender. +In fact you cannot instantiate these classes from the script as you would expect with most Python APIs. +To run operators you can call them through the operator API, e.g: + +.. code-block:: python + + import bpy + bpy.ops.object.simple_operator() + +User interface classes are given a context in which to draw, buttons, window, file header, toolbar, etc., +then they are drawn when that area is displayed so they are never called by Python scripts directly. + + +.. _info_overview_class_construction_destruction: + +Construction & Destruction +-------------------------- + +In the examples above, the classes don't define an ``__init__(self)`` function. +In general, defining custom constructors or destructors should not be needed, and is not recommended. + +The lifetime of class instances is usually very short (also see the +:ref:`dedicated section `), a panel for example will +have a new instance for every redraw. +Some other types, like :class:`bpy.types.Operator`, have an even more complex internal handling, +which can lead to several instantiations for a single operator execution. + +There are a few cases where defining ``__init__()`` does make sense, e.g. when sub-classing a +:class:`bpy.types.RenderEngine`. When doing so, the parent matching function must always be called, +otherwise Blender's internal initialization won't happen properly: + +.. code-block:: python + + import bpy + class AwesomeRaytracer(bpy.types.RenderEngine): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.my_var = 42 + ... + +.. warning:: + + The Blender-defined parent constructor must be called before any data access to the object, including + from other potential parent types ``__init__()`` functions. + +.. warning:: + + Calling the parent's ``__init__()`` function is a hard requirement since Blender 4.4. + The 'generic' signature is the recommended one here, as Blender internal BPY code is typically + the only caller of these functions. The actual arguments passed to the constructor are fully + internal data, and may change depending on the implementation. + + Unfortunately, the error message, generated in case the expected constructor is not called, can + be fairly cryptic and unhelping. Generally they should be about failure to create a (python) + object: + + MemoryError: couldn't create bpy_struct object + + With Operators, it might be something like that: + + RuntimeError: could not create instance of to call callback function execute + +.. note:: + + In case you are using complex/multi-inheritance, ``super()`` may not work (as the Blender-defined parent + may not be the first type in the MRO). It is best then to first explicitly invoke the Blender-defined + parent class constructor, before any other. For example: + + .. code-block:: python + + import bpy + class FancyRaytracer(AwesomeRaytracer, bpy.types.RenderEngine): + def __init__(self, *args, **kwargs): + bpy.types.RenderEngine.__init__(self, *args, **kwargs) + AwesomeRaytracer.__init__(self, *args, **kwargs) + self.my_var = 42 + ... + +.. note:: + + Defining a custom ``__new__()`` function is strongly discouraged, not tested, and not considered + as supported currently. + Doing so presents a very high risk of crashes or otherwise corruption of Blender internal data. + But if defined, it must take the same two generic positional and keyword arguments, + and call the parent's ``__new__()`` with them if actually creating a new object. + +.. note:: + + Due to internal + `CPython implementation details `__, + C++-defined Blender types do not define or use a ``__del__()`` (aka ``tp_finalize()``) destructor + currently. + As this function + `does not exist if not explicitly defined `__, + that means that calling ``super().__del__()`` in the ``__del__()`` function of a sub-class will + fail with the following error: + ``AttributeError: 'super' object has no attribute '__del__'``. + If a call to the MRO 'parent' destructor is needed for some reason, the caller code must ensure + that the destructor does exist, e.g. using something like that: + ``getattr(super(), "__del__", lambda self: None)(self)`` + + +.. _info_overview_registration: + +Registration +============ + +Module Registration +------------------- + +Blender modules loaded at startup require ``register()`` and ``unregister()`` functions. +These are the *only* functions that Blender calls from your code, which is otherwise a regular Python module. + +A simple Blender Python module can look like this: + +.. code-block:: python + + import bpy + + class SimpleOperator(bpy.types.Operator): + """ See example above """ + + def register(): + bpy.utils.register_class(SimpleOperator) + + def unregister(): + bpy.utils.unregister_class(SimpleOperator) + + if __name__ == "__main__": + register() + +These functions usually appear at the bottom of the script containing class registration sometimes adding menu items. +You can also use them for internal purposes setting up data for your own tools but take care +since register won't re-run when a new blend-file is loaded. + +The register/unregister calls are used so it's possible to toggle add-ons and reload scripts while Blender runs. +If the register calls were placed in the body of the script, registration would be called on import, +meaning there would be no distinction between importing a module or loading its classes into Blender. +This becomes problematic when a script imports classes from another module +making it difficult to manage which classes are being loaded and when. + +The last two lines are only for testing: + +.. code-block:: python + + if __name__ == "__main__": + register() + +This allows the script to be run directly in the text editor to test changes. +This ``register()`` call won't run when the script is imported as a module +since ``__main__`` is reserved for direct execution. + + +Class Registration +------------------ + +Registering a class with Blender results in the class definition being loaded into Blender, +where it becomes available alongside existing functionality. +Once this class is loaded you can access it from :mod:`bpy.types`, +using the ``bl_idname`` rather than the classes original name. + +.. note:: + + There are some exceptions to this for class names which aren't guaranteed to be unique. + In this case use: :func:`bpy.types.Struct.bl_rna_get_subclass_py`. + + +When loading a class, Blender performs sanity checks making sure all required properties and functions are found, +that properties have the correct type, and that functions have the right number of arguments. + +Mostly you will not need concern yourself with this but if there is a problem +with the class definition it will be raised on registering: + +Using the function arguments ``def execute(self, context, spam)``, will raise an exception: + +``ValueError: expected Operator, SimpleOperator class "execute" function to have 2 args, found 3`` + +Using ``bl_idname = 1`` will raise: + +``TypeError: validating class error: Operator.bl_idname expected a string type, not int`` + + +Inter-Class Dependencies +^^^^^^^^^^^^^^^^^^^^^^^^ + +When customizing Blender you may want to group your own settings together, +after all, they will likely have to co-exist with other scripts. +To group these properties classes need to be defined, +for groups within groups or collections within groups +you can't avoid having to deal with the order of registration/unregistration. + +Custom properties groups are themselves classes which need to be registered. + +For example, if you want to store material settings for a custom engine: + +.. code-block:: python + + # Create new property: + # bpy.data.materials[0].my_custom_props.my_float + import bpy + + class MyMaterialProps(bpy.types.PropertyGroup): + my_float: bpy.props.FloatProperty() + + def register(): + bpy.utils.register_class(MyMaterialProps) + bpy.types.Material.my_custom_props = bpy.props.PointerProperty(type=MyMaterialProps) + + def unregister(): + del bpy.types.Material.my_custom_props + bpy.utils.unregister_class(MyMaterialProps) + + if __name__ == "__main__": + register() + +.. note:: + + The class **must be** registered before being used in a property, failing to do so will raise an error: + + ``ValueError: bpy_struct "Material" registration error: my_custom_props could not register`` + + +.. code-block:: python + + # Create new property group with a sub property: + # bpy.data.materials[0].my_custom_props.sub_group.my_float + import bpy + + class MyMaterialSubProps(bpy.types.PropertyGroup): + my_float: bpy.props.FloatProperty() + + class MyMaterialGroupProps(bpy.types.PropertyGroup): + sub_group: bpy.props.PointerProperty(type=MyMaterialSubProps) + + def register(): + bpy.utils.register_class(MyMaterialSubProps) + bpy.utils.register_class(MyMaterialGroupProps) + bpy.types.Material.my_custom_props = bpy.props.PointerProperty(type=MyMaterialGroupProps) + + def unregister(): + del bpy.types.Material.my_custom_props + bpy.utils.unregister_class(MyMaterialGroupProps) + bpy.utils.unregister_class(MyMaterialSubProps) + + if __name__ == "__main__": + register() + +.. important:: + + The lower most class needs to be registered first and that ``unregister()`` is a mirror of ``register()``. + + +Manipulating Classes +^^^^^^^^^^^^^^^^^^^^ + +Properties can be added and removed as Blender runs, +normally done on register or unregister but for some special cases +it may be useful to modify types as the script runs. + +For example: + +.. code-block:: python + + # Add a new property to an existing type. + bpy.types.Object.my_float: bpy.props.FloatProperty() + # Remove it. + del bpy.types.Object.my_float + +This works just as well for ``PropertyGroup`` subclasses you define yourself. + +.. code-block:: python + + class MyPropGroup(bpy.types.PropertyGroup): + pass + MyPropGroup.my_float: bpy.props.FloatProperty() + +This is equivalent to: + +.. code-block:: python + + class MyPropGroup(bpy.types.PropertyGroup): + my_float: bpy.props.FloatProperty() + + +Dynamic Class Definition (Advanced) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In some cases the specifier for data may not be in Blender, for example an external render engine's shader definitions, +and it may be useful to define them as types and remove them on the fly. + +.. code-block:: python + + for i in range(10): + idname = "object.operator_{:d}".format(i) + + def func(self, context): + print("Hello World", self.bl_idname) + return {'FINISHED'} + + op_class = type( + "DynOp{:d}".format(i), + (bpy.types.Operator, ), + {"bl_idname": idname, "bl_label": "Test", "execute": func}, + ) + bpy.utils.register_class(op_class) + +.. note:: + + ``type()`` is called to define the class. + This is an alternative syntax for class creation in Python, better suited to constructing classes dynamically. + + +To call the operators from the previous example: + + >>> bpy.ops.object.operator_1() + Hello World OBJECT_OT_operator_1 + {'FINISHED'} + + >>> bpy.ops.object.operator_2() + Hello World OBJECT_OT_operator_2 + {'FINISHED'} diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_quickstart.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_quickstart.rst new file mode 100644 index 0000000..65e7632 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_quickstart.rst @@ -0,0 +1,473 @@ +.. _info_quickstart: + +********** +Quickstart +********** + +This :abbr:`API (Application Programming Interface)` is generally stable +but some areas are still being extended and improved. + +.. rubric:: Blender Python API features: + +- Edit any data the user interface can (Scenes, Meshes, Particles etc.). +- Modify user preferences, keymaps and themes. +- Run tools with own settings. +- Create user interface elements such as menus, headers and panels. +- Create new tools. +- Create interactive tools. +- Create new rendering engines that integrate with Blender. +- Subscribe to changes to data and its properties. +- Define new settings in existing Blender data. +- Draw in the 3D Viewport using Python. + + +.. rubric:: (Still) missing features: + +- Create new space types. +- Assign custom properties to every type. + + +Before Starting +=============== + +This document is intended to familiarize you with Blender Python API +but not to fully cover each topic. + +A quick list of helpful things to know before starting: + +- Enable :ref:`Developer Extra ` + and :ref:`Python Tooltips `. +- The :ref:`Python Console ` + is great for testing one-liners; it has autocompletion so you can inspect the API quickly. +- Button tooltips show Python attributes and operator names (when enabled see above). +- The context menu of buttons directly links to this API documentation (when enabled see above). +- Many python examples can be found in the text editor's template menu. +- To examine further scripts distributed with Blender, see: + + - ``scripts/startup/bl_ui`` for the user interface. + - ``scripts/startup/bl_operators`` for operators. + + Exact location depends on platform, see: + :ref:`directory layout docs `. + + +Running Scripts +--------------- + +The two most common ways to execute Python scripts are using the built-in +text editor or entering commands in the Python console. +Both the *Text Editor* and *Python Console* are space types you can select from the header. +Rather than manually configuring your spaces for Python development, +you can use the *Scripting* workspace accessible from the Topbar tabs. + +From the text editor you can open ``.py`` files or paste them from the clipboard, then test using *Run Script*. +The Python Console is typically used for typing in snippets and for testing to get immediate feedback, +but can also have entire scripts pasted into it. +Scripts can also run from the command line with Blender but to learn scripting in Blender this isn't essential. + + +Key Concepts +============ + +Data Access +----------- + +Accessing Data-Blocks +^^^^^^^^^^^^^^^^^^^^^ + +You can access Blender's data with the Python API in the same way as the animation system or user interface; +this implies that any setting that can be changed via a button can also be changed with Python. +Accessing data from the currently loaded blend-file is done with the module :mod:`bpy.data`. +It gives access to library data, for example: + + >>> bpy.data.objects + + + >>> bpy.data.scenes + + + >>> bpy.data.materials + + + +Accessing Collections +^^^^^^^^^^^^^^^^^^^^^ + +You will notice that an index as well as a string can be used to access members of the collection. +Unlike Python dictionaries, both methods are available; +however, the index of a member may change while running Blender. + + >>> list(bpy.data.objects) + [bpy.data.objects["Cube"], bpy.data.objects["Plane"]] + + >>> bpy.data.objects['Cube'] + bpy.data.objects["Cube"] + + >>> bpy.data.objects[0] + bpy.data.objects["Cube"] + + +Accessing Attributes +^^^^^^^^^^^^^^^^^^^^ + +Once you have a data-block, such as a material, object, collection, etc., +its attributes can be accessed much like you would change a setting using the graphical interface. +In fact, the tooltip for each button also displays the Python attribute +which can help in finding what settings to change in a script. + + >>> bpy.data.objects[0].name + 'Camera' + + >>> bpy.data.scenes["Scene"] + bpy.data.scenes['Scene'] + + >>> bpy.data.materials.new("MyMaterial") + bpy.data.materials['MyMaterial'] + + +For testing what data to access it's useful to use the Python Console, which is its own space type. +This supports auto-complete, giving you a fast way to explore the data in your file. + +Example of a data path that can be quickly found via the console: + + >>> bpy.data.scenes[0].render.resolution_percentage + 100 + >>> bpy.data.scenes[0].objects["Torus"].data.vertices[0].co.x + 1.0 + + +Data Creation/Removal +^^^^^^^^^^^^^^^^^^^^^ + +When you are familiar with other Python APIs you may be surprised that +new data-blocks in the bpy API cannot be created by calling the class: + + >>> bpy.types.Mesh() + Traceback (most recent call last): + File "", line 1, in + TypeError: bpy_struct.__new__(type): expected a single argument + + +This is an intentional part of the API design. +The Blender Python API can't create Blender data that exists outside the main Blender database +(accessed through :mod:`bpy.data`), because this data is managed by Blender (save, load, undo, append, etc). + +Data is added and removed via methods on the collections in :mod:`bpy.data`, e.g: + + >>> mesh = bpy.data.meshes.new(name="MyMesh") + >>> print(mesh) + + + >>> bpy.data.meshes.remove(mesh) + + +.. _info_quickstart-custom_properties: + +Custom Properties +^^^^^^^^^^^^^^^^^ + +Python can access properties on any data-block that has an ID +(data that can be linked in and accessed from :mod:`bpy.data`). +When assigning a property, you can pick your own names, +these will be created when needed or overwritten if they already exist. + +This data is saved with the blend-file and copied with objects, for example: + +.. code-block:: python + + bpy.context.object["MyOwnProperty"] = 42 + + if "SomeProp" in bpy.context.object: + print("Property found") + + # Use the get function like a Python dictionary + # which can have a fallback value. + value = bpy.data.scenes["Scene"].get("test_prop", "fallback value") + + # Dictionaries can be assigned as long as they only use basic types. + collection = bpy.data.collections.new("MyTestCollection") + collection["MySettings"] = {"foo": 10, "bar": "spam", "baz": {}} + + del collection["MySettings"] + + +Note that these properties can only be assigned basic Python types: + +- int, float, string +- array of ints or floats +- dictionary (only string keys are supported, values must be basic types too) + +These properties are valid outside of Python. They can be animated by curves or used in driver paths. + +For a list of types that support custom properties see: +:ref:`types supporting custom properties `. + + +Context +------- + +While it's useful to be able to access data directly by name or as a list, +it's more common to operate on the user's selection. +The context is always available from ``bpy.context`` and can be used to get the active object, scene, +tool settings along with many other attributes. + +Some common use cases are: + + >>> bpy.context.object + >>> bpy.context.selected_objects + >>> bpy.context.visible_bones + +Note that the context is read-only, which means that these values cannot be modified directly. +But they can be changed by running API functions or by using the data API. + +So ``bpy.context.active_object = obj`` will raise an error. +But ``bpy.context.view_layer.objects.active = obj`` works as expected. + +The context attributes change depending on where they are accessed. +The 3D Viewport has different context members than the Python Console, +so take care when accessing context attributes that the user state is known. + +See :mod:`bpy.context` API reference. + + +Operators (Tools) +----------------- + +Operators are tools generally accessed by the user from buttons, menu items or key shortcuts. +From the user perspective they are a tool but Python can run these with its own settings +through the :mod:`bpy.ops` module. + +Examples: + + >>> bpy.ops.mesh.flip_normals() + {'FINISHED'} + >>> bpy.ops.mesh.hide(unselected=False) + {'FINISHED'} + >>> bpy.ops.object.transform_apply() + {'FINISHED'} + +.. tip:: + + The :ref:`Operator Cheat Sheet ` + gives a list of all operators and their default values in Python syntax, along with the generated docs. + This is a good way to get an overview of all Blender's operators. + + +Operator Poll() +^^^^^^^^^^^^^^^ + +Many operators have a "poll" function which checks if the cursor +is in a valid area or if the object is in the correct mode (Edit Mode, Weight Paint Mode, etc). +When an operator's poll function fails within Python, an exception is raised. + +For example, calling ``bpy.ops.view3d.render_border()`` from the console raises the following error: + +.. code-block:: python + + RuntimeError: Operator bpy.ops.view3d.render_border.poll() failed, context is incorrect + +In this case the context must be the 3D Viewport with an active camera. + +To avoid using try-except clauses wherever operators are called, you can call the operators +own ``poll()`` function to check if it can run the operator in the current context. + +.. code-block:: python + + if bpy.ops.view3d.render_border.poll(): + bpy.ops.view3d.render_border() + + +Integration +=========== + +Python scripts can integrate with Blender in the following ways: + +- By defining a render engine. +- By defining operators. +- By defining menus, headers and panels. +- By inserting new buttons into existing menus, headers and panels. + +In Python, this is done by defining a class, which is a subclass of an existing type. + + +Example Operator +---------------- + +.. literalinclude:: __/__/__/scripts/templates_py/operator_simple.py + +Once this script runs, ``SimpleOperator`` is registered with Blender +and can be called from Operator Search or added to the toolbar. + +To run the script: + +#. Start Blender and switch to the Scripting workspace. +#. Click the *New* button in the text editor to create a new text data-block. +#. Copy the code from above and paste it into the text editor. +#. Click on the *Run Script* button. +#. Move your cursor into the 3D Viewport, + open the :ref:`Operator Search menu `, + and type "Simple". +#. Click on the "Simple Operator" item found in search. + +.. seealso:: + + The class members with the ``bl_`` prefix are documented in the API reference :class:`bpy.types.Operator`. + +.. note:: + + The output from the ``main`` function is sent to the terminal; + in order to see this, be sure to :ref:`use the terminal `. + + +Example Panel +------------- + +Panels are registered as a class, like an operator. +Notice the extra ``bl_`` variables used to set the context they display in. + +.. literalinclude:: __/__/__/scripts/templates_py/ui_panel_simple.py + +To run the script: + +#. Start Blender and switch to the Scripting workspace. +#. Click the *New* button in the text editor to create a new text data-block. +#. Copy the code from above and paste it into the text editor. +#. Click on the *Run Script* button. + +To view the results: + +#. Select the default cube. +#. Click on the Object properties icon in the buttons panel (far right; appears as a tiny cube). +#. Scroll down to see a panel named "Hello World Panel". +#. Changing the object name also updates *Hello World Panel's* name: field. + +Note the row distribution and the label and properties that are defined through the code. + +.. seealso:: :class:`bpy.types.Panel` + + +Types +===== + +Blender defines a number of Python types but also uses Python native types. +Blender's Python API can be split up into three categories. + + +Native Types +------------ + +In simple cases returning a number or a string as a custom type would be cumbersome, +so these are accessed as normal Python types. + +- Blender float, int, boolean -> float, int, boolean +- Blender enumerator -> string + + >>> C.object.rotation_mode = 'AXIS_ANGLE' + +- Blender enumerator (multiple) -> set of strings + + .. code-block:: python + + # Setting multiple snap targets. + bpy.context.scene.tool_settings.snap_elements_base = {'VERTEX', 'EDGE'} + + # Passing as an operator argument for report types. + self.report({'WARNING', 'INFO'}, "Some message!") + + +Internal Types +-------------- + +:class:`bpy.types.bpy_struct` is used for Blender data-blocks and collections. +Also for data that contains its own attributes: collections, meshes, bones, scenes, etc. + +There are two main types that wrap Blender's data, one for data-blocks +(known internally as ``bpy_struct``), another for properties. + + >>> bpy.context.object + bpy.data.objects['Cube'] + + >>> C.scene.objects + bpy.data.scenes['Scene'].objects + +Note that these types reference Blender's data so modifying them is visible immediately. + + +Mathutils Types +--------------- + +Accessible from :mod:`mathutils` are vectors, quaternions, Euler angles, matrix and color types. +Some attributes such as :class:`bpy.types.Object.location`, +:class:`bpy.types.PoseBone.rotation_euler` and :class:`bpy.types.View3DCursor.location` +can be accessed as special math types which can be used together and manipulated in various useful ways. + +Example of a matrix, vector multiplication: + +.. code-block:: python + + bpy.context.object.matrix_world @ bpy.context.object.data.vertices[0].co + +.. note:: + + mathutils types keep a reference to Blender's internal data so changes can + be applied back. + + Example: + + .. code-block:: python + + # Modifies the Z axis in place. + bpy.context.object.location.z += 2.0 + + # Location variable holds a reference to the object too. + location = bpy.context.object.location + location *= 2.0 + + # Copying the value drops the reference so the value can be passed to + # functions and modified without unwanted side effects. + location = bpy.context.object.location.copy() + + +Animation +========= + +There are two ways to add keyframes through Python. + +The first is through key properties directly, which is like inserting a keyframe from the button as a user. +You can also manually create the curves and keyframe data, then set the path to the property. +Here are examples of both methods. Both insert a keyframe on the active object's Z axis. + +Simple example: + +.. code-block:: python + + obj = bpy.context.object + obj.location[2] = 0.0 + obj.keyframe_insert(data_path="location", frame=10.0, index=2) + obj.location[2] = 1.0 + obj.keyframe_insert(data_path="location", frame=20.0, index=2) + +Using low-level functions: + +.. code-block:: python + + obj = bpy.context.object + + # Create the action, with a slot for the object, a layer, and a keyframe strip: + action = bpy.data.actions.new(name="MyAction") + slot = action.slots.new(obj.id_type, obj.name) + strip = action.layers.new("MyLayer").strips.new(type='KEYFRAME') + + # Create a channelbag to hold the F-Curves for the slot: + channelbag = strip.channelbag(slot, ensure=True) + + # Create the F-Curve with two keyframes: + fcu_z = channelbag.fcurves.new(data_path="location", index=2) + fcu_z.keyframe_points.add(2) + fcu_z.keyframe_points[0].co = 10.0, 0.0 + fcu_z.keyframe_points[1].co = 20.0, 1.0 + + # Assign the action and the slot to the object: + adt = obj.animation_data_create() + adt.action = action + adt.action_slot = slot diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_tips_and_tricks.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_tips_and_tricks.rst new file mode 100644 index 0000000..735b2cc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/info_tips_and_tricks.rst @@ -0,0 +1,309 @@ + +*************** +Tips and Tricks +*************** + +Here are various suggestions that you might find useful when writing scripts. +Some of these are just Python features that you may not have thought to use with Blender, +others are Blender-specific. + + +.. _use_the_terminal: + +Use the Terminal +================ + +When writing Python scripts, it's useful to have a terminal open, +this is not the built-in Python console but a terminal application which is used to start Blender. + +The three main use cases for the terminal are: + +- You can see the output of ``print()`` as your script runs, which is useful to view debug info. +- The error traceback is printed in full to the terminal which won't always generate a report message in + Blender's user interface (depending on how the script is executed). +- If the script runs for too long or you accidentally enter an infinite loop, + :kbd:`Ctrl-C` in the terminal (:kbd:`Ctrl-Break` on Windows) will quit the script early. + +.. seealso:: + + :ref:`blender_manual:command_line-launch-index`. + + +Interface Tricks +================ + +Access Operator Commands +------------------------ + +You may have noticed that the tooltip for menu items and buttons includes the ``bpy.ops.[...]`` command +to run that button, a handy (hidden) feature is that you can press :kbd:`Ctrl-C` over +any menu item or button to copy this command into the clipboard. + + +Access Data Path +---------------- + +To find the path from an :class:`ID` data-block to its setting isn't always so simple since it may be nested away. +To get this quickly open the context menu of the setting and select *Copy Data Path*, +if this can't be generated, only the property name is copied. + +.. note:: + + This uses the same method for creating the animation path used by + :class:`bpy.types.FCurve.data_path` and + :class:`bpy.types.DriverTarget.data_path` drivers. + + +.. _info_show_all_operators: + +Show All Operators +================== + +While Blender logs operators in the Info editor, +this only reports operators with the ``REGISTER`` option enabled so as not to flood the *Info* view +with calls to ``bpy.ops.view3d.smoothview`` and ``bpy.ops.view3d.zoom``. +Yet for testing it can be useful to see **every** operator called in a terminal, +do this by enabling the debug option either by passing the ``--debug-wm`` argument when starting Blender +or by setting :mod:`bpy.app.debug_wm` to ``True`` while Blender is running. + + +Use an External Editor +====================== + +Blender's text editor is fine for small changes and writing tests but it's not full featured, +for larger projects you'll probably want to use a standalone editor or Python IDE. +Editing a text file externally and having the same text open in Blender does work +but isn't that optimal so here are two ways you can use an external file from Blender. +Using the following examples you'll still need text data-block in Blender to execute, +but reference an external file rather than including it directly. + + +Executing External Scripts +-------------------------- + +This is the equivalent to running the script directly, referencing a script's path from a two line code block. + +.. code-block:: python + + filename = "/full/path/to/myscript.py" + exec(compile(open(filename).read(), filename, 'exec')) + + +You might want to reference a script relative to the blend-file. + +.. code-block:: python + + import bpy + import os + + filename = os.path.join(os.path.dirname(bpy.data.filepath), "myscript.py") + exec(compile(open(filename).read(), filename, 'exec')) + + +Executing Modules +----------------- + +This example shows loading a script in as a module and executing a module function. + +.. code-block:: python + + import myscript + import importlib + + importlib.reload(myscript) + myscript.main() + + +Notice that the script is reloaded every time, this forces use of the modified version, +otherwise the cached one in ``sys.modules`` would be used until Blender was restarted. + +The important difference between this and executing the script directly is it +has to call a function in the module, in this case ``main()`` but it can be any function, +an advantage with this is you can pass arguments to the function from this +small script which is often useful for testing different settings quickly. + +The other issue with this is the script has to be in Python's module search path. +While this is not best practice -- for testing purposes you can extend the search path, +this following example adds the current blend-file's directory to the search path +and then loads the script as a module. + +.. code-block:: python + + import sys + import os + import bpy + + blend_dir = os.path.dirname(bpy.data.filepath) + if blend_dir not in sys.path: + sys.path.append(blend_dir) + + import myscript + import importlib + importlib.reload(myscript) + myscript.main() + + +Use Blender without its User Interface +====================================== + +While developing your own scripts Blender's interface can get in the way, +manually reloading, running the scripts, opening file import, etc. adds overhead. +For scripts that are not interactive it can end up being more efficient not to use +Blender's interface at all and instead execute the script on the command line. + +.. code-block:: sh + + blender --background --python myscript.py + + +You might want to run this with a blend-file so the script has some data to operate on. + +.. code-block:: sh + + blender myscene.blend --background --python myscript.py + +.. note:: + + Depending on your setup you might have to enter the full path to the Blender executable. + + +Once the script is running properly in background mode, you'll want to check the output of the script, +this depends completely on the task at hand, however, here are some suggestions: + +- Render the output to an image, use an image viewer and keep writing over the same image each time. +- Save a new blend-file, or export the file using one of Blender's exporters. +- If the results can be displayed as text then print them or write them to a file. + + +While this can take a little time to setup, it can be well worth the effort +to reduce the time it takes to test changes. You can even have +Blender running the script every few seconds with a viewer updating the results, +so no need to leave your text editor to see changes. + + +Use External Tools +================== + +When there are no readily available Python modules to perform specific tasks it's +worth keeping in mind you may be able to have Python execute an external command +on your data and read the result back in. + +Using external programs adds an extra dependency and may limit who can use the script +but to quickly setup your own custom pipeline or writing one-off scripts this can be handy. + +Examples include: + +- Run Gimp in batch mode to execute custom scripts for advanced image processing. +- Write out 3D models to use external mesh manipulation tools and read back in the results. +- Convert files into recognizable formats before reading. + + +Bundled Python & Extensions +=========================== + +The Blender releases distributed from blender.org include a complete Python installation on all platforms, +this has the disadvantage that any extensions you have installed on your system's Python environment +will not be found by Blender. + +There are two ways to work around this: + +- Remove Blender Python subdirectory, Blender will then fall back on the system's Python and use that instead. + + Depending on your platform, + you may need to explicitly reference the location of your Python installation using + the ``PYTHONPATH`` environment variable, e.g: + + .. code-block:: sh + + PYTHONPATH=/usr/lib/python3.7 ./blender --python-use-system-env + + .. warning:: + + The Python (major, minor) version must match the one that Blender comes with. + Therefore you can't use Python 3.6 with Blender built to use Python 3.7. + +- Copy or link the extensions into Blender's Python subdirectory so Blender can access them, + you can also copy the entire Python installation into Blender's subdirectory, + replacing the one Blender comes with. + This works as long as the Python versions match and the paths are created in the same relative locations. + Doing this has the advantage that you can redistribute this bundle to others with Blender + including any extensions you rely on. + + +Insert a Python Interpreter into your Script +============================================ + +In the middle of a script you may want to inspect variables, +run functions and inspect the flow. + +.. code-block:: python + + import code + code.interact(local=locals()) + + +If you want to access both global and local variables run this: + +.. code-block:: python + + import code + namespace = globals().copy() + namespace.update(locals()) + code.interact(local=namespace) + + +The next example is an equivalent single line version of the script above which is easier to paste into your code: + +.. code-block:: python + + __import__('code').interact(local=dict(globals(), **locals())) + + +``code.interact`` can be added at any line in the script +and will pause the script to launch an interactive interpreter in the terminal, +when you're done you can quit the interpreter and the script will continue execution. + + +If you have **IPython** installed you can use its ``embed()`` function which uses the current namespace. +The IPython prompt has auto-complete and some useful features that the standard Python eval-loop doesn't have. + +.. code-block:: python + + import IPython + IPython.embed() + + +Admittedly this highlights the lack of any Python debugging support built into Blender, +but its still a handy thing to know. + + +Advanced +======== + +Blender as a Module +------------------- + +From a Python perspective it's nicer to have everything as an extension +which lets the Python script combine many components. + +Advantages include: + +- You can use external editors or IDEs with Blender's Python API and execute scripts within the IDE + (step over code, inspect variables as the script runs). +- Editors or IDEs can auto-complete Blender modules and variables. +- Existing scripts can import Blender APIs without having to be run inside of Blender. + +This is marked advanced because to run Blender as a Python module requires a special build option. +For instructions on building see +`Building Blender as a Python module `__. + + +Python Safety (Build Option) +---------------------------- + +Since it's possible to access data which has been removed (see :doc:`Gotchas `), +it can be hard to track down the cause of crashes. +To raise Python exceptions on accessing freed data (rather than crashing), +enable the CMake build option ``WITH_PYTHON_SAFETY``. +This enables data tracking which makes data access about two times slower +which is why the option isn't enabled in release builds. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.bvhtree.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.bvhtree.rst new file mode 100644 index 0000000..85a8cdb --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.bvhtree.rst @@ -0,0 +1,108 @@ +BVHTree Utilities (mathutils.bvhtree) +===================================== + +.. module:: mathutils.bvhtree + +BVH tree structures for proximity searches and ray casts on geometry. + +.. class:: BVHTree + + + .. classmethod:: FromBMesh(bmesh, *, epsilon=0.0) + + BVH tree based on :class:`BMesh` data. + + :param bmesh: BMesh data. + :type bmesh: :class:`BMesh` + :param epsilon: Increase the threshold for detecting overlap and raycast hits. + :type epsilon: float + :return: BVHTree from BMesh data. + :rtype: :class:`BVHTree` + + + .. classmethod:: FromObject(object, depsgraph, *, deform=True, cage=False, epsilon=0.0) + + BVH tree based on :class:`Object` data. + + :param object: Mesh object. + :type object: :class:`Object` + :param depsgraph: Depsgraph to use for evaluating the mesh. + :type depsgraph: :class:`Depsgraph` + :param deform: Use mesh with deformations. + :type deform: bool + :param cage: Use modifiers cage. + :type cage: bool + :param epsilon: Increase the threshold for detecting overlap and raycast hits. + :type epsilon: float + :return: BVHTree from Object data. + :rtype: :class:`BVHTree` + + + .. classmethod:: FromPolygons(vertices, polygons, *, all_triangles=False, epsilon=0.0) + + BVH tree constructed from geometry passed in as arguments. + + :param vertices: float triplets each representing ``(x, y, z)`` coordinates. + :type vertices: Sequence[Sequence[float]] + :param polygons: Sequence of polygons, each containing indices to the vertices argument. + :type polygons: Sequence[Sequence[int]] + :param all_triangles: Use when all **polygons** are triangles for more efficient conversion. + :type all_triangles: bool + :param epsilon: Increase the threshold for detecting overlap and raycast hits. + :type epsilon: float + :return: BVHTree from polygon data. + :rtype: :class:`BVHTree` + + + .. method:: find_nearest(origin, distance=1.84467e+19, /) + + Find the nearest element (typically face index) to a point. + + :param origin: Find nearest element to this point. + :type origin: :class:`Vector` + :param distance: Maximum distance threshold. + :type distance: float + :return: Returns a tuple: (position, normal, index, distance), + Values will all be None if no hit is found. + :rtype: tuple[:class:`Vector` | None, :class:`Vector` | None, int | None, float | None] + + + .. method:: find_nearest_range(origin, distance=1.84467e+19, /) + + Find the nearest elements (typically face index) to a point in the distance range. + + :param origin: Find nearest elements to this point. + :type origin: :class:`Vector` + :param distance: Maximum distance threshold. + :type distance: float + :return: Returns a list of tuples (position, normal, index, distance) + :rtype: list[tuple[:class:`Vector`, :class:`Vector`, int, float]] + + + .. method:: overlap(other_tree, /) + + Find overlapping indices between 2 trees. + + :param other_tree: Other tree to perform overlap test on. + :type other_tree: :class:`BVHTree` + :return: Returns a list of unique index pairs, the first index referencing this tree, the second referencing the **other_tree**. + :rtype: list[tuple[int, int]] + + + .. method:: ray_cast(origin, direction, distance=sys.float_info.max, /) + + Cast a ray onto the geometry. + + :param origin: Start location of the ray. + :type origin: :class:`Vector` + :param direction: Direction of the ray (normalized internally). + :type direction: :class:`Vector` + :param distance: Maximum distance threshold. + :type distance: float + :return: Returns a tuple: (position, normal, index, distance), + Values will all be None if no hit is found. + :rtype: tuple[:class:`Vector` | None, :class:`Vector` | None, int | None, float | None] + + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.geometry.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.geometry.rst new file mode 100644 index 0000000..c8d995f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.geometry.rst @@ -0,0 +1,445 @@ +Geometry Utilities (mathutils.geometry) +======================================= + +.. module:: mathutils.geometry + +The Blender geometry module. + +.. function:: area_tri(v1, v2, v3, /) + + Returns the area of the 2D or 3D triangle defined. + + :param v1: Point1 + :type v1: :class:`mathutils.Vector` + :param v2: Point2 + :type v2: :class:`mathutils.Vector` + :param v3: Point3 + :type v3: :class:`mathutils.Vector` + :return: The area of the triangle. + :rtype: float + + +.. function:: barycentric_transform(point, tri_a1, tri_a2, tri_a3, tri_b1, tri_b2, tri_b3, /) + + Return a transformed point, the transformation is defined by 2 triangles. + + :param point: The point to transform. + :type point: :class:`mathutils.Vector` + :param tri_a1: source triangle vertex. + :type tri_a1: :class:`mathutils.Vector` + :param tri_a2: source triangle vertex. + :type tri_a2: :class:`mathutils.Vector` + :param tri_a3: source triangle vertex. + :type tri_a3: :class:`mathutils.Vector` + :param tri_b1: target triangle vertex. + :type tri_b1: :class:`mathutils.Vector` + :param tri_b2: target triangle vertex. + :type tri_b2: :class:`mathutils.Vector` + :param tri_b3: target triangle vertex. + :type tri_b3: :class:`mathutils.Vector` + :return: The transformed point + :rtype: :class:`mathutils.Vector` + + +.. function:: box_fit_2d(points, /) + + Returns an angle that best fits the points to an axis aligned rectangle + + :param points: Sequence of 2D points. + :type points: Sequence[Sequence[float]] + :return: The rotation angle in radians for the best axis-aligned bounding box fit. + :rtype: float + + +.. function:: box_pack_2d(boxes, /) + + Returns a tuple with the width and height of the packed bounding box. + + :param boxes: list of boxes, each box is a list where the first 4 items are [X, Y, width, height, ...] other items are ignored. The X & Y values in this list are modified to set the packed positions. + :type boxes: list[list[float]] + :return: The width and height of the packed bounding box. + :rtype: tuple[float, float] + + +.. function:: closest_point_on_tri(pt, tri_p1, tri_p2, tri_p3, /) + + Takes 4 vectors: one is the point and the next 3 define the triangle. + + :param pt: Point + :type pt: :class:`mathutils.Vector` + :param tri_p1: First point of the triangle + :type tri_p1: :class:`mathutils.Vector` + :param tri_p2: Second point of the triangle + :type tri_p2: :class:`mathutils.Vector` + :param tri_p3: Third point of the triangle + :type tri_p3: :class:`mathutils.Vector` + :return: The closest point of the triangle. + :rtype: :class:`mathutils.Vector` + + +.. function:: convex_hull_2d(points, /) + + Returns the indices of the points forming the convex hull, in counter-clockwise order. + + :param points: Sequence of 2D points. + :type points: Sequence[Sequence[float]] + :return: Indices of convex hull vertices in counter-clockwise order. + :rtype: list[int] + + +.. function:: delaunay_2d_cdt(vert_coords, edges, faces, output_type, epsilon, need_ids=True, /) + + Computes the Constrained Delaunay Triangulation of a set of vertices, + with edges and faces that must appear in the triangulation. + Some triangles may be eaten away, or combined with other triangles, + according to output type. + The returned verts may be in a different order from input verts, may be moved + slightly, and may be merged with other nearby verts. + The three returned orig lists give, for each of verts, edges, and faces, the list of + input element indices corresponding to the positionally same output element. + For edges, the orig indices start with the input edges and then continue + with the edges implied by each of the faces (n of them for an n-gon). + If the need_ids argument is supplied, and False, then the code skips the preparation + of the orig arrays, which may save some time. + + :param vert_coords: Vertex coordinates (2d) + :type vert_coords: Sequence[:class:`mathutils.Vector`] + :param edges: Edges, as pairs of indices in ``vert_coords`` + :type edges: Sequence[tuple[int, int]] + :param faces: Faces, each sublist is a face, as indices in ``vert_coords`` (CCW oriented). + :type faces: Sequence[Sequence[int]] + :param output_type: What output looks like. 0 => triangles with convex hull. 1 => triangles inside constraints. 2 => the input constraints, intersected. 3 => like 2 but detect holes and omit them from output. 4 => like 2 but with extra edges to make valid BMesh faces. 5 => like 4 but detect holes and omit them from output. + :type output_type: int + :param epsilon: For nearness tests; should not be zero + :type epsilon: float + :param need_ids: are the orig output arrays needed? + :type need_ids: bool + :return: Output tuple, (vert_coords, edges, faces, orig_verts, orig_edges, orig_faces) + :rtype: tuple[list[:class:`mathutils.Vector`], list[tuple[int, int]], list[list[int]], list[list[int]], list[list[int]], list[list[int]]] + + +.. function:: distance_point_to_plane(pt, plane_co, plane_no, /) + + Returns the signed distance between a point and a plane (negative when below the normal). + + :param pt: Point + :type pt: :class:`mathutils.Vector` + :param plane_co: A point on the plane + :type plane_co: :class:`mathutils.Vector` + :param plane_no: The direction the plane is facing + :type plane_no: :class:`mathutils.Vector` + :return: The signed distance. + :rtype: float + + +.. function:: interpolate_bezier(knot1, handle1, handle2, knot2, resolution, /) + + Interpolate a bezier spline segment. + + :param knot1: First bezier spline point. + :type knot1: :class:`mathutils.Vector` + :param handle1: First bezier spline handle. + :type handle1: :class:`mathutils.Vector` + :param handle2: Second bezier spline handle. + :type handle2: :class:`mathutils.Vector` + :param knot2: Second bezier spline point. + :type knot2: :class:`mathutils.Vector` + :param resolution: Number of points to return. + :type resolution: int + :return: The interpolated points. + :rtype: list[:class:`mathutils.Vector`] + + +.. function:: intersect_line_line(v1, v2, v3, v4, /) + + Returns a tuple with the points on each line respectively closest to the other. + + :param v1: First point of the first line + :type v1: :class:`mathutils.Vector` + :param v2: Second point of the first line + :type v2: :class:`mathutils.Vector` + :param v3: First point of the second line + :type v3: :class:`mathutils.Vector` + :param v4: Second point of the second line + :type v4: :class:`mathutils.Vector` + :return: The intersection on each line or None when the lines are parallel. + :rtype: tuple[:class:`mathutils.Vector`, :class:`mathutils.Vector`] | None + + +.. function:: intersect_line_line_2d(lineA_p1, lineA_p2, lineB_p1, lineB_p2, /) + + Takes 2 segments (defined by 4 vectors) and returns a vector for their point of intersection or None. + + .. warning:: Despite its name, this function works on segments, and not on lines. + + :param lineA_p1: First point of the first segment + :type lineA_p1: :class:`mathutils.Vector` + :param lineA_p2: Second point of the first segment + :type lineA_p2: :class:`mathutils.Vector` + :param lineB_p1: First point of the second segment + :type lineB_p1: :class:`mathutils.Vector` + :param lineB_p2: Second point of the second segment + :type lineB_p2: :class:`mathutils.Vector` + :return: The point of intersection or None when not found + :rtype: :class:`mathutils.Vector` | None + + +.. function:: intersect_line_plane(line_a, line_b, plane_co, plane_no, no_flip=False, /) + + Calculate the intersection between a line (as 2 vectors) and a plane. + Returns a vector for the intersection or None. + + :param line_a: First point of the line + :type line_a: :class:`mathutils.Vector` + :param line_b: Second point of the line + :type line_b: :class:`mathutils.Vector` + :param plane_co: A point on the plane + :type plane_co: :class:`mathutils.Vector` + :param plane_no: The direction the plane is facing + :type plane_no: :class:`mathutils.Vector` + :param no_flip: Currently ignored. + :type no_flip: bool + :return: The point of intersection or None when not found + :rtype: :class:`mathutils.Vector` | None + + +.. function:: intersect_line_sphere(line_a, line_b, sphere_co, sphere_radius, clip=True, /) + + Takes a line (as 2 points) and a sphere (as a point and a radius) and + returns the intersection + + :param line_a: First point of the line + :type line_a: :class:`mathutils.Vector` + :param line_b: Second point of the line + :type line_b: :class:`mathutils.Vector` + :param sphere_co: The center of the sphere + :type sphere_co: :class:`mathutils.Vector` + :param sphere_radius: Radius of the sphere + :type sphere_radius: float + :param clip: When False, don't restrict the intersection to the line segment. + :type clip: bool + :return: The intersection points as a pair of vectors (each is None when not found). + :rtype: tuple[:class:`mathutils.Vector` | None, :class:`mathutils.Vector` | None] + + +.. function:: intersect_line_sphere_2d(line_a, line_b, sphere_co, sphere_radius, clip=True, /) + + Takes a line (as 2 points) and a circle (as a point and a radius) and + returns the intersection + + :param line_a: First point of the line + :type line_a: :class:`mathutils.Vector` + :param line_b: Second point of the line + :type line_b: :class:`mathutils.Vector` + :param sphere_co: The center of the circle + :type sphere_co: :class:`mathutils.Vector` + :param sphere_radius: Radius of the circle + :type sphere_radius: float + :param clip: When False, don't restrict the intersection to the line segment. + :type clip: bool + :return: The intersection points as a pair of vectors (each is None when not found). + :rtype: tuple[:class:`mathutils.Vector` | None, :class:`mathutils.Vector` | None] + + +.. function:: intersect_plane_plane(plane_a_co, plane_a_no, plane_b_co, plane_b_no, /) + + Return the intersection between two planes + + :param plane_a_co: Point on the first plane + :type plane_a_co: :class:`mathutils.Vector` + :param plane_a_no: Normal of the first plane + :type plane_a_no: :class:`mathutils.Vector` + :param plane_b_co: Point on the second plane + :type plane_b_co: :class:`mathutils.Vector` + :param plane_b_no: Normal of the second plane + :type plane_b_no: :class:`mathutils.Vector` + :return: The line of the intersection represented as a point and a vector or None if the intersection can't be calculated + :rtype: tuple[:class:`mathutils.Vector`, :class:`mathutils.Vector`] | tuple[None, None] + + +.. function:: intersect_point_line(pt, line_p1, line_p2, /) + + Takes a point and a line and returns the closest point on the line and its parametric distance from the first point of the line. A value of 0.0 is the first point, 1.0 is the second, values outside [0, 1] are extrapolated. + + :param pt: Point + :type pt: :class:`mathutils.Vector` + :param line_p1: First point of the line + :type line_p1: :class:`mathutils.Vector` + :param line_p2: Second point of the line + :type line_p2: :class:`mathutils.Vector` + :return: The closest point on the line and its parametric distance from the first point. + :rtype: tuple[:class:`mathutils.Vector`, float] + + +.. function:: intersect_point_line_segment(pt, seg_p1, seg_p2, /) + + Takes a point and a segment and returns the closest point on the segment and the distance to the segment. + + :param pt: Point + :type pt: :class:`mathutils.Vector` + :param seg_p1: First point of the segment + :type seg_p1: :class:`mathutils.Vector` + :param seg_p2: Second point of the segment + :type seg_p2: :class:`mathutils.Vector` + :return: The closest point on the segment and the distance to the segment. + :rtype: tuple[:class:`mathutils.Vector`, float] + + +.. function:: intersect_point_quad_2d(pt, quad_p1, quad_p2, quad_p3, quad_p4, /) + + Takes 5 vectors (using only the x and y coordinates): one is the point and the next 4 define the quad, + only the x and y are used from the vectors. Returns a non-zero value if the point is within the quad, otherwise 0. + Works only with convex quads without singular edges. + + :param pt: Point + :type pt: :class:`mathutils.Vector` + :param quad_p1: First point of the quad + :type quad_p1: :class:`mathutils.Vector` + :param quad_p2: Second point of the quad + :type quad_p2: :class:`mathutils.Vector` + :param quad_p3: Third point of the quad + :type quad_p3: :class:`mathutils.Vector` + :param quad_p4: Fourth point of the quad + :type quad_p4: :class:`mathutils.Vector` + :return: 1 if inside with CCW winding, -1 if inside with CW winding, otherwise 0. + :rtype: int + + +.. function:: intersect_point_tri(pt, tri_p1, tri_p2, tri_p3, /) + + Takes 4 vectors: one is the point and the next 3 define the triangle. Projects the point onto the triangle plane and checks if it is within the triangle. + + :param pt: Point + :type pt: :class:`mathutils.Vector` + :param tri_p1: First point of the triangle + :type tri_p1: :class:`mathutils.Vector` + :param tri_p2: Second point of the triangle + :type tri_p2: :class:`mathutils.Vector` + :param tri_p3: Third point of the triangle + :type tri_p3: :class:`mathutils.Vector` + :return: Point on the triangle's plane or None if it's outside the triangle + :rtype: :class:`mathutils.Vector` | None + + +.. function:: intersect_point_tri_2d(pt, tri_p1, tri_p2, tri_p3, /) + + Takes 4 vectors (using only the x and y coordinates): one is the point and the next 3 define the triangle. Returns a non-zero value if the point is within the triangle, otherwise 0. + + :param pt: Point + :type pt: :class:`mathutils.Vector` + :param tri_p1: First point of the triangle + :type tri_p1: :class:`mathutils.Vector` + :param tri_p2: Second point of the triangle + :type tri_p2: :class:`mathutils.Vector` + :param tri_p3: Third point of the triangle + :type tri_p3: :class:`mathutils.Vector` + :return: 1 if inside with CCW winding, -1 if inside with CW winding, otherwise 0. + :rtype: int + + +.. function:: intersect_ray_tri(v1, v2, v3, ray, orig, clip=True, /) + + Returns the intersection between a ray and a triangle, if possible, returns None otherwise. + + :param v1: Point1 + :type v1: :class:`mathutils.Vector` + :param v2: Point2 + :type v2: :class:`mathutils.Vector` + :param v3: Point3 + :type v3: :class:`mathutils.Vector` + :param ray: Direction of the ray + :type ray: :class:`mathutils.Vector` + :param orig: Origin + :type orig: :class:`mathutils.Vector` + :param clip: When False, don't restrict the intersection to the area of the triangle, use the infinite plane defined by the triangle. + :type clip: bool + :return: The point of intersection or None if no intersection is found + :rtype: :class:`mathutils.Vector` | None + + +.. function:: intersect_sphere_sphere_2d(p_a, radius_a, p_b, radius_b, /) + + Returns the 2 intersection points of two circles. + + :param p_a: Center of the first circle + :type p_a: :class:`mathutils.Vector` + :param radius_a: Radius of the first circle + :type radius_a: float + :param p_b: Center of the second circle + :type p_b: :class:`mathutils.Vector` + :param radius_b: Radius of the second circle + :type radius_b: float + :return: The 2 intersection points or None when there is no intersection. + :rtype: tuple[:class:`mathutils.Vector`, :class:`mathutils.Vector`] | tuple[None, None] + + +.. function:: intersect_tri_tri_2d(tri_a1, tri_a2, tri_a3, tri_b1, tri_b2, tri_b3, /) + + Check if two 2D triangles intersect. + + :param tri_a1: First vertex of the first triangle. + :type tri_a1: :class:`mathutils.Vector` + :param tri_a2: Second vertex of the first triangle. + :type tri_a2: :class:`mathutils.Vector` + :param tri_a3: Third vertex of the first triangle. + :type tri_a3: :class:`mathutils.Vector` + :param tri_b1: First vertex of the second triangle. + :type tri_b1: :class:`mathutils.Vector` + :param tri_b2: Second vertex of the second triangle. + :type tri_b2: :class:`mathutils.Vector` + :param tri_b3: Third vertex of the second triangle. + :type tri_b3: :class:`mathutils.Vector` + :return: True if the triangles intersect. + :rtype: bool + + +.. function:: normal(*vectors) + + Returns the normal of a 3D polygon. + + :param vectors: 3 or more vectors to calculate normals. + :type vectors: Sequence[Sequence[float]] + :return: The normal vector. + :rtype: :class:`mathutils.Vector` + + +.. function:: points_in_planes(planes, epsilon_coplanar=1e-4, epsilon_isect=1e-6, /) + + Returns a list of points inside all planes given and a list of index values for the planes used. + + :param planes: List of planes (4D vectors). + :type planes: list[:class:`mathutils.Vector`] + :param epsilon_coplanar: Epsilon value for interpreting plane pairs as co-planar. + :type epsilon_coplanar: float + :param epsilon_isect: Epsilon value for intersection. + :type epsilon_isect: float + :return: Two lists, one containing the 3D coordinates inside the planes, another containing the plane indices used. + :rtype: tuple[list[:class:`mathutils.Vector`], list[int]] + + +.. function:: tessellate_polygon(polylines, /) + + Takes a list of polylines (each point a pair or triplet of numbers) and returns the point indices for a polyline filled with triangles. Does not handle degenerate geometry (such as zero-length lines due to consecutive identical points). + + :param polylines: Polygons where each polygon is a sequence of 2D or 3D points. + :type polylines: Sequence[Sequence[Sequence[float]]] + :return: A list of triangles. + :rtype: list[tuple[int, int, int]] + + +.. function:: volume_tetrahedron(v1, v2, v3, v4, /) + + Return the absolute (unsigned) volume formed by a tetrahedron (points can be in any order). + + :param v1: Point1 + :type v1: :class:`mathutils.Vector` + :param v2: Point2 + :type v2: :class:`mathutils.Vector` + :param v3: Point3 + :type v3: :class:`mathutils.Vector` + :param v4: Point4 + :type v4: :class:`mathutils.Vector` + :return: The volume of the tetrahedron. + :rtype: float + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.interpolate.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.interpolate.rst new file mode 100644 index 0000000..cb9a2db --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.interpolate.rst @@ -0,0 +1,19 @@ +Interpolation Utilities (mathutils.interpolate) +=============================================== + +.. module:: mathutils.interpolate + +The Blender interpolate module. + +.. function:: poly_3d_calc(veclist, pt, /) + + Calculate barycentric weights for a point on a polygon. + + :param veclist: Sequence of 3D positions. + :type veclist: Sequence[Sequence[float]] + :param pt: 2D or 3D position. + :type pt: Sequence[float] + :return: A list of weights, one per vertex in *veclist*. + :rtype: list[float] + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.kdtree.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.kdtree.rst new file mode 100644 index 0000000..0e9a21a --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.kdtree.rst @@ -0,0 +1,79 @@ +KDTree Utilities (mathutils.kdtree) +=================================== + +.. module:: mathutils.kdtree + +Generic 3-dimensional kd-tree to perform spatial searches. + + +.. literalinclude:: ./examples/mathutils.kdtree.0.py + +.. class:: KDTree(size) + + KDTree(size) -> new kd-tree initialized to hold up to ``size`` items. + + :param size: Maximum number of items. + :type size: int + + .. note:: + + :meth:`KDTree.balance` must have been called before using any of the ``find`` methods. + + .. method:: balance() + + Balance the tree. + + .. note:: + + This builds the entire tree, avoid calling after each insertion. + + + .. method:: find(co, *, filter=None) + + Find nearest point to ``co``. + + :param co: 3D coordinate. + :type co: Sequence[float] + :param filter: function which takes an index and returns True for indices to include in the search. + :type filter: Callable[[int], bool] | None + :return: Returns (position, index, distance), + or (None, None, None) when no match is found. + :rtype: tuple[:class:`Vector`, int, float] | tuple[None, None, None] + + + .. method:: find_n(co, n) + + Find nearest ``n`` points to ``co``. + + :param co: 3D coordinate. + :type co: Sequence[float] + :param n: Number of points to find. + :type n: int + :return: Returns a list of tuples (position, index, distance). + :rtype: list[tuple[:class:`Vector`, int, float]] + + + .. method:: find_range(co, radius) + + Find all points within ``radius`` of ``co``. + + :param co: 3D coordinate. + :type co: Sequence[float] + :param radius: Maximum distance to search for points. + :type radius: float + :return: Returns a list of tuples (position, index, distance). + :rtype: list[tuple[:class:`Vector`, int, float]] + + + .. method:: insert(co, index) + + Insert a point into the KDTree. + + :param co: Point 3d position. + :type co: Sequence[float] + :param index: The index of the point (must be non-negative). + :type index: int + + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.noise.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.noise.rst new file mode 100644 index 0000000..b249841 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.noise.rst @@ -0,0 +1,258 @@ +Noise Utilities (mathutils.noise) +================================= + +.. module:: mathutils.noise + +The Blender noise module. + +.. function:: cell(position, /) + + Returns cell noise value at the specified position. + + :param position: The position to evaluate the cell noise at. + :type position: :class:`mathutils.Vector` + :return: The cell noise value. + :rtype: float + + +.. function:: cell_vector(position, /) + + Returns cell noise vector at the specified position. + + :param position: The position to evaluate the cell noise at. + :type position: :class:`mathutils.Vector` + :return: The cell noise vector. + :rtype: :class:`mathutils.Vector` + + +.. function:: fractal(position, H, lacunarity, octaves, /, *, noise_basis='PERLIN_ORIGINAL') + + Returns the fractal Brownian motion (fBm) noise value from the noise basis at the specified position. + + :param position: The position to evaluate the selected noise function. + :type position: :class:`mathutils.Vector` + :param H: The fractal increment parameter. + :type H: float + :param lacunarity: The gap between successive frequencies. + :type lacunarity: float + :param octaves: The number of different noise frequencies used. + :type octaves: float + :param noise_basis: A noise basis string. + :type noise_basis: Literal['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'] + :return: The fractal Brownian motion noise value. + :rtype: float + + +.. function:: hetero_terrain(position, H, lacunarity, octaves, offset, /, *, noise_basis='PERLIN_ORIGINAL') + + Returns the heterogeneous terrain value from the noise basis at the specified position. + + :param position: The position to evaluate the selected noise function. + :type position: :class:`mathutils.Vector` + :param H: The fractal dimension of the roughest areas. + :type H: float + :param lacunarity: The gap between successive frequencies. + :type lacunarity: float + :param octaves: The number of different noise frequencies used. + :type octaves: float + :param offset: The height of the terrain above 'sea level'. + :type offset: float + :param noise_basis: A noise basis string. + :type noise_basis: Literal['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'] + :return: The heterogeneous terrain value. + :rtype: float + + +.. function:: hybrid_multi_fractal(position, H, lacunarity, octaves, offset, gain, /, *, noise_basis='PERLIN_ORIGINAL') + + Returns hybrid multifractal value from the noise basis at the specified position. + + :param position: The position to evaluate the selected noise function. + :type position: :class:`mathutils.Vector` + :param H: The fractal dimension of the roughest areas. + :type H: float + :param lacunarity: The gap between successive frequencies. + :type lacunarity: float + :param octaves: The number of different noise frequencies used. + :type octaves: float + :param offset: The height of the terrain above 'sea level'. + :type offset: float + :param gain: Scaling applied to the values. + :type gain: float + :param noise_basis: A noise basis string. + :type noise_basis: Literal['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'] + :return: The hybrid multifractal value. + :rtype: float + + +.. function:: multi_fractal(position, H, lacunarity, octaves, /, *, noise_basis='PERLIN_ORIGINAL') + + Returns multifractal noise value from the noise basis at the specified position. + + :param position: The position to evaluate the selected noise function. + :type position: :class:`mathutils.Vector` + :param H: Determines the highest fractal dimension. + :type H: float + :param lacunarity: The gap between successive frequencies. + :type lacunarity: float + :param octaves: The number of different noise frequencies used. + :type octaves: float + :param noise_basis: A noise basis string. + :type noise_basis: Literal['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'] + :return: The multifractal noise value. + :rtype: float + + +.. function:: noise(position, /, *, noise_basis='PERLIN_ORIGINAL') + + Returns noise value from the noise basis at the position specified. + + :param position: The position to evaluate the selected noise function. + :type position: :class:`mathutils.Vector` + :param noise_basis: A noise basis string. + :type noise_basis: Literal['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'] + :return: The noise value. + :rtype: float + + +.. function:: noise_vector(position, /, *, noise_basis='PERLIN_ORIGINAL') + + Returns the noise vector from the noise basis at the specified position. + + :param position: The position to evaluate the selected noise function. + :type position: :class:`mathutils.Vector` + :param noise_basis: A noise basis string. + :type noise_basis: Literal['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'] + :return: The noise vector. + :rtype: :class:`mathutils.Vector` + + +.. function:: random() + + Returns a random number in the range [0, 1). + + :return: The random number. + :rtype: float + + +.. function:: random_unit_vector(*, size=3) + + Returns a unit vector with random entries. + + :param size: The size of the vector to be produced, in the range [2, 4]. + :type size: int + :return: The random unit vector. + :rtype: :class:`mathutils.Vector` + + +.. function:: random_vector(*, size=3) + + Returns a vector with random entries in the range (-1, 1). + + :param size: The size of the vector to be produced, must be 2 or greater. + :type size: int + :return: The random vector. + :rtype: :class:`mathutils.Vector` + + +.. function:: ridged_multi_fractal(position, H, lacunarity, octaves, offset, gain, /, *, noise_basis='PERLIN_ORIGINAL') + + Returns ridged multifractal value from the noise basis at the specified position. + + :param position: The position to evaluate the selected noise function. + :type position: :class:`mathutils.Vector` + :param H: The fractal dimension of the roughest areas. + :type H: float + :param lacunarity: The gap between successive frequencies. + :type lacunarity: float + :param octaves: The number of different noise frequencies used. + :type octaves: float + :param offset: The height of the terrain above 'sea level'. + :type offset: float + :param gain: Scaling applied to the values. + :type gain: float + :param noise_basis: A noise basis string. + :type noise_basis: Literal['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'] + :return: The ridged multifractal value. + :rtype: float + + +.. function:: seed_set(seed, /) + + Sets the random seed used for random_unit_vector, random_vector, and random. + + :param seed: Seed used for the random generator. + When seed is zero, the current time will be used instead. + :type seed: int + + +.. function:: turbulence(position, octaves, hard, /, *, noise_basis='PERLIN_ORIGINAL', amplitude_scale=0.5, frequency_scale=2.0) + + Returns the turbulence value from the noise basis at the specified position. + + :param position: The position to evaluate the selected noise function. + :type position: :class:`mathutils.Vector` + :param octaves: The number of different noise frequencies used. + :type octaves: int + :param hard: Specifies whether returned turbulence is hard (sharp transitions) or soft (smooth transitions). + :type hard: bool + :param noise_basis: A noise basis string. + :type noise_basis: Literal['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'] + :param amplitude_scale: The amplitude scaling factor. + :type amplitude_scale: float + :param frequency_scale: The frequency scaling factor. + :type frequency_scale: float + :return: The turbulence value. + :rtype: float + + +.. function:: turbulence_vector(position, octaves, hard, /, *, noise_basis='PERLIN_ORIGINAL', amplitude_scale=0.5, frequency_scale=2.0) + + Returns the turbulence vector from the noise basis at the specified position. + + :param position: The position to evaluate the selected noise function. + :type position: :class:`mathutils.Vector` + :param octaves: The number of different noise frequencies used. + :type octaves: int + :param hard: Specifies whether returned turbulence is hard (sharp transitions) or soft (smooth transitions). + :type hard: bool + :param noise_basis: A noise basis string. + :type noise_basis: Literal['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'] + :param amplitude_scale: The amplitude scaling factor. + :type amplitude_scale: float + :param frequency_scale: The frequency scaling factor. + :type frequency_scale: float + :return: The turbulence vector. + :rtype: :class:`mathutils.Vector` + + +.. function:: variable_lacunarity(position, distortion, /, *, noise_type1='PERLIN_ORIGINAL', noise_type2='PERLIN_ORIGINAL') + + Returns variable lacunarity noise value, a distorted variety of noise, from noise type 1 distorted by noise type 2 at the specified position. + + :param position: The position to evaluate the selected noise function. + :type position: :class:`mathutils.Vector` + :param distortion: The amount of distortion. + :type distortion: float + :param noise_type1: A noise type string. + :type noise_type1: Literal['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'] + :param noise_type2: A noise type string. + :type noise_type2: Literal['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'] + :return: The variable lacunarity noise value. + :rtype: float + + +.. function:: voronoi(position, /, *, distance_metric='DISTANCE', exponent=2.5) + + Returns a list of distances to the four closest features and their locations. + + :param position: The position to evaluate the selected noise function. + :type position: :class:`mathutils.Vector` + :param distance_metric: A distance metric string. + :type distance_metric: Literal['DISTANCE', 'DISTANCE_SQUARED', 'MANHATTAN', 'CHEBYCHEV', 'MINKOVSKY', 'MINKOVSKY_HALF', 'MINKOVSKY_FOUR'] + :param exponent: The exponent for Minkowski distance metric. + :type exponent: float + :return: A list of distances to the four closest features and their locations. + :rtype: list[list[float] | list[:class:`mathutils.Vector`]] + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.rst new file mode 100644 index 0000000..fcb6550 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/api/mathutils.rst @@ -0,0 +1,3208 @@ +Math Types & Utilities (mathutils) +================================== + +.. module:: mathutils + +This module provides access to math operations. + +.. note:: + + Classes, methods and attributes that accept vectors also accept other numeric sequences, + such as tuples, lists. + +The :mod:`mathutils` module provides the following classes: + +- :class:`Color`, +- :class:`Euler`, +- :class:`Matrix`, +- :class:`Quaternion`, +- :class:`Vector`, + +.. toctree:: + :maxdepth: 1 + :caption: Submodules + + mathutils.geometry.rst + mathutils.bvhtree.rst + mathutils.kdtree.rst + mathutils.interpolate.rst + mathutils.noise.rst + + +.. literalinclude:: ./examples/mathutils.0.py + +.. class:: Color(rgb=(0.0, 0.0, 0.0), /) + + This object gives access to Colors in Blender. + + Most colors returned by Blender APIs are in scene linear color space, as defined by the OpenColorIO configuration. The notable exception is user interface theming colors, which are in sRGB color space. + + :param rgb: (red, green, blue) color values where (0, 0, 0) is black & (1, 1, 1) is white. + :type rgb: Sequence[float] + + + .. literalinclude:: ./examples/mathutils.Color.0.py + + .. method:: copy() + + Returns a copy of this color. + + :return: A copy of the color. + :rtype: :class:`Color` + + .. note:: use this to get a copy of a wrapped color with + no reference to the original data. + + + .. method:: freeze() + + Make this object immutable. + + After this the object can be hashed, used in dictionaries & sets. + + :return: An instance of this object. + :rtype: Self + + + .. method:: from_aces_to_scene_linear() + + Convert from ACES2065-1 linear to scene linear color space. + + :return: A color in scene linear color space. + :rtype: :class:`Color` + + + .. method:: from_acescg_to_scene_linear() + + Convert from ACEScg linear to scene linear color space. + + :return: A color in scene linear color space. + :rtype: :class:`Color` + + + .. method:: from_rec2020_linear_to_scene_linear() + + Convert from Rec.2020 linear color space to scene linear color space. + + :return: A color in scene linear color space. + :rtype: :class:`Color` + + + .. method:: from_rec709_linear_to_scene_linear() + + Convert from Rec.709 linear color space to scene linear color space. + + :return: A color in scene linear color space. + :rtype: :class:`Color` + + + .. method:: from_scene_linear_to_aces() + + Convert from scene linear to ACES2065-1 linear color space. + + :return: A color in ACES2065-1 linear color space. + :rtype: :class:`Color` + + + .. method:: from_scene_linear_to_acescg() + + Convert from scene linear to ACEScg linear color space. + + :return: A color in ACEScg linear color space. + :rtype: :class:`Color` + + + .. method:: from_scene_linear_to_rec2020_linear() + + Convert from scene linear to Rec.2020 linear color space. + + :return: A color in Rec.2020 linear color space. + :rtype: :class:`Color` + + + .. method:: from_scene_linear_to_rec709_linear() + + Convert from scene linear to Rec.709 linear color space. + + :return: A color in Rec.709 linear color space. + :rtype: :class:`Color` + + + .. method:: from_scene_linear_to_srgb() + + Convert from scene linear to sRGB color space. + + :return: A color in sRGB color space. + :rtype: :class:`Color` + + + .. method:: from_scene_linear_to_xyz_d65() + + Convert from scene linear to CIE XYZ (Illuminant D65) color space. + + :return: A color in XYZ color space. + :rtype: :class:`Color` + + + .. method:: from_srgb_to_scene_linear() + + Convert from sRGB to scene linear color space. + + :return: A color in scene linear color space. + :rtype: :class:`Color` + + + .. method:: from_xyz_d65_to_scene_linear() + + Convert from CIE XYZ (Illuminant D65) to scene linear color space. + + :return: A color in scene linear color space. + :rtype: :class:`Color` + + + .. attribute:: b + + Blue color channel. + + :type: float + + + .. attribute:: g + + Green color channel. + + :type: float + + + .. attribute:: h + + HSV Hue component in [0, 1]. + + :type: float + + + .. attribute:: hsv + + HSV Values in [0, 1]. + + :type: tuple[float, float, float] + + + .. attribute:: is_frozen + + True when this object has been frozen (read-only). + + :type: bool + + + .. attribute:: is_valid + + True when the owner of this data is valid. + + :type: bool + + + .. attribute:: is_wrapped + + True when this object wraps external data (read-only). + + :type: bool + + + .. attribute:: owner + + The item this is wrapping or None (read-only). + + :type: Any + + + .. attribute:: r + + Red color channel. + + :type: float + + + .. attribute:: s + + HSV Saturation component in [0, 1]. + + :type: float + + + .. attribute:: v + + HSV Value component in [0, 1]. + + :type: float + + + + +.. class:: Euler(angles=(0.0, 0.0, 0.0), order='XYZ', /) + + This object gives access to Eulers in Blender. + + .. seealso:: `Euler angles `__ on Wikipedia. + + :param angles: (X, Y, Z) angles in radians. + :type angles: Sequence[float] + :param order: Euler rotation order. + :type order: Literal['XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'] + + + .. literalinclude:: ./examples/mathutils.Euler.0.py + + .. method:: copy() + + Returns a copy of this euler. + + :return: A copy of the euler. + :rtype: :class:`Euler` + + .. note:: use this to get a copy of a wrapped euler with + no reference to the original data. + + + .. method:: freeze() + + Make this object immutable. + + After this the object can be hashed, used in dictionaries & sets. + + :return: An instance of this object. + :rtype: Self + + + .. method:: make_compatible(other, /) + + Make this euler compatible with another, + so interpolating between them works as intended. + + :param other: Other euler rotation. + :type other: :class:`Euler` + + .. note:: the rotation order is not taken into account for this function. + + + .. method:: rotate(other, /) + + Rotates the euler by another mathutils value. + + :param other: rotation component of mathutils value + :type other: :class:`Euler` | :class:`Quaternion` | :class:`Matrix` + + + .. method:: rotate_axis(axis, angle, /) + + Rotates the euler a certain amount, wrapping the result to produce + a unique euler rotation (no 720 degree pitches). + + :param axis: An axis string. + :type axis: Literal['X', 'Y', 'Z'] + :param angle: angle in radians. + :type angle: float + + + .. method:: to_matrix() + + Return a matrix representation of the euler. + + :return: A 3x3 rotation matrix representation of the euler. + :rtype: :class:`Matrix` + + + .. method:: to_quaternion() + + Return a quaternion representation of the euler. + + :return: Quaternion representation of the euler. + :rtype: :class:`Quaternion` + + + .. method:: zero() + + Set all values to zero. + + + .. attribute:: is_frozen + + True when this object has been frozen (read-only). + + :type: bool + + + .. attribute:: is_valid + + True when the owner of this data is valid. + + :type: bool + + + .. attribute:: is_wrapped + + True when this object wraps external data (read-only). + + :type: bool + + + .. attribute:: order + + Euler rotation order. + + :type: Literal['XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'] + + + .. attribute:: owner + + The item this is wrapping or None (read-only). + + :type: Any + + + .. attribute:: x + + Euler axis angle in radians. + + :type: float + + + .. attribute:: y + + Euler axis angle in radians. + + :type: float + + + .. attribute:: z + + Euler axis angle in radians. + + :type: float + + + + +.. class:: Matrix(rows=Matrix.Identity(4), /) + + This object gives access to Matrices in Blender, supporting square and rectangular + matrices from 2x2 up to 4x4. + + :param rows: Sequence of rows. + :type rows: Sequence[Sequence[float]] + + + .. literalinclude:: ./examples/mathutils.Matrix.0.py + + .. classmethod:: Diagonal(vector, /) + + Create a diagonal (scaling) matrix using the values from the vector. + + :param vector: The vector of values for the diagonal. + :type vector: Sequence[float] + :return: A diagonal matrix. + :rtype: :class:`Matrix` + + + .. classmethod:: Identity(size, /) + + Create an identity matrix. + + :param size: The size of the identity matrix to construct [2, 4]. + :type size: int + :return: A new identity matrix. + :rtype: :class:`Matrix` + + + .. classmethod:: LocRotScale(location, rotation, scale, /) + + Create a matrix combining translation, rotation and scale, + acting as the inverse of the decompose() method. + + Any of the inputs may be replaced with None if not needed. + + :param location: The translation component. + :type location: Sequence[float] | None + :param rotation: The rotation component as a 3x3 matrix, quaternion, euler or None for no rotation. + :type rotation: :class:`Matrix` | :class:`Quaternion` | :class:`Euler` | None + :param scale: The scale component. + :type scale: Sequence[float] | None + :return: Combined transformation as a 4x4 matrix. + :rtype: :class:`Matrix` + + + .. literalinclude:: ./examples/mathutils.Matrix.LocRotScale.0.py + + + .. classmethod:: OrthoProjection(axis, size, /) + + Create a matrix to represent an orthographic projection. + + :param axis: An axis string, + where a single axis is for a 2D matrix. + Or a vector for an arbitrary axis + :type axis: Literal['X', 'Y', 'XY', 'XZ', 'YZ'] | Sequence[float] + :param size: The size of the projection matrix to construct [2, 4]. + :type size: int + :return: A new projection matrix. + :rtype: :class:`Matrix` + + + .. classmethod:: Rotation(angle, size, axis, /) + + Create a matrix representing a rotation. + + :param angle: The angle of rotation desired, in radians. + :type angle: float + :param size: The size of the rotation matrix to construct [2, 4]. + :type size: int + :param axis: an axis string or a 3D Vector Object + (optional when size is 2). + :type axis: Literal['X', 'Y', 'Z'] | Sequence[float] + :return: A new rotation matrix. + :rtype: :class:`Matrix` + + + .. classmethod:: Scale(factor, size, axis, /) + + Create a matrix representing a scaling. + + :param factor: The factor of scaling to apply. + :type factor: float + :param size: The size of the scale matrix to construct [2, 4]. + :type size: int + :param axis: Direction to influence scale. (optional). + :type axis: Sequence[float] + :return: A new scale matrix. + :rtype: :class:`Matrix` + + + .. classmethod:: Shear(plane, size, factor, /) + + Create a matrix to represent a shear transformation. + + :param plane: An axis string, + where a single axis is for a 2D matrix only. + :type plane: Literal['X', 'Y', 'XY', 'XZ', 'YZ'] + :param size: The size of the shear matrix to construct [2, 4]. + :type size: int + :param factor: The factor of shear to apply. For a 2 *size* matrix use a single float. For a 3 or 4 *size* matrix pass a pair of floats corresponding with the *plane* axis. + :type factor: float | Sequence[float] + :return: A new shear matrix. + :rtype: :class:`Matrix` + + + .. classmethod:: Translation(vector, /) + + Create a matrix representing a translation. + + :param vector: The translation vector. + :type vector: Sequence[float] + :return: An identity matrix with a translation. + :rtype: :class:`Matrix` + + + .. method:: adjugate() + + Set the matrix to its adjugate. + + :raises ValueError: if the matrix cannot be adjugated. + + .. seealso:: `Adjugate matrix `__ on Wikipedia. + + + .. method:: adjugated() + + Return an adjugated copy of the matrix. + + :return: the adjugated matrix. + :rtype: :class:`Matrix` + :raises ValueError: if the matrix cannot be adjugated + + + .. method:: copy() + + Returns a copy of this matrix. + + :return: A copy of the matrix. + :rtype: :class:`Matrix` + + + .. method:: decompose() + + Return the translation, rotation, and scale components of this 4x4 matrix. + + :return: Tuple of translation, rotation, and scale. + :rtype: tuple[:class:`Vector`, :class:`Quaternion`, :class:`Vector`] + + + .. method:: determinant() + + Return the determinant of a matrix. + + :return: Return the determinant of a matrix. + :rtype: float + + .. seealso:: `Determinant `__ on Wikipedia. + + + .. method:: freeze() + + Make this object immutable. + + After this the object can be hashed, used in dictionaries & sets. + + :return: An instance of this object. + :rtype: Self + + + .. method:: identity() + + Set the matrix to the identity matrix. + + .. note:: An object with a location and rotation of zero, and a scale of one + will have an identity matrix. + + .. seealso:: `Identity matrix `__ on Wikipedia. + + + .. method:: invert(fallback=None, /) + + Set the matrix to its inverse. + + :param fallback: Set the matrix to this value when the inverse cannot be calculated + (instead of raising a :exc:`ValueError` exception). + :type fallback: :class:`Matrix` | None + + .. seealso:: `Inverse matrix `__ on Wikipedia. + + + .. method:: invert_safe() + + Set the matrix to its inverse, will never error. + If degenerated (e.g. zero scale on an axis), add some epsilon to its diagonal, to get an invertible one. + If tweaked matrix is still degenerated, set to the identity matrix instead. + + .. seealso:: `Inverse Matrix `__ on Wikipedia. + + + .. method:: inverted(fallback=None, /) + + Return an inverted copy of the matrix. + + :param fallback: return this when the inverse can't be calculated + (instead of raising a :exc:`ValueError`). + :type fallback: Any + :return: The inverted matrix or fallback when given. + :rtype: :class:`Matrix` | Any + + + .. method:: inverted_safe() + + Return an inverted copy of the matrix, will never error. + If degenerated (e.g. zero scale on an axis), add some epsilon to its diagonal, to get an invertible one. + If tweaked matrix is still degenerated, return the identity matrix instead. + + :return: the inverted matrix. + :rtype: :class:`Matrix` + + + .. method:: lerp(other, factor, /) + + Returns the interpolation of two matrices. Uses polar decomposition, see "Matrix Animation and Polar Decomposition", Shoemake and Duff, 1992. + + :param other: value to interpolate with. + :type other: :class:`Matrix` + :param factor: The interpolation value in [0.0, 1.0]. + :type factor: float + :return: The interpolated matrix. + :rtype: :class:`Matrix` + + + .. method:: normalize() + + Normalize each of the matrix columns (3x3 and 4x4 only). + + .. note:: for 4x4 matrices, the 4th column (translation) is left untouched. + + + .. method:: normalized() + + Return a column normalized matrix (3x3 and 4x4 only). + + :return: a column normalized matrix + :rtype: :class:`Matrix` + + .. note:: for 4x4 matrices, the 4th column (translation) is left untouched. + + + .. method:: resize_4x4() + + Resize the matrix to 4x4. + + + .. method:: rotate(other, /) + + Rotates the matrix by another mathutils value. + + .. note:: The matrix must be 3x3. + + .. note:: If any of the columns are not unit length this may not have desired results. + + :param other: rotation component of mathutils value + :type other: :class:`Euler` | :class:`Quaternion` | :class:`Matrix` + + + .. method:: to_2x2() + + Return a 2x2 copy of this matrix. + + :return: a new matrix. + :rtype: :class:`Matrix` + + + .. method:: to_3x3() + + Return a 3x3 copy of this matrix. + + :return: a new matrix. + :rtype: :class:`Matrix` + + + .. method:: to_4x4() + + Return a 4x4 copy of this matrix. + + :return: a new matrix. + :rtype: :class:`Matrix` + + + .. method:: to_euler(order='XYZ', euler_compat=None, /) + + Return an Euler representation of the rotation matrix + (3x3 or 4x4 matrix only). + + :param order: A rotation order string. + :type order: Literal['XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'] + :param euler_compat: Optional euler argument the new euler will be made + compatible with (no axis flipping between them). + Useful for converting a series of matrices to animation curves. + :type euler_compat: :class:`Euler` | None + :return: Euler representation of the matrix. + :rtype: :class:`Euler` + + + .. method:: to_quaternion() + + Return a quaternion representation of the rotation matrix. + + :return: Quaternion representation of the rotation matrix. + :rtype: :class:`Quaternion` + + + .. method:: to_scale() + + Return the scale part of a 3x3 or 4x4 matrix. + + :return: Return the scale of a matrix. + :rtype: :class:`Vector` + + .. note:: This method does not return a negative scale on any axis because it is not possible to obtain this data from the matrix alone. + + + .. method:: to_translation() + + Return the translation part of a 4x4 matrix. + + :return: Return the translation of a matrix. + :rtype: :class:`Vector` + + + .. method:: transpose() + + Set the matrix to its transpose. + + .. seealso:: `Transpose `__ on Wikipedia. + + + .. method:: transposed() + + Return a new, transposed matrix. + + :return: a transposed matrix + :rtype: :class:`Matrix` + + + .. method:: zero() + + Set all the matrix values to zero. + + + .. attribute:: col + + Access the matrix by columns (read-only). + + :type: :class:`MatrixAccess` + + + .. attribute:: is_frozen + + True when this object has been frozen (read-only). + + :type: bool + + + .. attribute:: is_identity + + True if this is an identity matrix (read-only). + + :type: bool + + + .. attribute:: is_negative + + True if this matrix results in a negative scale, 3x3 and 4x4 only, (read-only). + + :type: bool + + + .. attribute:: is_orthogonal + + True if this matrix is orthogonal, 3x3 and 4x4 only, (read-only). + + :type: bool + + + .. attribute:: is_orthogonal_axis_vectors + + True if this matrix has orthogonal axis vectors, 3x3 and 4x4 only, (read-only). + + :type: bool + + + .. attribute:: is_valid + + True when the owner of this data is valid. + + :type: bool + + + .. attribute:: is_wrapped + + True when this object wraps external data (read-only). + + :type: bool + + + .. attribute:: median_scale + + The average scale applied to each axis (read-only). + + :type: float + + + .. attribute:: owner + + The item this is wrapping or None (read-only). + + :type: Any + + + .. attribute:: row + + Access the matrix by rows (default), (read-only). + + :type: :class:`MatrixAccess` + + + .. attribute:: translation + + The translation component of the matrix. + + :type: :class:`Vector` + + + + +.. class:: MatrixAccess + + An indexable type for accessing matrix rows or columns as :class:`Vector` types. + + + +.. class:: Quaternion(seq=(1.0, 0.0, 0.0, 0.0), angle=0.0, /) + + This object gives access to Quaternions in Blender. + + :param seq: A (w, x, y, z) quaternion, a 3D exponential map vector, + or a 3D axis vector (when *angle* is also provided). + :type seq: Sequence[float] + :param angle: rotation angle, in radians + :type angle: float + + The constructor takes arguments in various forms: + + (), *no args* + Create an identity quaternion + (*wxyz*) + Create a quaternion from a ``(w, x, y, z)`` vector. + (*exponential_map*) + Create a quaternion from a 3d exponential map vector. + + .. seealso:: :meth:`to_exponential_map` + (*axis, angle*) + Create a quaternion representing a rotation of *angle* radians over *axis*. + + .. seealso:: :meth:`to_axis_angle` + + + .. literalinclude:: ./examples/mathutils.Quaternion.0.py + + .. method:: conjugate() + + Set the quaternion to its conjugate (negate x, y, z). + + + .. method:: conjugated() + + Return a new conjugated quaternion. + + :return: a new quaternion. + :rtype: :class:`Quaternion` + + + .. method:: copy() + + Returns a copy of this quaternion. + + :return: A copy of the quaternion. + :rtype: :class:`Quaternion` + + .. note:: use this to get a copy of a wrapped quaternion with + no reference to the original data. + + + .. method:: cross(other, /) + + Return the cross product of this quaternion and another. + + :param other: The other quaternion to perform the cross product with. + :type other: :class:`Quaternion` + :return: The cross product. + :rtype: :class:`Quaternion` + + + .. method:: dot(other, /) + + Return the dot product of this quaternion and another. + + :param other: The other quaternion to perform the dot product with. + :type other: :class:`Quaternion` + :return: The dot product. + :rtype: float + + + .. method:: freeze() + + Make this object immutable. + + After this the object can be hashed, used in dictionaries & sets. + + :return: An instance of this object. + :rtype: Self + + + .. method:: identity() + + Set the quaternion to an identity quaternion. + + + .. method:: invert() + + Set the quaternion to its inverse. + + + .. method:: inverted() + + Return a new, inverted quaternion. + + :return: the inverted value. + :rtype: :class:`Quaternion` + + + .. method:: make_compatible(other, /) + + Make this quaternion compatible with another, + so interpolating between them works as intended. + + :param other: The reference quaternion to make this one compatible with. + :type other: :class:`Quaternion` + + + .. method:: negate() + + Set the quaternion to its negative. + + + .. method:: normalize() + + Normalize the quaternion. + + + .. method:: normalized() + + Return a new normalized quaternion. + + :return: a normalized copy. + :rtype: :class:`Quaternion` + + + .. method:: rotate(other, /) + + Rotates the quaternion by another mathutils value. + + :param other: rotation component of mathutils value + :type other: :class:`Euler` | :class:`Quaternion` | :class:`Matrix` + + + .. method:: rotation_difference(other, /) + + Returns a quaternion representing the rotational difference. + + :param other: second quaternion. + :type other: :class:`Quaternion` + :return: the rotational difference between the two quat rotations. + :rtype: :class:`Quaternion` + + + .. method:: slerp(other, factor, /) + + Returns the interpolation of two quaternions. + + :param other: value to interpolate with. + :type other: :class:`Quaternion` + :param factor: The interpolation value in [0.0, 1.0]. + :type factor: float + :return: The interpolated rotation. + :rtype: :class:`Quaternion` + + + .. method:: to_axis_angle() + + Return the axis, angle representation of the quaternion. + + :return: Axis, angle. + :rtype: tuple[:class:`Vector`, float] + + + .. method:: to_euler(order='XYZ', euler_compat=None, /) + + Return Euler representation of the quaternion. + + :param order: Rotation order. + :type order: Literal['XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'] + :param euler_compat: Optional euler argument the new euler will be made + compatible with (no axis flipping between them). + Useful for converting a series of quaternions to animation curves. + :type euler_compat: :class:`Euler` | None + :return: Euler representation of the quaternion. + :rtype: :class:`Euler` + + + .. method:: to_exponential_map() + + Return the exponential map representation of the quaternion. + + This representation consists of the rotation axis multiplied by the rotation angle. + Such a representation is useful for interpolation between multiple orientations. + + :return: 3D exponential map. + :rtype: :class:`Vector` + + To convert back to a quaternion, pass it to the :class:`Quaternion` constructor. + + + .. method:: to_matrix() + + Return a matrix representation of the quaternion. + + :return: A 3x3 rotation matrix representation of the quaternion. + :rtype: :class:`Matrix` + + + .. method:: to_swing_twist(axis, /) + + Split the rotation into a swing quaternion with the specified + axis fixed at zero, and the remaining twist rotation angle. + + :param axis: Twist axis as a string. + :type axis: Literal['X', 'Y', 'Z'] + :return: Swing, twist angle. + :rtype: tuple[:class:`Quaternion`, float] + + + .. attribute:: angle + + Angle of the quaternion. + + :type: float + + + .. attribute:: axis + + Quaternion axis as a vector. + + :type: :class:`Vector` + + + .. attribute:: is_frozen + + True when this object has been frozen (read-only). + + :type: bool + + + .. attribute:: is_valid + + True when the owner of this data is valid. + + :type: bool + + + .. attribute:: is_wrapped + + True when this object wraps external data (read-only). + + :type: bool + + + .. attribute:: magnitude + + Size of the quaternion (read-only). + + :type: float + + + .. attribute:: owner + + The item this is wrapping or None (read-only). + + :type: Any + + + .. attribute:: w + + Quaternion component value. + + :type: float + + + .. attribute:: x + + Quaternion component value. + + :type: float + + + .. attribute:: y + + Quaternion component value. + + :type: float + + + .. attribute:: z + + Quaternion component value. + + :type: float + + + + +.. class:: Vector(seq=(0.0, 0.0, 0.0), /) + + This object gives access to Vectors in Blender. + + :param seq: Components of the vector, must be a sequence of at least two. + :type seq: Sequence[float] + + + .. literalinclude:: ./examples/mathutils.Vector.0.py + + .. classmethod:: Fill(size, fill=0.0, /) + + Create a vector of length size with all values set to fill. + + :param size: The length of the vector to be created. + :type size: int + :param fill: The value used to fill the vector. + :type fill: float + :return: A new vector. + :rtype: :class:`Vector` + + + .. classmethod:: Linspace(start, stop, size, /) + + Create a vector of the specified size which is filled with linearly spaced values between start and stop values. + + :param start: The start of the range used to fill the vector. + :type start: float + :param stop: The end of the range used to fill the vector. + :type stop: float + :param size: The size of the vector to be created. + :type size: int + :return: A new vector. + :rtype: :class:`Vector` + + + .. classmethod:: Range(start, stop, step=1, /) + + Create a vector filled with a range of values. + + This method can also be called with a single argument, in which case the argument is interpreted as ``stop`` and ``start`` defaults to 0. + + :param start: The start of the range used to fill the vector. + :type start: int + :param stop: The end of the range used to fill the vector. + :type stop: int + :param step: The step between successive values in the vector. + :type step: int + :return: A new vector. + :rtype: :class:`Vector` + + + .. classmethod:: Repeat(vector, size, /) + + Create a vector by repeating the values in vector until the required size is reached. + + :param vector: The vector to draw values from. + :type vector: :class:`Vector` + :param size: The size of the vector to be created. + :type size: int + :return: A new vector. + :rtype: :class:`Vector` + + + .. method:: angle(other, fallback=None, /) + + Return the angle between two vectors. + + .. note:: For 4D vectors, only the x, y, z components are used. + + :param other: another vector to compare the angle with + :type other: :class:`Vector` + :param fallback: return this when the angle can't be calculated (zero length vector), + (instead of raising a :exc:`ValueError`). + :type fallback: Any + :return: angle in radians or fallback when given + :rtype: float | Any + + + .. method:: angle_signed(other, fallback=None, /) + + Return the signed angle between two 2D vectors (clockwise is positive). + + :param other: another vector to compare the angle with + :type other: :class:`Vector` + :param fallback: return this when the angle can't be calculated (zero length vector), + (instead of raising a :exc:`ValueError`). + :type fallback: Any + :return: angle in radians or fallback when given + :rtype: float | Any + + + .. method:: copy() + + Returns a copy of this vector. + + :return: A copy of the vector. + :rtype: :class:`Vector` + + .. note:: use this to get a copy of a wrapped vector with + no reference to the original data. + + + .. method:: cross(other, /) + + Return the cross product of this vector and another. + + :param other: The other vector to perform the cross product with. + :type other: :class:`Vector` + :return: The cross product as a vector or a float when 2D vectors are used. + :rtype: :class:`Vector` | float + + .. note:: both vectors must be 2D or 3D + + + .. method:: dot(other, /) + + Return the dot product of this vector and another. + + :param other: The other vector to perform the dot product with. + :type other: :class:`Vector` + :return: The dot product. + :rtype: float + + + .. method:: freeze() + + Make this object immutable. + + After this the object can be hashed, used in dictionaries & sets. + + :return: An instance of this object. + :rtype: Self + + + .. method:: lerp(other, factor, /) + + Returns the interpolation of two vectors. + + :param other: value to interpolate with. + :type other: :class:`Vector` + :param factor: The interpolation value in [0.0, 1.0]. + :type factor: float + :return: The interpolated vector. + :rtype: :class:`Vector` + + + .. method:: negate() + + Set all values to their negative. + + + .. method:: normalize() + + Normalize the vector, making the length of the vector always 1.0. + + .. warning:: Normalizing a vector where all values are zero has no effect. + + .. note:: For 4D vectors, only the x, y, z components are normalized; + the w component is left untouched. + The resulting 4D vector may not have unit length. + + + .. method:: normalized() + + Return a new, normalized vector. + + .. note:: For 4D vectors, only the x, y, z components are normalized; + the w component is left untouched. + The resulting 4D vector may not have unit length. + + :return: a normalized copy of the vector + :rtype: :class:`Vector` + + + .. method:: orthogonal() + + Return a perpendicular vector. + + :return: a new vector 90 degrees from this vector. + :rtype: :class:`Vector` + + .. note:: the axis is undefined, only use when any orthogonal vector is acceptable. + + + .. method:: project(other, /) + + Return the projection of this vector onto the *other*. + + :param other: second vector. + :type other: :class:`Vector` + :return: the parallel projection vector + :rtype: :class:`Vector` + + + .. method:: reflect(mirror, /) + + Return the reflection vector from the *mirror* argument. + + :param mirror: This vector could be a normal from the reflecting surface. + :type mirror: :class:`Vector` + :return: The reflected vector matching the size of this vector. + :rtype: :class:`Vector` + + + .. method:: resize(size, /) + + Resize the vector to have size number of elements. + + :param size: The new size of the vector. + :type size: int + + + .. method:: resize_2d() + + Resize the vector to 2D (x, y). + + + .. method:: resize_3d() + + Resize the vector to 3D (x, y, z). + + + .. method:: resize_4d() + + Resize the vector to 4D (x, y, z, w). + + + .. method:: resized(size, /) + + Return a resized copy of the vector with size number of elements. + + :param size: The new size of the vector. + :type size: int + :return: A new vector. + :rtype: :class:`Vector` + + + .. method:: rotate(other, /) + + Rotate the vector by a rotation value. + + .. note:: 2D vectors are a special case that can only be rotated by a 2x2 matrix. + + :param other: rotation component of mathutils value + :type other: :class:`Euler` | :class:`Quaternion` | :class:`Matrix` + + + .. method:: rotation_difference(other, /) + + Returns a quaternion representing the rotational difference between this + vector and another. + + :param other: second vector. + :type other: :class:`Vector` + :return: the rotational difference between the two vectors. + :rtype: :class:`Quaternion` + + .. note:: 2D vectors raise an :exc:`AttributeError`. + + + .. method:: slerp(other, factor, fallback=None, /) + + Returns the interpolation of two non-zero vectors (spherical coordinates). + + :param other: value to interpolate with. + :type other: :class:`Vector` + :param factor: The interpolation value typically in [0.0, 1.0]. + :type factor: float + :param fallback: return this when the vector can't be calculated (zero length vector or direct opposites), + (instead of raising a :exc:`ValueError`). + :type fallback: Any + :return: The interpolated vector. + :rtype: :class:`Vector` + + + .. method:: to_2d() + + Return a 2d copy of the vector. + + :return: a new vector + :rtype: :class:`Vector` + + + .. method:: to_3d() + + Return a 3d copy of the vector. + + :return: a new vector + :rtype: :class:`Vector` + + + .. method:: to_4d() + + Return a 4d copy of the vector. + + :return: a new vector + :rtype: :class:`Vector` + + + .. method:: to_track_quat(track='Z', up='Y', /) + + Return a quaternion rotation from the vector and the track and up axis. + + :param track: Track axis string. + :type track: Literal['X', 'Y', 'Z', '-X', '-Y', '-Z'] + :param up: Up axis string. + :type up: Literal['X', 'Y', 'Z'] + :return: rotation from the vector and the track and up axis. + :rtype: :class:`Quaternion` + + + .. method:: to_tuple(precision=-1, /) + + Return this vector as a tuple with a given precision. + + :param precision: The number to round the value to in [-1, 21]. + :type precision: int + :return: the values of the vector rounded by *precision* + :rtype: tuple[float, ...] + + + .. method:: zero() + + Set all values to zero. + + + .. attribute:: is_frozen + + True when this object has been frozen (read-only). + + :type: bool + + + .. attribute:: is_valid + + True when the owner of this data is valid. + + :type: bool + + + .. attribute:: is_wrapped + + True when this object wraps external data (read-only). + + :type: bool + + + .. attribute:: length + + Vector Length. + + :type: float + + + .. attribute:: length_squared + + Vector length squared (v.dot(v)). + + :type: float + + + .. attribute:: magnitude + + Vector Length. + + :type: float + + + .. attribute:: owner + + The item this is wrapping or None (read-only). + + :type: Any + + + .. attribute:: w + + Vector W axis (4D Vectors only). + + :type: float + + + .. attribute:: ww + + :type: :class:`Vector` + + + .. attribute:: www + + :type: :class:`Vector` + + + .. attribute:: wwww + + :type: :class:`Vector` + + + .. attribute:: wwwx + + :type: :class:`Vector` + + + .. attribute:: wwwy + + :type: :class:`Vector` + + + .. attribute:: wwwz + + :type: :class:`Vector` + + + .. attribute:: wwx + + :type: :class:`Vector` + + + .. attribute:: wwxw + + :type: :class:`Vector` + + + .. attribute:: wwxx + + :type: :class:`Vector` + + + .. attribute:: wwxy + + :type: :class:`Vector` + + + .. attribute:: wwxz + + :type: :class:`Vector` + + + .. attribute:: wwy + + :type: :class:`Vector` + + + .. attribute:: wwyw + + :type: :class:`Vector` + + + .. attribute:: wwyx + + :type: :class:`Vector` + + + .. attribute:: wwyy + + :type: :class:`Vector` + + + .. attribute:: wwyz + + :type: :class:`Vector` + + + .. attribute:: wwz + + :type: :class:`Vector` + + + .. attribute:: wwzw + + :type: :class:`Vector` + + + .. attribute:: wwzx + + :type: :class:`Vector` + + + .. attribute:: wwzy + + :type: :class:`Vector` + + + .. attribute:: wwzz + + :type: :class:`Vector` + + + .. attribute:: wx + + :type: :class:`Vector` + + + .. attribute:: wxw + + :type: :class:`Vector` + + + .. attribute:: wxww + + :type: :class:`Vector` + + + .. attribute:: wxwx + + :type: :class:`Vector` + + + .. attribute:: wxwy + + :type: :class:`Vector` + + + .. attribute:: wxwz + + :type: :class:`Vector` + + + .. attribute:: wxx + + :type: :class:`Vector` + + + .. attribute:: wxxw + + :type: :class:`Vector` + + + .. attribute:: wxxx + + :type: :class:`Vector` + + + .. attribute:: wxxy + + :type: :class:`Vector` + + + .. attribute:: wxxz + + :type: :class:`Vector` + + + .. attribute:: wxy + + :type: :class:`Vector` + + + .. attribute:: wxyw + + :type: :class:`Vector` + + + .. attribute:: wxyx + + :type: :class:`Vector` + + + .. attribute:: wxyy + + :type: :class:`Vector` + + + .. attribute:: wxyz + + :type: :class:`Vector` + + + .. attribute:: wxz + + :type: :class:`Vector` + + + .. attribute:: wxzw + + :type: :class:`Vector` + + + .. attribute:: wxzx + + :type: :class:`Vector` + + + .. attribute:: wxzy + + :type: :class:`Vector` + + + .. attribute:: wxzz + + :type: :class:`Vector` + + + .. attribute:: wy + + :type: :class:`Vector` + + + .. attribute:: wyw + + :type: :class:`Vector` + + + .. attribute:: wyww + + :type: :class:`Vector` + + + .. attribute:: wywx + + :type: :class:`Vector` + + + .. attribute:: wywy + + :type: :class:`Vector` + + + .. attribute:: wywz + + :type: :class:`Vector` + + + .. attribute:: wyx + + :type: :class:`Vector` + + + .. attribute:: wyxw + + :type: :class:`Vector` + + + .. attribute:: wyxx + + :type: :class:`Vector` + + + .. attribute:: wyxy + + :type: :class:`Vector` + + + .. attribute:: wyxz + + :type: :class:`Vector` + + + .. attribute:: wyy + + :type: :class:`Vector` + + + .. attribute:: wyyw + + :type: :class:`Vector` + + + .. attribute:: wyyx + + :type: :class:`Vector` + + + .. attribute:: wyyy + + :type: :class:`Vector` + + + .. attribute:: wyyz + + :type: :class:`Vector` + + + .. attribute:: wyz + + :type: :class:`Vector` + + + .. attribute:: wyzw + + :type: :class:`Vector` + + + .. attribute:: wyzx + + :type: :class:`Vector` + + + .. attribute:: wyzy + + :type: :class:`Vector` + + + .. attribute:: wyzz + + :type: :class:`Vector` + + + .. attribute:: wz + + :type: :class:`Vector` + + + .. attribute:: wzw + + :type: :class:`Vector` + + + .. attribute:: wzww + + :type: :class:`Vector` + + + .. attribute:: wzwx + + :type: :class:`Vector` + + + .. attribute:: wzwy + + :type: :class:`Vector` + + + .. attribute:: wzwz + + :type: :class:`Vector` + + + .. attribute:: wzx + + :type: :class:`Vector` + + + .. attribute:: wzxw + + :type: :class:`Vector` + + + .. attribute:: wzxx + + :type: :class:`Vector` + + + .. attribute:: wzxy + + :type: :class:`Vector` + + + .. attribute:: wzxz + + :type: :class:`Vector` + + + .. attribute:: wzy + + :type: :class:`Vector` + + + .. attribute:: wzyw + + :type: :class:`Vector` + + + .. attribute:: wzyx + + :type: :class:`Vector` + + + .. attribute:: wzyy + + :type: :class:`Vector` + + + .. attribute:: wzyz + + :type: :class:`Vector` + + + .. attribute:: wzz + + :type: :class:`Vector` + + + .. attribute:: wzzw + + :type: :class:`Vector` + + + .. attribute:: wzzx + + :type: :class:`Vector` + + + .. attribute:: wzzy + + :type: :class:`Vector` + + + .. attribute:: wzzz + + :type: :class:`Vector` + + + .. attribute:: x + + Vector X axis. + + :type: float + + + .. attribute:: xw + + :type: :class:`Vector` + + + .. attribute:: xww + + :type: :class:`Vector` + + + .. attribute:: xwww + + :type: :class:`Vector` + + + .. attribute:: xwwx + + :type: :class:`Vector` + + + .. attribute:: xwwy + + :type: :class:`Vector` + + + .. attribute:: xwwz + + :type: :class:`Vector` + + + .. attribute:: xwx + + :type: :class:`Vector` + + + .. attribute:: xwxw + + :type: :class:`Vector` + + + .. attribute:: xwxx + + :type: :class:`Vector` + + + .. attribute:: xwxy + + :type: :class:`Vector` + + + .. attribute:: xwxz + + :type: :class:`Vector` + + + .. attribute:: xwy + + :type: :class:`Vector` + + + .. attribute:: xwyw + + :type: :class:`Vector` + + + .. attribute:: xwyx + + :type: :class:`Vector` + + + .. attribute:: xwyy + + :type: :class:`Vector` + + + .. attribute:: xwyz + + :type: :class:`Vector` + + + .. attribute:: xwz + + :type: :class:`Vector` + + + .. attribute:: xwzw + + :type: :class:`Vector` + + + .. attribute:: xwzx + + :type: :class:`Vector` + + + .. attribute:: xwzy + + :type: :class:`Vector` + + + .. attribute:: xwzz + + :type: :class:`Vector` + + + .. attribute:: xx + + :type: :class:`Vector` + + + .. attribute:: xxw + + :type: :class:`Vector` + + + .. attribute:: xxww + + :type: :class:`Vector` + + + .. attribute:: xxwx + + :type: :class:`Vector` + + + .. attribute:: xxwy + + :type: :class:`Vector` + + + .. attribute:: xxwz + + :type: :class:`Vector` + + + .. attribute:: xxx + + :type: :class:`Vector` + + + .. attribute:: xxxw + + :type: :class:`Vector` + + + .. attribute:: xxxx + + :type: :class:`Vector` + + + .. attribute:: xxxy + + :type: :class:`Vector` + + + .. attribute:: xxxz + + :type: :class:`Vector` + + + .. attribute:: xxy + + :type: :class:`Vector` + + + .. attribute:: xxyw + + :type: :class:`Vector` + + + .. attribute:: xxyx + + :type: :class:`Vector` + + + .. attribute:: xxyy + + :type: :class:`Vector` + + + .. attribute:: xxyz + + :type: :class:`Vector` + + + .. attribute:: xxz + + :type: :class:`Vector` + + + .. attribute:: xxzw + + :type: :class:`Vector` + + + .. attribute:: xxzx + + :type: :class:`Vector` + + + .. attribute:: xxzy + + :type: :class:`Vector` + + + .. attribute:: xxzz + + :type: :class:`Vector` + + + .. attribute:: xy + + :type: :class:`Vector` + + + .. attribute:: xyw + + :type: :class:`Vector` + + + .. attribute:: xyww + + :type: :class:`Vector` + + + .. attribute:: xywx + + :type: :class:`Vector` + + + .. attribute:: xywy + + :type: :class:`Vector` + + + .. attribute:: xywz + + :type: :class:`Vector` + + + .. attribute:: xyx + + :type: :class:`Vector` + + + .. attribute:: xyxw + + :type: :class:`Vector` + + + .. attribute:: xyxx + + :type: :class:`Vector` + + + .. attribute:: xyxy + + :type: :class:`Vector` + + + .. attribute:: xyxz + + :type: :class:`Vector` + + + .. attribute:: xyy + + :type: :class:`Vector` + + + .. attribute:: xyyw + + :type: :class:`Vector` + + + .. attribute:: xyyx + + :type: :class:`Vector` + + + .. attribute:: xyyy + + :type: :class:`Vector` + + + .. attribute:: xyyz + + :type: :class:`Vector` + + + .. attribute:: xyz + + :type: :class:`Vector` + + + .. attribute:: xyzw + + :type: :class:`Vector` + + + .. attribute:: xyzx + + :type: :class:`Vector` + + + .. attribute:: xyzy + + :type: :class:`Vector` + + + .. attribute:: xyzz + + :type: :class:`Vector` + + + .. attribute:: xz + + :type: :class:`Vector` + + + .. attribute:: xzw + + :type: :class:`Vector` + + + .. attribute:: xzww + + :type: :class:`Vector` + + + .. attribute:: xzwx + + :type: :class:`Vector` + + + .. attribute:: xzwy + + :type: :class:`Vector` + + + .. attribute:: xzwz + + :type: :class:`Vector` + + + .. attribute:: xzx + + :type: :class:`Vector` + + + .. attribute:: xzxw + + :type: :class:`Vector` + + + .. attribute:: xzxx + + :type: :class:`Vector` + + + .. attribute:: xzxy + + :type: :class:`Vector` + + + .. attribute:: xzxz + + :type: :class:`Vector` + + + .. attribute:: xzy + + :type: :class:`Vector` + + + .. attribute:: xzyw + + :type: :class:`Vector` + + + .. attribute:: xzyx + + :type: :class:`Vector` + + + .. attribute:: xzyy + + :type: :class:`Vector` + + + .. attribute:: xzyz + + :type: :class:`Vector` + + + .. attribute:: xzz + + :type: :class:`Vector` + + + .. attribute:: xzzw + + :type: :class:`Vector` + + + .. attribute:: xzzx + + :type: :class:`Vector` + + + .. attribute:: xzzy + + :type: :class:`Vector` + + + .. attribute:: xzzz + + :type: :class:`Vector` + + + .. attribute:: y + + Vector Y axis. + + :type: float + + + .. attribute:: yw + + :type: :class:`Vector` + + + .. attribute:: yww + + :type: :class:`Vector` + + + .. attribute:: ywww + + :type: :class:`Vector` + + + .. attribute:: ywwx + + :type: :class:`Vector` + + + .. attribute:: ywwy + + :type: :class:`Vector` + + + .. attribute:: ywwz + + :type: :class:`Vector` + + + .. attribute:: ywx + + :type: :class:`Vector` + + + .. attribute:: ywxw + + :type: :class:`Vector` + + + .. attribute:: ywxx + + :type: :class:`Vector` + + + .. attribute:: ywxy + + :type: :class:`Vector` + + + .. attribute:: ywxz + + :type: :class:`Vector` + + + .. attribute:: ywy + + :type: :class:`Vector` + + + .. attribute:: ywyw + + :type: :class:`Vector` + + + .. attribute:: ywyx + + :type: :class:`Vector` + + + .. attribute:: ywyy + + :type: :class:`Vector` + + + .. attribute:: ywyz + + :type: :class:`Vector` + + + .. attribute:: ywz + + :type: :class:`Vector` + + + .. attribute:: ywzw + + :type: :class:`Vector` + + + .. attribute:: ywzx + + :type: :class:`Vector` + + + .. attribute:: ywzy + + :type: :class:`Vector` + + + .. attribute:: ywzz + + :type: :class:`Vector` + + + .. attribute:: yx + + :type: :class:`Vector` + + + .. attribute:: yxw + + :type: :class:`Vector` + + + .. attribute:: yxww + + :type: :class:`Vector` + + + .. attribute:: yxwx + + :type: :class:`Vector` + + + .. attribute:: yxwy + + :type: :class:`Vector` + + + .. attribute:: yxwz + + :type: :class:`Vector` + + + .. attribute:: yxx + + :type: :class:`Vector` + + + .. attribute:: yxxw + + :type: :class:`Vector` + + + .. attribute:: yxxx + + :type: :class:`Vector` + + + .. attribute:: yxxy + + :type: :class:`Vector` + + + .. attribute:: yxxz + + :type: :class:`Vector` + + + .. attribute:: yxy + + :type: :class:`Vector` + + + .. attribute:: yxyw + + :type: :class:`Vector` + + + .. attribute:: yxyx + + :type: :class:`Vector` + + + .. attribute:: yxyy + + :type: :class:`Vector` + + + .. attribute:: yxyz + + :type: :class:`Vector` + + + .. attribute:: yxz + + :type: :class:`Vector` + + + .. attribute:: yxzw + + :type: :class:`Vector` + + + .. attribute:: yxzx + + :type: :class:`Vector` + + + .. attribute:: yxzy + + :type: :class:`Vector` + + + .. attribute:: yxzz + + :type: :class:`Vector` + + + .. attribute:: yy + + :type: :class:`Vector` + + + .. attribute:: yyw + + :type: :class:`Vector` + + + .. attribute:: yyww + + :type: :class:`Vector` + + + .. attribute:: yywx + + :type: :class:`Vector` + + + .. attribute:: yywy + + :type: :class:`Vector` + + + .. attribute:: yywz + + :type: :class:`Vector` + + + .. attribute:: yyx + + :type: :class:`Vector` + + + .. attribute:: yyxw + + :type: :class:`Vector` + + + .. attribute:: yyxx + + :type: :class:`Vector` + + + .. attribute:: yyxy + + :type: :class:`Vector` + + + .. attribute:: yyxz + + :type: :class:`Vector` + + + .. attribute:: yyy + + :type: :class:`Vector` + + + .. attribute:: yyyw + + :type: :class:`Vector` + + + .. attribute:: yyyx + + :type: :class:`Vector` + + + .. attribute:: yyyy + + :type: :class:`Vector` + + + .. attribute:: yyyz + + :type: :class:`Vector` + + + .. attribute:: yyz + + :type: :class:`Vector` + + + .. attribute:: yyzw + + :type: :class:`Vector` + + + .. attribute:: yyzx + + :type: :class:`Vector` + + + .. attribute:: yyzy + + :type: :class:`Vector` + + + .. attribute:: yyzz + + :type: :class:`Vector` + + + .. attribute:: yz + + :type: :class:`Vector` + + + .. attribute:: yzw + + :type: :class:`Vector` + + + .. attribute:: yzww + + :type: :class:`Vector` + + + .. attribute:: yzwx + + :type: :class:`Vector` + + + .. attribute:: yzwy + + :type: :class:`Vector` + + + .. attribute:: yzwz + + :type: :class:`Vector` + + + .. attribute:: yzx + + :type: :class:`Vector` + + + .. attribute:: yzxw + + :type: :class:`Vector` + + + .. attribute:: yzxx + + :type: :class:`Vector` + + + .. attribute:: yzxy + + :type: :class:`Vector` + + + .. attribute:: yzxz + + :type: :class:`Vector` + + + .. attribute:: yzy + + :type: :class:`Vector` + + + .. attribute:: yzyw + + :type: :class:`Vector` + + + .. attribute:: yzyx + + :type: :class:`Vector` + + + .. attribute:: yzyy + + :type: :class:`Vector` + + + .. attribute:: yzyz + + :type: :class:`Vector` + + + .. attribute:: yzz + + :type: :class:`Vector` + + + .. attribute:: yzzw + + :type: :class:`Vector` + + + .. attribute:: yzzx + + :type: :class:`Vector` + + + .. attribute:: yzzy + + :type: :class:`Vector` + + + .. attribute:: yzzz + + :type: :class:`Vector` + + + .. attribute:: z + + Vector Z axis (3D Vectors only). + + :type: float + + + .. attribute:: zw + + :type: :class:`Vector` + + + .. attribute:: zww + + :type: :class:`Vector` + + + .. attribute:: zwww + + :type: :class:`Vector` + + + .. attribute:: zwwx + + :type: :class:`Vector` + + + .. attribute:: zwwy + + :type: :class:`Vector` + + + .. attribute:: zwwz + + :type: :class:`Vector` + + + .. attribute:: zwx + + :type: :class:`Vector` + + + .. attribute:: zwxw + + :type: :class:`Vector` + + + .. attribute:: zwxx + + :type: :class:`Vector` + + + .. attribute:: zwxy + + :type: :class:`Vector` + + + .. attribute:: zwxz + + :type: :class:`Vector` + + + .. attribute:: zwy + + :type: :class:`Vector` + + + .. attribute:: zwyw + + :type: :class:`Vector` + + + .. attribute:: zwyx + + :type: :class:`Vector` + + + .. attribute:: zwyy + + :type: :class:`Vector` + + + .. attribute:: zwyz + + :type: :class:`Vector` + + + .. attribute:: zwz + + :type: :class:`Vector` + + + .. attribute:: zwzw + + :type: :class:`Vector` + + + .. attribute:: zwzx + + :type: :class:`Vector` + + + .. attribute:: zwzy + + :type: :class:`Vector` + + + .. attribute:: zwzz + + :type: :class:`Vector` + + + .. attribute:: zx + + :type: :class:`Vector` + + + .. attribute:: zxw + + :type: :class:`Vector` + + + .. attribute:: zxww + + :type: :class:`Vector` + + + .. attribute:: zxwx + + :type: :class:`Vector` + + + .. attribute:: zxwy + + :type: :class:`Vector` + + + .. attribute:: zxwz + + :type: :class:`Vector` + + + .. attribute:: zxx + + :type: :class:`Vector` + + + .. attribute:: zxxw + + :type: :class:`Vector` + + + .. attribute:: zxxx + + :type: :class:`Vector` + + + .. attribute:: zxxy + + :type: :class:`Vector` + + + .. attribute:: zxxz + + :type: :class:`Vector` + + + .. attribute:: zxy + + :type: :class:`Vector` + + + .. attribute:: zxyw + + :type: :class:`Vector` + + + .. attribute:: zxyx + + :type: :class:`Vector` + + + .. attribute:: zxyy + + :type: :class:`Vector` + + + .. attribute:: zxyz + + :type: :class:`Vector` + + + .. attribute:: zxz + + :type: :class:`Vector` + + + .. attribute:: zxzw + + :type: :class:`Vector` + + + .. attribute:: zxzx + + :type: :class:`Vector` + + + .. attribute:: zxzy + + :type: :class:`Vector` + + + .. attribute:: zxzz + + :type: :class:`Vector` + + + .. attribute:: zy + + :type: :class:`Vector` + + + .. attribute:: zyw + + :type: :class:`Vector` + + + .. attribute:: zyww + + :type: :class:`Vector` + + + .. attribute:: zywx + + :type: :class:`Vector` + + + .. attribute:: zywy + + :type: :class:`Vector` + + + .. attribute:: zywz + + :type: :class:`Vector` + + + .. attribute:: zyx + + :type: :class:`Vector` + + + .. attribute:: zyxw + + :type: :class:`Vector` + + + .. attribute:: zyxx + + :type: :class:`Vector` + + + .. attribute:: zyxy + + :type: :class:`Vector` + + + .. attribute:: zyxz + + :type: :class:`Vector` + + + .. attribute:: zyy + + :type: :class:`Vector` + + + .. attribute:: zyyw + + :type: :class:`Vector` + + + .. attribute:: zyyx + + :type: :class:`Vector` + + + .. attribute:: zyyy + + :type: :class:`Vector` + + + .. attribute:: zyyz + + :type: :class:`Vector` + + + .. attribute:: zyz + + :type: :class:`Vector` + + + .. attribute:: zyzw + + :type: :class:`Vector` + + + .. attribute:: zyzx + + :type: :class:`Vector` + + + .. attribute:: zyzy + + :type: :class:`Vector` + + + .. attribute:: zyzz + + :type: :class:`Vector` + + + .. attribute:: zz + + :type: :class:`Vector` + + + .. attribute:: zzw + + :type: :class:`Vector` + + + .. attribute:: zzww + + :type: :class:`Vector` + + + .. attribute:: zzwx + + :type: :class:`Vector` + + + .. attribute:: zzwy + + :type: :class:`Vector` + + + .. attribute:: zzwz + + :type: :class:`Vector` + + + .. attribute:: zzx + + :type: :class:`Vector` + + + .. attribute:: zzxw + + :type: :class:`Vector` + + + .. attribute:: zzxx + + :type: :class:`Vector` + + + .. attribute:: zzxy + + :type: :class:`Vector` + + + .. attribute:: zzxz + + :type: :class:`Vector` + + + .. attribute:: zzy + + :type: :class:`Vector` + + + .. attribute:: zzyw + + :type: :class:`Vector` + + + .. attribute:: zzyx + + :type: :class:`Vector` + + + .. attribute:: zzyy + + :type: :class:`Vector` + + + .. attribute:: zzyz + + :type: :class:`Vector` + + + .. attribute:: zzz + + :type: :class:`Vector` + + + .. attribute:: zzzw + + :type: :class:`Vector` + + + .. attribute:: zzzx + + :type: :class:`Vector` + + + .. attribute:: zzzy + + :type: :class:`Vector` + + + .. attribute:: zzzz + + :type: :class:`Vector` + + + + diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/3d_view/index.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/3d_view/index.rst new file mode 100644 index 0000000..56233fc --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/3d_view/index.rst @@ -0,0 +1,11 @@ + +########### + 3D View +########### + +These add-ons relate to drawing or manipulating the 3D Viewport. + +.. toctree:: + :maxdepth: 1 + + vr_scene_inspection.rst diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/3d_view/vr_scene_inspection.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/3d_view/vr_scene_inspection.rst new file mode 100644 index 0000000..b570a34 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/3d_view/vr_scene_inspection.rst @@ -0,0 +1,210 @@ + +******************* +VR Scene Inspection +******************* + +The :abbr:`VR (Virtual Reality)` Scene Inspection add-on exposes and extends +the native virtual reality features of Blender in the user interface. +The feature set is limited to scene inspection use cases. +More advanced use cases may be enabled through further development inside of Blender. + +VR support in Blender is based on the OpenXR specification and requires some set up steps. +These are explained in the :ref:`Head-Mounted Displays (HMD) ` section. + + +Enabling Add-on +=============== + +#. Open Blender and go to :doc:`/editors/preferences/addons` section of the :doc:`/editors/preferences/index`. +#. Search "VR Scene Inspection" and check the *Enable Add-on* checkbox. + + +Interface +========= + +Located in the :menuselection:`3D Viewport --> Sidebar --> VR tab`. + +.. figure:: /images/addons_3d-view_vr-scene-inspection_interface.jpg + :width: 220px + + +VR Session +---------- + +.. figure:: /images/addons_3d-view_vr-scene-inspection_vr-session.jpg + :align: right + :width: 220px + +Start VR Session + Try to set up a connection to the OpenXR platform to share the viewport with + an :ref:`HMD `. +Tracking + Positional + Only track rotational changes of the head, do not allow the HMD + to affect the location of the viewer in virtual space. + Absolute + Skip eye offsets that are normally added for placing the viewer + exactly at landmarks. This allows the tracking origin to be defined + independently of the HMD position. +Use Controller Actions + Enable default controller actions for viewport navigation, + controller tracking, and haptics. + + +View +---- + +.. figure:: /images/addons_3d-view_vr-scene-inspection_view.jpg + :align: right + :width: 220px + +Show + Floor + Set visibility of the ground plane in the VR view. + Annotations + Set visibility of annotation strokes in the VR view. + Selection + Set visibility of selection outlines in the VR view. + Controllers + Set visibility of VR motion controllers. + Requires enabling the `Use Controller Actions `_ option. + Custom Overlays + Set visibility of custom operator drawing (e.g. default teleport beam). + Object Extras + Set visibility of object extras, including empties, lights, and cameras. + Object Type Visibility ``👁`` + Set visibility of objects by type. +Controller Style + Preferred visualization of VR motion controllers. +Clip Start/End + Clipping values of the VR view, :ref:`as in the 3D Viewport `. +Fly Speed + Movement speed of camera when flying around the scene. + + +Landmarks +--------- + +Landmarks are used to store reusable base poses (position and rotation) for the viewer in the virtual space. +In addition, a base viewer reference scale can be set for landmarks of types Custom Object and Custom Pose. + +.. figure:: /images/addons_3d-view_vr-scene-inspection_landmarks.jpg + :align: right + :width: 220px + +Landmark List + A :ref:`list view `. + + The selected landmark defines which landmark's settings are shown below the list. + Changing the selected landmark does not have an influence on the VR view. + + :bl-icon:`radiobut_on` Activate VR Landmark + Activates a landmark, making it change the base pose of the VR view. + +:bl-icon:`add` Add VR Landmark + Create a landmark. +:bl-icon:`remove` Remove VR Landmark + Delete the selected landmark. +:bl-icon:`plus` Add from Session + Create a landmark from the viewer pose of the running VR session. +:bl-icon:`downarrow_hlt` Landmark Controls + Add Camera and VR Landmark from Session + Create a new camera and landmark from the viewer pose of the running VR session. + Add Landmark from Camera + Add a new landmark from the active camera object. + Update Custom Landmark + Update the selected landmark from the current VR viewer pose. + Cursor to Landmark + Move the 3D Cursor to the selected landmark. + Scene Camera to Landmark + Position the scene camera at the selected landmark. + Camera from Landmark + Create a new camera from the selected landmark. + +Type + :Scene Camera: + Follow the scene's :ref:`active camera ` + to define the base pose of the viewer. + :Custom Object: + Set an arbitrary object to define the base pose of the viewer. + :Custom Pose: + Manually define a position and rotation to use as the base pose of the viewer. + + +Action Maps +----------- + +.. figure:: /images/addons_3d-view_vr-scene-inspection_action-maps.jpg + :align: right + :width: 220px + +Gamepad + Use input from a gamepad (Microsoft Xbox Controller) instead of motion controllers for + VR actions such as viewport navigation. +Extensions + Enable additional controller bindings to ensure correct input-to-action mappings. + Note that a given extension may not be supported by all + :ref:`VR platforms `. + + HP Reverb G2 + Enable bindings for the HP Reverb G2 controllers. + HTC Vive Cosmos + Enable bindings for the HTC Vive Cosmos controllers. + HTC Vive Focus + Enable bindings for the HTC Vive Focus 3 controllers. + Huawei + Enable bindings for the Huawei controllers. + + +Viewport Feedback +----------------- + +.. figure:: /images/addons_3d-view_vr-scene-inspection_viewport-feedback.jpg + :align: right + :width: 220px + +Show VR Camera + Draw an indicator of the current VR viewer pose (location and rotation in the virtual space) + in the current 3D Viewport. +Show VR Controllers + Draw indicators of tracked VR motion controllers in the current 3D viewport. + Requires enabling the `Use Controller Actions `_ option. +Show Landmarks + Draw `landmark `_ indicators in the current 3D Viewport. +Mirror VR Session + Make the current 3D Viewport follow the perspective of the VR view. + + +Preferences +=========== + +.. figure:: /images/addons_3d-view_vr-scene-inspection_preferences.jpg + :align: right + :width: 220px + +Located in :menuselection:`Preferences --> Navigation --> VR Navigation`, these preferences only appear +when this add-on is enabled. + +Vignette Intensity + Adjusts the strength of the vignette effect applied during camera movement. +Turn Speed + Controls how quickly the camera rotates during continuous turning. +Turn Amount + Sets the rotation angle applied per step when using snap turning. +Snap Turn + Toggles between smooth (continuous) and snap (discrete) camera turning. +Invert Rotation + Reverses the direction of camera rotation controls. + + +.. reference:: + + :Category: 3D View + :Description: View the viewport with virtual reality glasses (head-mounted displays). + :Location: :menuselection:`3D Viewport --> Sidebar --> VR tab` + :File: viewport_vr_preview folder + :Author: Julian Eisel, Sebastian Koenig, Peter Kim + :Maintainer: Julian Eisel, Peter Kim + :License: GPL + :Support Level: Official + :Note: This add-on is bundled with Blender. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/anim_bvh.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/anim_bvh.rst new file mode 100644 index 0000000..6eea620 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/anim_bvh.rst @@ -0,0 +1,88 @@ + +****************************** +BioVision Motion Capture (BVH) +****************************** + +.. reference:: + + :Category: Import-Export + :Menu: :menuselection:`File --> Import/Export --> Motion Capture (.bvh)` + +Imports or exports bvh-files or files with BioVision Hierarchical data +or data of a skeleton (rig) including its animation. +Useful for importing data from motion capture devices. + + +Enabling Add-on +=============== + +This add-on is enabled by default, in case it is not: + +#. Open Blender and go to :doc:`/editors/preferences/addons` section of the :doc:`/editors/preferences/index`. +#. Search "BioVision Motion Capture (BVH) format" and check the *Enable Add-on* checkbox. + + +Properties +========== + +Import +------ + +Target + The motion capture data type. + + :Armature: The bvh-file contains an animated rigged skeleton such as a walking motion capture. + :Object: The bvh-file contains a static (not animated) mesh object such as a character model. + + +Transform +^^^^^^^^^ + +Scale + Factor to increase the physical size of the BVH. +Rotation + Rotation order of the BVH. +Forward / Up + Since many applications use a different axis for pointing upwards, these are axis conversion for these settings, + Forward and up axes -- By mapping these to different axes you can convert rotations + between applications default up and forward axes. + + Blender uses Y forward, Z up (since the front view looks along the +Y direction). + For example, its common for applications to use Y as the up axis, in that case -Z forward, Y up is needed. + + +Animation +^^^^^^^^^ + +Start Frame + The start frame, in Blender, to start playback of the BVH animation. +Scale FPS + Scales the frame rate from the BVH file to the scene frame rate set in Blender, + otherwise each BVH frame maps directly to a frame in Blender. +Loop + Cycles the animation playback. +Update Scene FPS + Set the scene's frame rate to match the frame rate of the BVH file. +Update Scene Duration + Extend the scene's duration to match the BVH's duration. + + +Export +------ + +Transform +^^^^^^^^^ + +Scale + Factor to increase the physical size of the BVH. +Rotation + Rotation order of the BVH. +Root Translation Only + Only write the translation animation channels for the root bone. + + +Animation +^^^^^^^^^ + +Start / End + Sets the range of animation to export to the BVH file. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/curve_svg.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/curve_svg.rst new file mode 100644 index 0000000..029d447 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/curve_svg.rst @@ -0,0 +1,34 @@ + +****************************** +Scalable Vector Graphics (SVG) +****************************** + +.. reference:: + + :Category: Import-Export + :Menu: :menuselection:`File --> Import --> Scalable Vector Graphics (.svg)` + +.. note:: + + Currently the script allows only importing and is limited to path geometry only. + + +Enabling Add-on +=============== + +This add-on is enabled by default, in case it is not: + +#. Open Blender and go to :doc:`/editors/preferences/addons` section of the :doc:`/editors/preferences/index`. +#. Search "Scalable Vector Graphics (SVG)" and check the *Enable Add-on* checkbox. + + +Properties +========== + +This add-on does not have any properties. + + +Usage +===== + +.. todo:: Add this information. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/index.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/index.rst new file mode 100644 index 0000000..712ee09 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/index.rst @@ -0,0 +1,14 @@ + +################# + Import-Export +################# + +.. toctree:: + :maxdepth: 1 + :name: addons-io + + anim_bvh.rst + scene_fbx + curve_svg.rst + mesh_uv_layout.rst + scene_gltf2.rst diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/mesh_uv_layout.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/mesh_uv_layout.rst new file mode 100644 index 0000000..3aac0a0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/mesh_uv_layout.rst @@ -0,0 +1,69 @@ + +********* +UV Layout +********* + +.. reference:: + + :Category: Import-Export + :Menu: :menuselection:`UV Editor --> UV --> Export UV Layout` + + +Enabling Add-on +=============== + +This add-on is enabled by default. In case it is not: + +#. Open Blender and go to :doc:`/editors/preferences/addons` section of the :doc:`/editors/preferences/index`. +#. Search "UV Layout" and check the *Enable Add-on* checkbox. + + +Usage +===== + +This add-on allows you to export a UV map as an image: +(:menuselection:`UV Editor --> UV --> Export UV Layout`) +It allows you to export to ``PNG``, ``EPS``, or ``SVG`` format. +The desired UV faces must be selected in the 3D View, not the UV Editor. + +The image will be lines defining the UV edges that are within the default grid of the UV Editor. +Edges outside this boundary, even if selected, will not be shown in the saved graphic. + +You can then bring this image into your favorite painting program, +and use it as a transparent reference guide to create a texture. +Then export that image and load it back into Blender as part of a material set-up. +For using images as textures, see the page on +:doc:`Image Textures `. + +.. list-table:: + + * - .. figure:: /images/addons_import-export_mesh-uv-layout_uv-editor.png + :width: 320px + + A UV layout in the UV Editor. + + - .. figure:: /images/addons_import-export_mesh-uv-layout_export.png + :width: 320px + + A UV layout in a paint program. + + +Properties +========== + +.. figure:: /images/addons_import-export_mesh-uv-layout_export-panel.png + + Export options. + +All UVs + Export all UVs rather than only what is selected in the 3D View. +Export Tiles + Choose whether to export only the [0,1] range, or all UV tiles +Modified + Export UVs from the mesh with all its modifiers evaluated. +Format + Image file format to save to (``.png``, ``.eps``, ``.svg``). +Size + The size of the exported image in pixels. +Fill Opacity + Set the opacity of the fill. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/scene_fbx.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/scene_fbx.rst new file mode 100644 index 0000000..7e6adfa --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/scene_fbx.rst @@ -0,0 +1,325 @@ + +*** +FBX +*** + +The *FBX* (Filmbox) format is widely used for exchanging 3D data between applications, +especially for animated characters and complex scene data. It is supported by software +such as Autodesk Maya, 3ds Max, Cinema 4D, and game engines like Unity and Unreal Engine. + +The exporter can bake mesh modifiers and animation into the FBX so the final result looks the same as in Blender. + +.. note:: + + - Bones would need to get a correction to their orientation + (FBX bones seems to be -X aligned, Blender's are Y aligned), + this does not affect skinning or animation, but imported bones in other applications will look wrong. + - Animations (FBX AnimStacks, Blender actions) **are not linked** to their object, + because there is no real way to know which stack to use as 'active' action for a given object, mesh or bone. + This may be enhanced to be smarter in the future, but it's not really considered urgent, + so for now you'll have to link actions to objects manually. + - Armature instances **are not supported**. + +.. note:: + + - Bones' orientation importing is complex, you may have to play a bit with + related settings until you get the expected results. + - Animation support is minimal currently, we read all curves as if they were 'baked' ones + (i.e. a set of close keyframes with linear interpolation). + - Imported actions are linked to their related object, bone or shape key, on a 'first one wins' basis. + If you export a set of them for a single object, you'll have to reassign them yourself. + +.. note:: Saving Just Animations + + The FBX file format supports files that only contain takes. + It is up to you to keep track of which animation belongs to which model. + The animation that will be exported is the currently selected action within the Action editor. + To reduce the file size, turn off the exporting of any parts you do not want and disable *All Actions*. + For armature animations typically you just leave the armature enabled which is necessary for + that type of animation. Reducing what is output makes the export and future import much faster. + Normally each action will have its own name but the current or + only take can be forced to be named "Default Take". Typically, this option can remain off. + +.. note:: + + Blender now only supports complex node-based shading. + FBX having a fixed pipeline-like support of materials, this add-on converts between them. + + +Enabling Add-on +=============== + +This add-on is enabled by default, in case it is not: + +#. Open Blender and go to :doc:`/editors/preferences/addons` section of the :doc:`/editors/preferences/index`. +#. Search "FBX" and check the *Enable Add-on* checkbox. + + +Import (Legacy) +=============== + +.. reference:: + + :Menu: :menuselection:`File --> Import --> FBX (.fbx) (Legacy)` + +.. important:: + + The importing functionality of add-on is deprecated, + use the official :ref:`FBX Importer ` instead. + + +Include +------- + +Import Normals + .. todo:: Add this information. +Import Subdivision Surface + Import FBX subdivision information as subdivision surface modifiers. +Import User Properties + Import user properties as custom properties. +Import Enums as Strings + Store custom property enumeration values as strings. +Image Search + .. todo:: Add this information. + + +Transform +--------- + +Scale + Value by which to scale the imported objects in relation to the world's origin. +Decal Offset + .. todo:: Add this information. +Manual Orientation + .. todo:: Add this information. +Forward / Up Axis.. todo:: Add this information. + Since many applications use a different axis for 'Up', these are axis conversion for these settings, + Forward and Up axes -- By mapping these to different axes you can convert rotations + between applications default up and forward axes. + + Blender uses Y Forward, Z Up (since the front view looks along the +Y direction). + For example, its common for applications to use Y as the up axis, in that case -Z Forward, Y Up is needed. + +Apply Transform + Bake space transform into object data, avoids getting unwanted rotations + to objects when target space is not aligned with Blender's space. + + .. warning:: + + Experimental option, use at own risk, known to be broken with armatures/animations. + +Use Pre/Post Rotation + .. todo:: Add this information. + + +Materials +--------- + +Material Name Collision + Behavior when the name of an imported material conflicts with an existing material. + + :Make Unique: Import each USD material as a unique Blender material. + :Reference Existing: If a material with the same name already exists, reference that instead of importing. + + +Animation +--------- + +Animation Offset + Offset to apply to animation timestamps, in frames. + + +Armature +-------- + +Ignore Leaf Bones + Ignore the last bone at the end of each chain (used to mark the length of the previous bone). +Force Connect Children + .. todo:: Add this information. +Automatic Bone Orientation + .. todo:: Add this information. +Primary/Secondary Bone Axis + .. todo:: Add this information. + + +.. _bpy.ops.export_scene.fbx: + +Export +====== + +.. reference:: + + :Menu: :menuselection:`File --> Export --> FBX (.fbx)` + +Path Mode + When referencing paths in exported files you may want some control as to the method used since absolute paths + may only be correct on your own system. Relative paths, on the other hand, are more portable + but mean that you have to keep your files grouped when moving about on your local file system. + In some cases, the path doesn't matter since the target application will search + a set of predefined paths anyway so you have the option to strip the path too. + + :Auto: Uses relative paths for files which are in a subdirectory of the exported location, + absolute for any directories outside that. + :Absolute: Uses full paths. + :Relative: Uses relative paths in every case (except when on a different drive on Windows). + :Match: Uses relative / absolute paths based on the paths used in Blender. + :Strip Path: Only write the filename and omit the path component. + :Copy: Copy the file on exporting and reference it with a relative path. + + Embed Textures + .. todo:: Add this information. + +Batch Mode + When enabled, export each group or scene to a file. + + Group/Scene + Choose whether to batch export groups or scenes to files. + Note, when Group/Scene is enabled, you cannot use the animation option *Current Action* + since it uses scene data and groups are not attached to any scenes. + Also note, when Group/Scene is enabled you must include the armature objects + in the group for animated actions to work. + Batch Own Directory + When enabled, each file is exported into its own directory, + this is useful when using the *Copy Images* option. So each directory contains + one model with all the images it uses. Note, this requires a full Python installation. + If you do not have a full Python installation, this button will not be shown. + + +Include +------- + +Selected Objects + Only export the selected objects. Otherwise export all objects in the scene. + Note, this does not apply when batch exporting. +Active Collection + .. todo:: Add this information. +Object Types + Enable/Disable exporting of respective object types. +Custom Properties + .. todo:: Add this information. + + +Transform +--------- + +Scale + Scale the exported data by this value. 10 is the default + because this fits best with the scale most applications import FBX to. +Apply Scaling + .. todo:: Add this information. +Forward / Up + Since many applications use a different axis for 'Up', these are axis conversions for Forward and + Up axes -- By mapping these to different axes you can convert rotations between applications + default up and forward axes. + + Blender uses Y Forward, Z Up (since the front view looks along the +Y direction). + For example, its common for applications to use Y as the up axis, in that case -Z Forward, Y Up is needed. +Apply Unit + .. todo:: Add this information. +Apply Transform + Applies object *Location*, *Rotation*, and *Scale* to the mesh before export, writing vertices in world space. + When disabled, vertices are exported in local object space without applying transforms. + See :ref:`bpy.ops.object.transform_apply` for more information on applying transforms. + + +Geometry +-------- + +Smoothing + Export smoothing information. + + If the importer supports custom split normals, using *Normals Only* is generally the most accurate. + + :Normals Only: Export only custom split normals, without writing any face or edge smoothing flags. + :Face: Export smoothing using the face smoothing flags (Blender's "smooth" shading per face). + :Edge: Export smoothing using edge sharpness. Sharp edges are used to define smoothing boundaries. + :Smoothing Groups: + Write face smoothing groups, + which defines shading by grouping faces together—faces in the same group are shaded smoothly, + while faces in different groups create hard edges. + Useful for preserving shading in applications that rely on this method. +Export Subdivision Surface + .. todo:: Add this information. +Apply Modifiers + Export objects using the evaluated mesh, meaning the resulting mesh after all + :doc:`Modifiers ` have been calculated. +Loose Edges + .. todo:: Add this information. +Tangent Space + .. todo:: Add this information. + + +Armatures +--------- + +Primary/Secondary Bone Axis + .. todo:: Add this information. +Armature FBXNode Type + .. todo:: Add this information. +Only Deform Bones + .. todo:: Add this information. +Add Leaf Bones + .. todo:: Add this information. + + +Bake Animation +-------------- + +.. todo:: Add this information. + +Key All Bones + .. todo:: Add this information. +NLA Strips + .. todo:: Add this information. +All Actions + Export all actions compatible with the selected armatures + start/end times which are derived from the keyframe range of each action. + When disabled only the currently assigned action is exported. +Force Start/End Keying + .. todo:: Add this information. +Sampling Rate + .. todo:: Add this information. +Simplify + .. todo:: Add this information. + + +Compatibility +============= + +Import +------ + +Note that the importer is a new addition and lacks many features the exporter supports. + +- binary FBX files only. +- Version 7.1 or newer. + + +Missing +^^^^^^^ + +- Mesh: shape keys. + + +Export +------ + +NURBS surfaces, text3D and metaballs are converted to meshes at export time. + + +Missing +^^^^^^^ + +Some of the following features are missing because they +are not supported by the FBX format, others may be added later. + +- Object instancing -- exported objects do not share data, + instanced objects will each be written with their own data. +- Material textures +- Vertex shape keys -- FBX supports them but this exporter does not write them yet. +- Animated fluid simulation -- FBX does not support this kind of animation. + You can however use the OBJ exporter to write a sequence of files. +- Constraints -- The result of using constraints is exported as a keyframe animation + however the constraints themselves are not saved in the FBX. +- Instanced objects -- At the moment instanced objects are only written in static scenes + (when animation is disabled). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/scene_gltf2.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/scene_gltf2.rst new file mode 100644 index 0000000..8e19795 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/import_export/scene_gltf2.rst @@ -0,0 +1,1221 @@ + +******** +glTF 2.0 +******** + +.. reference:: + + :Category: Import-Export + :Menu: :menuselection:`File --> Import/Export --> glTF 2.0 (.glb, .gltf)` + + +Enabling Add-on +=============== + +This add-on is enabled by default, in case it is not: + +#. Open Blender and go to :doc:`/editors/preferences/addons` section of the :doc:`/editors/preferences/index`. +#. Search "glTF 2.0" and check the *Enable Add-on* checkbox. + + +Usage +===== + +glTF™ (GL Transmission Format) is used for transmission and loading of 3D models +in web and native applications. glTF reduces the size of 3D models and +the runtime processing needed to unpack and render those models. +This format is commonly used on the web, and has support in various 3D engines +such as Unity3D, Unreal Engine 4, and Godot. + +This importer/exporter supports the following glTF 2.0 features: + +- Meshes +- Materials (Principled BSDF) and Shadeless (Unlit) +- Textures +- Cameras +- Punctual lights (point, spot, and directional) +- Extensions (listed below) +- Extras (custom properties) +- Animation (keyframe, shape key, and skinning) + + +Meshes +====== + +glTF's internal structure mimics the memory buffers commonly used by graphics chips +when rendering in real-time, such that assets can be delivered to desktop, web, or mobile clients +and be promptly displayed with minimal processing. As a result, quads and n-gons +are automatically converted to triangles when exporting to glTF. +Discontinuous UVs and flat-shaded edges may result in moderately higher vertex counts in glTF +compared to Blender, as such vertices are separated for export. +Likewise, curves and other non-mesh data are not preserved, +and must be converted to meshes prior to export. + + +GPU Instances +------------- + +When the option is enable in Exporter, instances are exported using the ``EXT_mesh_gpu_instancing`` extension. +There are some limitations, at export: + +- Instances must be meshes, and don't have any children themselves +- Instances must all be children of the same object. +- This extension doesn't manage material variation. That means that the generated file may include all instances with + same materials. +- Instances detected are objects sharing the same mesh data. + +At import, instances are created by creating objects sharing the same mesh data. + + +Materials +========= + +The core material system in glTF supports a metal/rough :abbr:`PBR (Physically Based Rendering)` workflow +with the following channels of information: + +- Base Color +- Metallic +- Roughness +- Baked Ambient Occlusion +- Normal Map (tangent space, +Y up) +- Emissive + +Some additional material properties or types of materials can be expressed using glTF extensions. +The complete list can be found in `Extensions`_ part of this documentation. + +.. figure:: /images/addons_import-export_scene-gltf2_material-channels.jpg + + An example of the various image maps available in the glTF 2.0 core format. This is + the `water bottle sample model `__ + shown alongside slices of its various image maps. + + +Imported Materials +------------------ + +The glTF material system is different from Blender's own materials. When a glTF file is imported, +the add-on will construct a set of Blender nodes to replicate each glTF material as closely as possible. + +The importer supports Metal/Rough PBR (core glTF), Spec/Gloss PBR (``KHR_materials_pbrSpecularGlossiness``) +and some extension materials. The complete list can be found in `Extensions`_ part of this documentation. + +.. tip:: + + Examining the result of the material import process is a good way to see examples of + the types of material nodes and settings that can be exported to glTF. + + +Exported Materials +------------------ + +The exporter supports Metal/Rough PBR (core glTF) and Shadeless (``KHR_materials_unlit``) materials. +It will construct a glTF material based on the nodes it recognizes in the Blender material. +The material export process handles the settings described below. + +.. note:: + + When image textures are used by materials, glTF requires that images be in PNG or JPEG format. + The add-on will automatically convert images from other formats, increasing export time. + + +Base Color +^^^^^^^^^^ + +The glTF base color is determined by looking for a Base Color input on a Principled BSDF node. +If the input is unconnected, the input's default color (the color field next to the unconnected socket) +is used as the Base Color for the glTF material. + +.. figure:: /images/addons_import-export_scene-gltf2_material-base-color-solid-green.png + + A solid base color can be specified directly on the node. + +If an Image Texture node is found to be connected to the Base Color input, +that image will be used as the glTF base color. + +.. figure:: /images/addons_import-export_scene-gltf2_material-base-color-image-hookup.png + + An image is used as the glTF base color. + +If no texture is connected, the base color can be specified: + +- From the Principled BSDF node's *Base Color* input, which is the default. +- From a RGB node connected to the *Base Color* input. +- From an Ambient Occlusion node connected to the *Base Color* input. (The AO socket + is not used in glTF, but the color output can be used as a base color.) + +.. figure:: /images/addons_import-export_scene-gltf2_material-base-color.png + + +Metallic and Roughness +^^^^^^^^^^^^^^^^^^^^^^ + +These values are read from the Principled BSDF node. If both of these inputs are unconnected, +the node will display sliders to control their respective values between 0.0 and 1.0, +and these values will be copied into the glTF. + +When using an image, glTF expects the metallic values to be encoded in the blue (``B``) channel, +and roughness to be encoded in the green (``G``) channel of the same image. +If images are connected to the Blender node in a manner that does not follow this convention, +the add-on may attempt to adapt the image to the correct form during exporting (with an increased export time). + +In the Blender node tree, it is recommended to use a Separate RGB node +to separate the channels from an Image Texture node, and +connect the green (``G``) channel to Roughness, and blue (``B``) to Metallic. +The glTF exporter will recognize this arrangement as matching the glTF standard, and +that will allow it to simply copy the image texture into the glTF file during export. + +The Image Texture node for this should have its *Color Space* set to Non-Color. + +.. figure:: /images/addons_import-export_scene-gltf2_material-metal-rough.png + + A metallic/roughness image connected in a manner consistent with the glTF standard, + allowing it to be used verbatim inside an exported glTF file. + + +Baked Ambient Occlusion +^^^^^^^^^^^^^^^^^^^^^^^ + +glTF is capable of storing a baked ambient occlusion map. +Currently there is no arrangement of nodes that causes Blender +to use such a map in exactly the same way as intended in glTF. +However, if the exporter finds a custom node group by the name of ``glTF Material Output``, and +finds an input named ``Occlusion`` on that node group, +it will look for an Image Texture attached there to use as the occlusion map in glTF. +The effect need not be shown in Blender, as Blender has other ways of showing ambient occlusion, +but this method will allow the exporter to write an occlusion image to the glTF. +This can be useful to real-time glTF viewers, particularly on platforms where there +may not be spare power for computing such things at render time. + +.. figure:: /images/addons_import-export_scene-gltf2_material-occlusion-only.png + + A pre-baked ambient occlusion map, connected to a node that doesn't render but will export to glTF. + +.. tip:: + + If you enable Shader Editor Add-ons in preferences, you will be able to add this custom node group from Menu: + Add > Output > glTF Material Output + + .. figure:: /images/addons_import-export_scene-gltf2_addon-preferences-shader.png + +glTF stores occlusion in the red (``R``) channel, allowing it to optionally share +the same image with the roughness and metallic channels. + +.. figure:: /images/addons_import-export_scene-gltf2_material-orm-hookup.png + + This combination of nodes mimics the way glTF packs occlusion, roughness, and + metallic values into a single image. + +.. tip:: + + The Cycles render engine has a Bake panel that can be used to bake + ambient occlusion maps. The resulting image can be saved and connected + directly to the ``glTF Material Output`` node. + + +Normal Map +^^^^^^^^^^ + +To use a normal map in glTF, connect an Image Texture node's color output +to a Normal Map node's color input, and then connect the Normal Map normal output to +the Principled BSDF node's normal input. The Image Texture node +for this should have its *Color Space* property set to Non-Color. + +The Normal Map node must remain on its default property of Tangent Space as +this is the only type of normal map currently supported by glTF. +The strength of the normal map can be adjusted on this node. +The exporter is not exporting these nodes directly, but will use them to locate +the correct image and will copy the strength setting into the glTF. + +.. figure:: /images/addons_import-export_scene-gltf2_material-normal.png + + A normal map image connected such that the exporter will find it and copy it + to the glTF file. + +.. tip:: + + The Cycles render engine has a Bake panel that can be used to bake + tangent-space normal maps from almost any other arrangement of normal vector nodes. + Switch the Bake type to Normal. Keep the default space settings + (space: Tangent, R: +X, G: +Y, B: +Z) when using this bake panel for glTF. + The resulting baked image can be saved and plugged into to a new material using + the Normal Map node as described above, allowing it to export correctly. + + See: :doc:`Cycles Render Baking ` + + +Emissive +^^^^^^^^ + +An Image Texture node can be connected to the Emission input on the Principled BSDF node +to include an emissive map with the glTF material. Alternatively, the Image Texture node +can be connected to an Emission shader node, and optionally combined with properties +from a Principled BSDF node by way of an Add Shader node. + +If the emissive map is alone in the material, it is best to set the Base Color default +to black, and the Roughness default to 1.0. This minimizes the influence of the other +channels if they are not needed. + +.. figure:: /images/addons_import-export_scene-gltf2_material-emissive.png + + This arrangement is supported for backwards compatibility. It is simpler to use + the Principled BSDF node directly. + +If any component of emissiveFactor is > 1.0, ``KHR_materials_emissive_strength`` extension will be used. + + +Clearcoat +^^^^^^^^^ + +When the *Clearcoat* input on the Principled BSDF node has a nonzero default value or +Image Texture node connected, the ``KHR_materials_clearcoat`` glTF extension will be +included in the export. This extension will also include a value or Image Texture +from the *Clearcoat Roughness* input if available. + +If Image Textures are used, glTF requires that the clearcoat values be written to +the red (``R``) channel, and *Clearcoat Roughness* to the green (``G``) channel. +If monochrome images are connected, the exporter will remap them to these color channels. + +The *Clearcoat Normal* input accepts the same kinds of inputs as the base Normal input, +specifically a tangent-space normal map with +Y up, and a user-defined strength. +This input can reuse the same normal map that the base material is using, +or can be assigned its own normal map, or can be left disconnected for a smooth coating. + +All Image Texture nodes used for clearcoat shading should have their *Color Space* set to Non-Color. + +.. figure:: /images/addons_import-export_scene-gltf2_material-clearcoat.png + + An example of a complex clearcoat application that will export correctly to glTF. + A much simpler, smooth coating can be applied from just the Principled BSDF node alone. + + +Sheen +^^^^^ + +If a Sheen Roughness Texture is used, glTF requires the values be written to the alpha (``A``) channel. + +.. figure:: /images/addons_import-export_scene-gltf2_material-sheen.png + +.. tip:: + + Sheen BSDF node is only available on Cycles render engine. + You may have to temporary switch to Cycles to add this node, and get back to EEVEE. + + +Specular +^^^^^^^^ + +When the *Specular IOR Level* or *Specular Tint* input of Principled BSDF node have a non default value or +Image Texture node connected, the ``KHR_materials_specular`` glTF extension will be +included in the export. + + +Anisotropy +^^^^^^^^^^ + +Anisotropic textures and data need to be converted at export, and at import. + +At import, some nodes are created to manage this conversion + +.. figure:: /images/addons_import-export_scene-gltf2_material_anisotropy.png + +At export, this exact same nodes are detected, and used to export data. + +At export, you can also plug some grayscale textures for *Anisotropic* and *Anisotropic Rotation* sockets. +Then, exporter will convert these texture into a glTF compatible texture. + +.. figure:: /images/addons_import-export_scene-gltf2_material_anisotropy-grayscale-texture.png + +Note that the *tangent* socket must be linked to a *tangent* node, with UVMap. +The choosen UVMap must be the UVMap of the Normal Map. + + +Transmission +^^^^^^^^^^^^ + +When the Transmission input on the Principled BSDF node has a nonzero default value or +Image Texture node connected, the ``KHR_materials_transmission`` glTF extension will be +included in the export. When a texture is used, glTF stores the values in the red (``R``) channel. +The *Color Space* should be set to Non-Color. + +Transmission is different from alpha blending, because transmission allows full-strength specular reflections. +In glTF, alpha blending is intended to represent physical materials that are partially missing from +the specified geometry, such as medical gauze wrap. Transmission is intended to represent physical materials +that are solid but allow non-specularly-reflected light to transmit through the material, like glass. + +.. tip:: + + The material's base roughness can be used to blur the transmission, like frosted glass. + +.. tip:: + + Typically the alpha blend mode of a transmissive material should remain "Opaque", + the default setting, unless the material only partially covers the specified geometry. + +.. note:: + + In real-time engines where transmission is supported, various technical limitations in + the engine may determine which parts of the scene are visible through the transmissive surface. + In particular, transmissive materials may not be visible behind other transmissive materials. + These limitations affect physically-based transmission, but not alpha-blended non-transmissive materials. + +.. note:: + + If you want to enable refraction on your model, ``KHR_materials_transmission`` must also + be used in addition with ``KHR_materials_volume``. See the dedicated *Volume* part of + the documentation. + +.. warning:: + + Transmission is complex for real-time rendering engines to implement, + and support for the ``KHR_materials_transmission`` glTF extension is not yet widespread. + + +IOR +^^^ + +At import, there are two different situation: + +- if ``KHR_materials_ior`` is not set, IOR value of Principled BSDF node is set to 1.5, + that is the glTF default value of IOR. +- If set, the ``KHR_materials_ior`` is used to set the IOR value of Principled BSDF. + +At export, IOR is included in the export only if one of these extensions are also used: + +- ``KHR_materials_transmission`` +- ``KHR_materials_volume`` +- ``KHR_materials_specular`` + +IOR of 1.5 are not included in the export, because this is the default glTF IOR value. + + +Volume +^^^^^^ + +Volume can be exported using a Volume Absorption node, linked to Volume socket of Output node. +Data will be exported using the ``KHR_materials_volume`` extension. + +- For volume to be exported, some *transmission* must be set on Principled BSDF node. +- Color of Volume Absorption node is used as glTF attenuation color. No texture is allowed for this property. +- Density of Volume Absorption node is used as inverse of glTF attenuation distance. +- Thickness can be plugged into the Thickness socket of custom group node ``glTF Material Output``. +- If a texture is used for thickness, it must be plugged on (``G``) Green channel of the image. + +.. figure:: /images/addons_import-export_scene-gltf2_material-volume.png + + +glTF Variants +^^^^^^^^^^^^^ + +.. note:: + + For a full Variants experience, you have to enable UI in Add-on preferences + + .. figure:: /images/addons_import-export_scene-gltf2_addon-preferences-variant.png + +There are two location to manage glTF Variants in Blender + +- In 3D View, on ``glTF Variants`` tab +- For advanced settings, in Mesh Material Properties (see Advanced glTF Variant checks) + +The main concept to understand for using Variants, +is that each material slot will be used as equivalent of a glTF primitive. + + +glTF Variants switching +^^^^^^^^^^^^^^^^^^^^^^^ + +After importing a glTF file including ``KHR_materials_variants`` extension, all variants can be displayed. + +.. figure:: /images/addons_import-export_scene-gltf2_material_variants-switch.png + +You can switch Variant, by *selecting* the variant you want to display, then clicking on *Display Variant*. + +You can switch to default materials (when no Variant are used), by clicking on *Reset to default*. + + +glTF Variants creation +^^^^^^^^^^^^^^^^^^^^^^ + +You can add a new Variant by clicking :bl-icon:`add` at right of the Variant list. +Then you can change the name by double-clicking. + +After changing Materials in Material Slots, you can assign current materials to the active Variant using +*Assign to Variant*. + +You can also set default materials using *Assign as Original*. +These materials will be exported as default material in glTF. +This are materials that will be displayed by any viewer that don't manage ``KHR_materials_variants`` extension. + + +Advanced glTF Variant checks +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you want to check primitive by primitive, what are Variants used, you can go to Mesh Material Properties. + +.. figure:: /images/addons_import-export_scene-gltf2_material_variants-detail.png + +The *glTF Material Variants* tab refers to the active material Slot and Material used by this slot. +You can see every Variants that are using this material for the given Slot/Primitive. + +You can also assign material to Variants from this tab, but recommendation is to perform it from 3D View tab. + + +Double-Sided / Backface Culling +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For materials where only the front faces will be visible, turn on *Backface Culling* in +the *Settings* panel of an EEVEE material. When using other engines (Cycles, Workbench) +you can temporarily switch to EEVEE to configure this setting, then switch back. + +Leave this box unchecked for double-sided materials. + +.. figure:: /images/addons_import-export_scene-gltf2_material-backface-culling.png + + The inverse of this setting controls glTF's ``DoubleSided`` flag. + + +Alpha Modes +^^^^^^^^^^^ + +glTF has three alpha modes, depending on whether the alpha value is always 1, always 0 or +1, or can be between 0 and 1. The exporter determines the alpha mode automatically from +the nodes connected to the Alpha socket. + +Opaque + In *opaque mode*, the material alpha is always 1. + + .. figure:: /images/addons_import-export_scene-gltf2_material-opaque.png + +Mask + In *mask mode*, the material alpha is always 0 or 1. This creates "cutout" + transparency, where there is a hard edge between opaque and transparent regions, and + can be used for things like leaves or cloth with holes. To enable this mode, use a Math + node to round the alpha value to either 0 or 1. + + .. figure:: /images/addons_import-export_scene-gltf2_material-round-alpha.png + + Rounding snaps alpha values that are 0.5 or greater up to 1, and ones below 0.5 down to + 1. It is also possible to use a cutoff value different than 0.5 by using Math nodes to + do ``1 - (alpha < cutoff)``. + + Mask mode is essentially the same as EEVEE's "Alpha Clip" blend mode, but is done with + shader nodes so it works in other render engines. + +Blend + Materials that use neither of these will use *blend mode*. Blend mode allows partially + transparent surfaces that tint the objects seen through them, like layers of colored + film. However, partial transparency is complex to render, and glTF viewers may show + visual artifacts in non-trivial scenes that use blend mode. + + To avoid artifacts, it may be a good idea to separate out parts of a model that can use + opaque or mask mode, and use blend mode only on the parts where it is necessary, or to + use only a *single* layer of transparent polygons in front of opaque objects. + + +UV Mapping +^^^^^^^^^^ + +Control over UV map selection and transformations is available by connecting a UV Map node +and a Mapping node to any Image Texture node. + +Settings from the Mapping node are exported using a glTF extension named ``KHR_texture_transform``. +There is a mapping type selector across the top. *Point* is the recommended type for export. +*Texture* and *Vector* are also supported. The supported offsets are: + +- *Location* - X and Y +- *Rotation* - Z only +- *Scale* - X and Y + +For the *Texture* type, *Scale* X and Y must be equal (uniform scaling). + +.. figure:: /images/addons_import-export_scene-gltf2_material-mapping.png + + A deliberate choice of UV mapping. + +.. tip:: + + These nodes are optional. Not all glTF readers support multiple UV maps or texture transforms. + + +Factors +^^^^^^^ + +Any Image Texture nodes may optionally be multiplied with a constant color or scalar. +These will be written as factors in the glTF file, which are numbers that are multiplied +with the specified image textures. These are not common. + +- Use Math node (multiply) for scalar factors. Use second value as factor +- Use Mix node (color / multiply) for color factors. Set Factor to 1, and use Color2 (B) as factors + +.. figure:: /images/addons_import-export_scene-gltf2_material-factors.png + + +Example +^^^^^^^ + +A single material may use all of the above at the same time, if desired. This figure shows +a typical node structure when several of the above options are applied at once: + +.. figure:: /images/addons_import-export_scene-gltf2_material-principled.png + + A Principled BSDF material with an emissive texture. + + +UDIM +^^^^ + +UDIM is a way to store multiple textures in a single image file. +The UDIM system is supported by Blender, but is not supported by glTF. +When exporting a model that uses UDIM, the add-on will automatically split the +image into multiple images, one for each tile, and will update the material +nodes to use the new images. +All UDIM texture must use the same UV map to be exported. + + +Exporting a Shadeless (Unlit) Material +-------------------------------------- + +To export an unlit material, mix in a camera ray, and avoid using the Principled BSDF node. + +.. figure:: /images/addons_import-export_scene-gltf2_material-unlit.png + + One of several similar node arrangements that will export + ``KHR_materials_unlit`` and render shadeless in Blender. + + +Extensions +========== + +The core glTF 2.0 format can be extended with extra information, using glTF extensions. +This allows the file format to hold details that were not considered universal at the time of first publication. +Not all glTF readers support all extensions, but some are fairly common. + +Certain Blender features can only be exported to glTF via these extensions. +The following `glTF 2.0 extensions `__ +are supported directly by this add-on: + +.. rubric:: Import + +- ``KHR_materials_pbrSpecularGlossiness`` +- ``KHR_materials_clearcoat`` +- ``KHR_materials_transmission`` +- ``KHR_materials_unlit`` +- ``KHR_materials_emissive_strength`` +- ``KHR_materials_volume`` +- ``KHR_materials_sheen`` +- ``KHR_materials_specular`` +- ``KHR_materials_anisotropy`` +- ``KHR_materials_ior`` +- ``KHR_materials_variants`` +- ``KHR_lights_punctual`` +- ``KHR_texture_transform`` +- ``KHR_mesh_quantization`` +- ``EXT_mesh_gpu_instancing`` + +.. rubric:: Export + +- ``KHR_draco_mesh_compression`` +- ``KHR_lights_punctual`` +- ``KHR_materials_clearcoat`` +- ``KHR_materials_transmission`` +- ``KHR_materials_unlit`` +- ``KHR_materials_emissive_strength`` +- ``KHR_materials_volume`` +- ``KHR_materials_sheen`` +- ``KHR_materials_specular`` +- ``KHR_materials_anisotropy`` +- ``KHR_materials_ior`` +- ``KHR_materials_variants`` +- ``KHR_texture_transform`` +- ``EXT_mesh_gpu_instancing`` + + +Third-party glTF Extensions +--------------------------- + +It is possible for Python developers to add Blender support for additional glTF extensions by writing their +own third-party add-on, without modifying this glTF add-on. For more information, `see the example on GitHub +`__ and if needed, +`register an extension prefix `__. + + +Custom Properties +================= + +Custom properties are always imported, and will be exported from most objects +if the :menuselection:`Include --> Custom Properties` option is selected before export. +These are stored in the ``extras`` field on the corresponding object in the glTF file. + +Unlike glTF extensions, custom properties (extras) have no defined namespace, +and may be used for any user-specific or application-specific purposes. + + +Animations +========== + +A glTF animation changes the transforms of objects or pose bones, or the values of shape keys. +One animation can affect multiple objects, and there can be multiple animations in a glTF file. + + +Import +------ + +Imported models are set up so that the first animation in the file is playing automatically. +Scrub the Timeline to see it play. + +When the file contains multiple animations, the rest will be organized using +the :doc:`Nonlinear Animation editor `. Each animation +becomes an action stashed to an NLA track. The track name is the name of the glTF animation. +To make the animation within that track visible, click Solo (star icon) next to the track you want to play. + +.. _fig-gltf-solo-track: + +.. figure:: /images/addons_import-export_scene-gltf2_animation-solo-track.png + + This is the `fox sample model `__ + showing its "Run" animation. + +If an animation affects multiple objects, it will be broken up into multiple parts. +The part of the animation that affects one object becomes an action stashed on that object. +Use the track names to tell which actions are part of the same animation. +To play the whole animation, you need to enable Solo (star icon) for all its tracks. + +Each animation will be imported as a single action, with multiple slots if the animation affects multiple objects. +One slot will be created for TRS, one for shape keys, etc... + +You can find more information about action slots in :doc:`Animation `. + +.. note:: + + There is currently no way to see the non-animated pose of a model that had animations. + + +You can also use the animation switcher that can be found in :doc:`Dope Sheet editor `. + +.. note:: + + You have to enable UI in Add-on preferences for seeing the animation switcher + + .. figure:: /images/addons_import-export_scene-gltf2_addon-preferences-animation.png + + +You can switch all animation imported. It automatically enables Solo (star icon) for all needed tracks. +It also reset non animated object to Rest transformation. + + +Export +------ + +You can export animations using different ways. How glTF animations are made from actions / NLA is controlled by +the :menuselection:`Animation --> Mode` export option. + + +Actions (default) +^^^^^^^^^^^^^^^^^ + +An action will be exported if it is the active action on an object, or it is stashed to an NLA track +(e.g. with the *Stash* or *Push Down* buttons in the :doc:`Action Editor `). +Actions which are **not** associated with an object in one of these ways are **not exported**. +If you have multiple actions you want to export, make sure they are stashed! + +A glTF animation can have a name, which is the action name by default. You can override it +by renaming its NLA track from ``NLATrack``/``[Action Stash]`` to the name you want to use. +For example, the Fig. :ref:`fox model ` will export with three animations, +"Survey", "Walk", and "Run". +If you rename two tracks on two different objects to the same name, they will become part +of the same glTF animation and will play together. + +The importer organizes actions so they will be exported correctly with this mode. + +This mode is useful if you are exporting for game engine, with an animation library of a character. +Each action must be on its own NLA track. + +Before Blender 4.4, tracks was merged regarding their name. +With Blender 4.4, and the introduction of slotted actions, this default behavior has been changed. +Now, tracks are merged by the action they are using, and not by their name. +You can find more information about action slots in :doc:`Animation `. + + +Active Actions merged +^^^^^^^^^^^^^^^^^^^^^ + +In this mode, the NLA organization is not used, and only one animation is exported using +the active actions on all objects. + + +NLA Tracks +^^^^^^^^^^ + +In this mode, each NLA Track will be export as an independent glTF animation. +This mode is useful if you are using Strip modifiers, or if you get multiple action on a same Track. + +If you rename two tracks on two different objects to the same name, they will become part +of the same glTF animation and will play together. + + +Scene +^^^^^ + +Using `Scene`_ option, animations will be exported as you can see them in viewport. +You can choose to export a single glTF animation, or each object separately. + +.. note:: + + Remember only certain types of animation are supported: + + - Object transform (location, rotation, scale) + - Pose bones + - Shape key values + + Animation of other properties, like physics, lights, or materials, will be ignored. + +.. note:: + + In order to sample shape key animations controlled by drivers using bone transformations, + they must be on a mesh object that is a direct child of the bones' armature. + +.. note:: + + Only `Actions (default)`_ and `Active Actions merged`_ mode can handle not sampled animations. + + +File Format Variations +====================== + +The glTF specification identifies different ways the data can be stored. +The importer handles all of these ways. The exporter will ask the user to +select one of the following forms: + + +glTF Binary (``.glb``) +---------------------- + +This produces a single ``.glb`` file with all mesh data, image textures, and +related information packed into a single binary file. + +.. tip:: + + Using a single file makes it easy to share or copy the model to other systems and services. + + +glTF Separate (``.gltf`` + ``.bin`` + textures) +----------------------------------------------- + +This produces a JSON text-based ``.gltf`` file describing the overall structure, +along with a ``.bin`` file containing mesh and vector data, and +optionally a number of ``.png`` or ``.jpg`` files containing image textures +referenced by the ``.gltf`` file. + +.. tip:: + + Having an assortment of separate files makes it much easier for a user to + go back and edit any JSON or images after the export has completed. + +.. note:: + + Be aware that sharing this format requires sharing all of these separate files + together as a group. + + +glTF Embedded (``.gltf``) +------------------------- + +This produces a JSON text-based ``.gltf`` file, with all mesh data and +image data encoded (using Base64) within the file. This form is useful if +the asset must be shared over a plain-text-only connection. + +.. warning:: + + This is the least efficient of the available forms, and should only be used when required. + Available only when you activated it in addon preferences. + + +Properties +========== + +Import +------ + +Merge Vertices + The glTF format requires discontinuous normals, UVs, and other vertex attributes to be stored as separate vertices, + as required for rendering on typical graphics hardware. + This option attempts to combine co-located vertices where possible. + Currently cannot combine verts with different normals. +Shading + How normals are computed during import. +Lighting Mode + Optional backwards compatibility for non-standard render engines. Applies to lights. + Standard: Physically-based glTF lighting units (cd, lx, nt). + Unitless: Non-physical, unitless lighting. Useful when exposure controls are not available + Raw (Deprecated): Blender lighting strengths with no conversion + + +Texture +^^^^^^^ + +Pack Images + Pack all images into the blend-file. +Import WebP textures + If a texture exists in WebP format, loads the WebP texture instead of the fallback png/jpg one. +Import unused Materials & Textures + Import all materials and textures, even if they are not used in the scene. + + +Bones & Skin +^^^^^^^^^^^^ + +Bone Direction + Changes the heuristic the importer uses to decide where to place bone tips. + Note that the Fortune setting may cause inaccuracies in models that use non-uniform scaling. + Otherwise this is purely aesthetic. + The default value will not change axis, and is best for re-exporting from Blender. + This default option will change display mode (adding shape and changing relationship line) to have a better view, + even if original bones axis are not the most accurate (estheticaly speaking) +Guess Original Bind Pose + Determines the pose for bones (and consequently, skinned meshes) in Edit Mode. + When on, attempts to guess the pose that was used to compute the inverse bind matrices. +Disable Bone Shape + Do not display bone shapes in the 3D View. +Bone Shape Scale + Scale of the bone shapes in the 3D View. + + +Pipeline +^^^^^^^^ + +Import Scenes as Collections + Import glTF scenes as collections. This is the default. + For single scene import, all objects are created in active collection + For multiple scenes import, each scene is imported as a collection. Non default scene are excluded from View Layer. + If there are some orphan nodes (not in any scenes), an Orphan Collection is created (excluded from View Layer too). + When off, the glTF scene is imported in the Blender active scene. + Other glTF scenes are imported as new Blender Scenes. +Select Imported Objects + Select created objects after import. +Import Scene Extras + Import glTF extras as custom properties, at scene level. + + +Export +------ + +Format + See: `File Format Variations`_. +Keep Original + For glTF Separate file format only. Keep original textures files if possible. + Warning: if you use more than one texture, where PBR standard requires only one, + only one texture will be used. This can lead to unexpected results +Textures + For glTF Separate file format only. Folder to place texture files in. Relative to the gltf-file. +Copyright + Legal rights and conditions for the model. +Remember Export Settings + Store export settings in the blend-file, + so they will be recalled next time the file is opened. + + +Include +^^^^^^^ + +Selected Objects + Export selected objects only. +Visible Objects + Export visible objects only. +Renderable Objects + Export renderable objects only. +Active Collection + Export objects from active collection only. +Include Nested Collections + Only when Active Collection is On. + When On, export recursively objects on nested active collections. +Active Scene + Export active scene only. +Custom Properties + Export custom properties as glTF extras. +Cameras + Export cameras. +Punctual Lights + Export directional, point, and spot lights. Uses the ``KHR_lights_punctual`` glTF extension. + + +Transform +^^^^^^^^^ + +Y Up + Export using glTF convention, +Y up. + + +Data - Scene Graph +^^^^^^^^^^^^^^^^^^ + +Geometry Nodes Instances + Export Geometry nodes instances. This feature is experimental. + +GPU Instances + Export using ``EXT_mesh_gpu_instancing`` extensions. + +Flatten Object Hierarchy + Useful in case of non-decomposable TRS matrix. Only skined meshes will stay children of armature. + +Full Collection Hierarchy + Export collections as empty, keeping full hierarchy. If an object is in multiple collections, + it will be exported it only once, in the first collection it is found. + + +Data - Mesh +^^^^^^^^^^^ + +Apply Modifiers + Export objects using the evaluated mesh, meaning the resulting mesh after all + :doc:`Modifiers ` have been calculated. +UVs + Export UVs (texture coordinates) with meshes. +Normals + Export vertex normals with meshes. +Tangents + Export vertex tangents with meshes. +Attributes + Export Attributes with meshes, when the name starts with underscore. +Loose Edges + Export loose edges as lines, using the material from the first material slot. +Loose Points + Export loose points as glTF points, using the material from the first material slot. +Shared Accessor + For triangles, use shared accessor for indices. This is more efficient (smaller files when you have lots of + materials). + + +Data - Mesh - Vertex Color +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Use Vertex Color + :Material: + Export vertex color when used in material node tree as Base Color multiplier. + This is the default, and the most accurate regarding glTF specification. + :Active: + Export active vertex colors, even if not used in material node tree. + A fully compliant glTF viewer should display this VC as Base Color multiplier. + :Name: + Export vertex color with the given name. + A fully compliant glTF viewer should display this VC as Base Color multiplier. + :None: + Do not export vertex color. +Export all vertex colors + Export all vertex colors, additional VC will be COLOR_1, COLOR_2, etc. +Export active vertex color when no material + Export active vertex color when no material is assigned to the object. + + +Data - Material +^^^^^^^^^^^^^^^ + +Materials + :Export: + Export full materials, including all textures and shaders from node tree. + :Placeholder: + Export only the material placeholder, without any texture or shader. + Primitives are not merged, so material slot information is kept. + :Viewport: + Export only the viewport material (Base Color, Roughness, and Metalness). + :No Export: + Does not export materials. Primitives are merged, losing material slot information. +Images + Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for + web applications due to the smaller file size. + If WebP is chosen, all textures will be saved as WebP, without any png/jpg fallback. + If None is chosen, materials are exported without textures. +Image Quality + When exporting jpeg or WebP files, the quality of the exported file. +Create WebP + Creates WebP textures for every textures, in addition to the existing texture. + For already WebP textures, nothing happen. +WebP fallback + For all WebP textures, create a png fallback texture. +Unused images + Export images that are not used in any material. +Unused textures + Export texture info (sampler, image, texcoord) that are not used in any material. + + +Data - Shape Keys +^^^^^^^^^^^^^^^^^ + +Export shape keys (morph targets). + +Shape Key Normals + Export vertex normals with shape keys (morph targets). +Shape Key Tangents + Export vertex tangents with shape keys (morph targets). + + +Data - Shape Keys - Optimize +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Use Sparse Accessor if better + Sparse Accessor will be used if it save space (if the exported file is smaller) +Omitting Sparse Accessor if data is empty + If data is empty, omit to export SParce Accessor. Not all viewer managed it correctly, so this option is Off by + default + + +Data - Armature +^^^^^^^^^^^^^^^ + +Use Rest Position Armature + Export Armatures using rest position as joint rest pose. When Off, the current frame pose is used as rest pose. +Export Deformation Bones only + Export Deformation bones only, not other bones. + Animation for deformation bones are baked. +Remove Armature Object + Remove Armature Objects if possible. If some armature(s) have multiple root bones, we can't remove them. +Flatten Bone Hierarchy + Useful in case of non-decomposable TRS matrix. + + +Data - Skinning +^^^^^^^^^^^^^^^ + +Export skinning data + +Bone influences + How many joint verex influences will be exported. Models may appear incorrectly in many viewers with value + different to 4 or 8. + +Include All Bone Influences + Export all joint vertex influences. Models may appear incorrectly in many viewers. + + +Data - Lighting +^^^^^^^^^^^^^^^ + +Lighting Mode + Optional backwards compatibility for non-standard render engines. Applies to lights. + Standard: Physically-based glTF lighting units (cd, lx, nt). + Unitless: Non-physical, unitless lighting. Useful when exposure controls are not available + Raw (Deprecated): Blender lighting strengths with no conversion + + +Data - Compression +^^^^^^^^^^^^^^^^^^ + +Compress meshes using Google Draco. + +Compression Level + Higher compression results in slower encoding and decoding. +Quantization Position + Higher values result in better compression rates. +Normal + Higher values result in better compression rates. +Texture Coordinates + Higher values result in better compression rates. +Color + Higher values result in better compression rates. +Generic + Higher values result in better compression rates. + + +Animation +^^^^^^^^^ + +Animation mode + Animation mode used for export (See `Animations`_) + + +Animation - Bake & Merge +^^^^^^^^^^^^^^^^^^^^^^^^ + +Bake All Objects Animations + Useful when some objects are constrained without being animated themselves. +Merge Animation + Merge animation mode. Can be by Action (using slot), by NLA Track Name, or no merge. + When merging by NLA Track Name, all animation with the same NLA Track name will be merged. + When merging by Action, all animations with the same action will be merged. + When no merge, all animations will be exported as separate animations. + + +Animation - Rest & Ranges +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Use Current Frame as Object Rest Transformations + Export the scene in the current animation frame. When off, frame 0 is used as rest transformation for objects. +Limit to Playback Range + Clips animations to selected playback range. +Set all glTF Animation starting at 0 + Set all glTF Animation starting at 0. Can be useful for looping animation +Negative Frames + When some frames are in negative range, slide or crop the animation. + +Animation - Armature +^^^^^^^^^^^^^^^^^^^^ + +Export all Armature Actions + Export all actions, bound to a single armature. + Warning: Option does not support exports including multiple armatures. +Reset pose bones between actions + Reset pose bones between each action exported. + This is needed when some bones are not keyed on some animations. + + +Animation - Shape Keys +^^^^^^^^^^^^^^^^^^^^^^ + +Shape Keys Animations + Export Shape Keys Animation. Need Shape Keys to be exported (See `Data - Shape Keys`_) +Reset Shape Keys between actions + Reset Shape Keys between each action exported. + This is needed when some shape keys are not keyed on some animations. + + +Animation - Sampling +^^^^^^^^^^^^^^^^^^^^ + +Apply sampling to all animations. Do not sample animation can lead to wrong animation export. + +Sampling Rate + How often to evaluate animated values (in frames). +Sampling Interpolation Fallback + Interpolation choosen for properties that are not keyed (LINEAR or STEP/CONSTANT) + + +Animation - Optimize +^^^^^^^^^^^^^^^^^^^^ + +Optimize Animation Size + Reduce exported file size by removing duplicate keyframes when all identical. +Force keeping channel for armature / bones + if all keyframes are identical in a rig, force keeping the minimal animation. +Force keeping channel for objects + if all keyframes are identical for object transformations, force keeping the minimal animation. +Disable viewport for other objects + When exporting animations, disable viewport for other objects, for performance reasons, when possible. + + +Animation - Filter +^^^^^^^^^^^^^^^^^^ + +Restrict actions to be exported to the ones matching the filter. + + +Collection Exporters +==================== + +This exporter can be used as a collection exporter. +See :doc:`/scene_layout/collections/collections` for more information about collections and their exporters. + +Here are the options & specificity for collection export: + +- Include part of options are not available for collection exporter (like every other exporter). +- Option to export at collection center (at center of mass of all root objects of the collection). +- Custom Properties of the collection are exported as Scene glTF extras. + + +Contributing +============ + +This importer/exporter is developed through +the `glTF-Blender-IO repository `__, +where you can file bug reports, submit feature requests, or contribute code. + +Discussion and development of the glTF 2.0 format itself takes place on +the Khronos Group `glTF GitHub repository `__, +and feedback there is welcome. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/index.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/index.rst new file mode 100644 index 0000000..5bfe6e1 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/index.rst @@ -0,0 +1,30 @@ +.. index:: Add-ons + +########### + Add-ons +########### + +.. important:: + + This is work in progress. + + Documentation might be outdated and on some pages images, videos, and links aren't added yet. + + +Add-ons Category Listings +========================= + +.. Editor notes: + + - Note that only add-ons released in Blender are included in this section. + - This section lists the add-ons categories in the same order they appear in Blender + - Each subsection contains the documentation files for the related add-ons. + +.. toctree:: + :maxdepth: 1 + + 3d_view/index.rst + import_export/index.rst + node/index.rst + rigging/index.rst + system/index.rst diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/node/index.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/node/index.rst new file mode 100644 index 0000000..3a9a53f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/node/index.rst @@ -0,0 +1,10 @@ +######## + Node +######## + +These add-ons relate to the node editors and related tools. + +.. toctree:: + :maxdepth: 1 + + node_wrangler.rst diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/node/node_wrangler.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/node/node_wrangler.rst new file mode 100644 index 0000000..299f8b7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/node/node_wrangler.rst @@ -0,0 +1,533 @@ + +************* +Node Wrangler +************* + +Node Wrangler provides various tools that help you to work with nodes quickly and efficiently. + +While many of this add-on's functions work in all supported node editors (Compositor, Shader, Geometry Nodes, +and Texture Nodes) some functions only work in specific node editors, and some functions work differently per +editor. +Functions that only work in specific editors are marked with labels (:guilabel:`Compositor`, :guilabel:`Shader`, +:guilabel:`Geometry Nodes`, :guilabel:`Texture Nodes`). Functions without labels should work for all node editors. + + +Enabling Add-on +=============== + +#. Open Blender and go to :doc:`/editors/preferences/addons` section of the :doc:`/editors/preferences/index`. +#. Search "Node Wrangler" and check the *Enable Add-on* checkbox. + + +Usage +===== + +Use the panel in Sidebar of the node editor or press :kbd:`Shift-W` to bring up the quick access menu. You can also +look up the shortcut list in the add-on preferences panel. + +.. figure:: /images/addons_node_node-wrangler_menu.png + + You can access most functions from the sidebar panel or quick access menu. + + +Description +=========== + +Lazy Connect +------------ + +.. reference:: + + :Shortcut: :kbd:`Alt-RMB`-drag, :kbd:`Shift-Alt-RMB`-drag + +Connect two nodes without even clicking the sockets. Just drag the cursor from one node to another while +holding :kbd:`Alt-RMB`. +It will select the nodes nearest the start and end points of the drag for connection, so you don't even have +to click on the nodes. + +.. figure:: /images/addons_node_node-wrangler_lazy-connect.png + + Selection can be lazy. + +It tries to connect the best-matched sockets possible, based on their names, types, and whether they are +open or not. + +For a more precise connection, you can alternatively use :kbd:`Shift-Alt-RMB`. It brings up menus of +available inputs and outputs before connection, so you can select the exact sockets to connect. +It's especially useful when working with a large node tree since you can make connections without +frequently zooming in and out. + + +Lazy Mix +-------- + +.. reference:: + + :Shortcut: :kbd:`Shift-Ctrl-RMB`-drag + +Connect the outputs of two nodes into an appropriate "mix" type of node. This is the "lazy" way of selecting +nodes and executing the *Mix* function from `Merge with Automatic Type Detection`_. + + +Merge +----- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Merge Selected Nodes` + +Connect outputs of the selected nodes into a "mix" type of node (Mix, Math, Z-Combine, Alpha Over, Mix Shader, Add +Shader, Join Geometry). + +.. note:: + + Merge currently does not support outputs of Integer, String, or Boolean types from Geometry Nodes. + +There are automatic and manual ways of merging. The automatic ways let the add-on determine which "mix" node +to use based on the types of outputs to merge. The manual ways let you decide and force connections even if the +types of outputs and the "mix" node are not compatible. + +.. note:: + + Generally, the modifier part of the shortcut signifies the type of "mix" node you want to use (:kbd:`Ctrl` + for automatic detection, :kbd:`Ctrl-Alt` for the Mix node, and :kbd:`Shift-Ctrl` for the Math node), + the non-modifier part signifies the mode of "mix" node you want to set (:kbd:`NumpadPlus` for add, + :kbd:`NumpadMinus` for subtract, :kbd:`NumpadSlash` for divide, and :kbd:`NumpadAsterisk` for multiply). + + +Merge with Automatic Type Detection +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The automatic merge functions determine the type of "mix" node to use based on the types of outputs to merge. If +it has a Color output, it will use the Mix node. It will use the Math node if both outputs are of Value type. +Add Shader, Mix Shader, and Join Geometry nodes will also be used for specific cases. + +Modes + Add :kbd:`Ctrl-=`, :kbd:`Ctrl-NumpadPlus` + Merge into Mix or Math nodes, then set blend mode or math operation as Add. If the outputs are Shaders, + it will use Add Shader node instead. + Multiply :kbd:`Ctrl-8`, :kbd:`Ctrl-NumpadAsterisk` + Merge into Mix or Math nodes, then set blend mode or math operation as Multiply. + Subtract :kbd:`Ctrl-Minus`, :kbd:`Ctrl-NumpadMinus` + Merge into Mix or Math nodes, then set blend mode or math operation as Subtract. + Divide :kbd:`Ctrl-Slash`, :kbd:`Ctrl-NumpadSlash` + Merge into Mix or Math nodes, then set blend mode or math operation as Divide. + Mix :kbd:`Ctrl-0`, :kbd:`Ctrl-Numpad0` + Merge into Mix node, then set blend mode as Mix. If the outputs are Shaders, it will use Mix Shader node + instead. If the outputs are Geometry, it will use Join Geometry node. + + +Merge Using Mix Node +^^^^^^^^^^^^^^^^^^^^ + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Merge Selected Nodes --> Use Mix Nodes` + +Use the Mix nodes for merging, regardless of the selected nodes. You can choose the mode of the node via the menu. +You can quickly set some operations by using corresponding shortcuts. + +- Add: :kbd:`Ctrl-Alt-=`, :kbd:`Ctrl-Alt-=` +- Subtract: :kbd:`Ctrl-Alt-Minus`, :kbd:`Ctrl-Alt-NumpadMinus` +- Multiply: :kbd:`Ctrl-Alt-8`, :kbd:`Ctrl-Alt-NumpadAsterisk` +- Divide: :kbd:`Ctrl-Alt-Slash`, :kbd:`Ctrl-Alt-NumpadSlash` + + +Merge Using Math Node +^^^^^^^^^^^^^^^^^^^^^ + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Merge Selected Nodes --> Use Math Nodes` + +Use the Math nodes for merging, regardless of the selected nodes. You can choose the mode of the node via the menu. +You can quickly set some operations by using corresponding shortcuts. + +- Add: :kbd:`Shift-Ctrl-=`, :kbd:`Shift-Ctrl-=` +- Subtract: :kbd:`Shift-Ctrl-Minus`, :kbd:`Shift-Ctrl-NumpadMinus` +- Multiply: :kbd:`Shift-Ctrl-8`, :kbd:`Shift-Ctrl-NumpadAsterisk` +- Divide: :kbd:`Shift-Ctrl-Slash`, :kbd:`Shift-Ctrl-NumpadSlash` +- Greater than: :kbd:`Ctrl-Comma` +- Less than: :kbd:`Ctrl-Period` + + +Merge Using Z-Combine Node +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:guilabel:`Compositor` + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Merge Selected Nodes --> Use Z-Combine Nodes` + :Shortcut: :kbd:`Ctrl-NumpadPeriod` + +Use the Z-Combine nodes for merging. If possible, Image and Z-Depth outputs will be linked. If the current +node editor is not Compositor, this will execute the *Mix* function from the automatic merge. + + +Merge Using Alpha Over Node +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:guilabel:`Compositor` + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Merge Selected Nodes --> Use Alpha Over Nodes` + :Shortcut: :kbd:`Ctrl-Alt-0` + +Use the Alpha Over nodes for merging. If the current node editor is not Compositor, this will execute the *Mix* +function from the automatic merge. + + +Batch Change Blend Mode / Math Operation +---------------------------------------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Batch Change` + +Change the blend mode or math operation of the selected Mix and Math nodes at once. +You can use :kbd:`Alt-Up` or :kbd:`Alt-Down` to cycle through previous or next blend modes or math operations. +You can also quickly set some operations by using corresponding shortcuts. + +- Add: :kbd:`Alt-=`, :kbd:`Alt-=` +- Subtract: :kbd:`Alt-Minus`, :kbd:`Alt-NumpadMinus` +- Multiply: :kbd:`Alt-8`, :kbd:`Alt-NumpadAsterisk` +- Divide: :kbd:`Alt-Slash`, :kbd:`Alt-NumpadSlash` +- Greater than: :kbd:`Alt-Comma` +- Less than: :kbd:`Alt-Period` + +Change Mix Factor +----------------- + +.. reference:: + + :Shortcut: + :kbd:`Alt-Left`, :kbd:`Shift-Alt-Left`, :kbd:`Alt-Right`, :kbd:`Shift-Alt-Right`, + :kbd:`Shift-Ctrl-Alt-Left`, :kbd:`Shift-Ctrl-Alt-0`, :kbd:`Shift-Ctrl-Alt-Right`, :kbd:`Shift-Ctrl-Alt-1` + +Change the Factor value of the selected Mix and Mix Shader nodes with shortcuts. + +- Increase Factor by 0.1: :kbd:`Alt-Right` +- Decrease Factor by 0.1: :kbd:`Alt-Left` +- Increase Factor by 0.01: :kbd:`Shift-Alt-Right` +- Decrease Factor by 0.01: :kbd:`Shift-Alt-Left` +- Set Factor to 0.0: :kbd:`Shift-Ctrl-Alt-Left`, :kbd:`Shift-Ctrl-Alt-0` +- Set Factor to 1.0: :kbd:`Shift-Ctrl-Alt-Right`, :kbd:`Shift-Ctrl-Alt-1` + + +Delete Unused Nodes +------------------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Delete Unused Nodes` + :Shortcut: :kbd:`Alt-X` + +Clean up your node tree. Delete all nodes that don't contribute to the final result. + + +Swap Links +---------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Swap Links` + :Shortcut: :kbd:`Alt-S` + +When two nodes are selected, this swaps each other's output link. +Note that some output connections can be lost if the two nodes have a different number of connected +outputs. + +With one node selected, if the node has one linked input, it cycles the link through the available input +sockets. If the node has two linked inputs, it swaps those two links. If there are more than two inputs linked, +it swaps the two inputs with matching types (the Mix node's two Color inputs, for example). + +.. figure:: /images/addons_node_node-wrangler_swap_links.png + + Swap works differently depending on the selected nodes and their links. + + +Reset Backdrop +-------------- + +:guilabel:`Compositor` + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Reset Backdrop` + :Shortcut: :kbd:`Z` + +Reset the position and scale of the backdrop. + + +Add Attribute Node +------------------ + +:guilabel:`Shader` + +.. reference:: + + :Menu: :menuselection:`Header --> Add --> Input --> Attributes` + +Add an Attribute node with the selected attribute. + + +Preview Node Output +------------------- + +:guilabel:`Shader` :guilabel:`Geometry Nodes` + +.. reference:: + + :Shortcut: :kbd:`Shift-Ctrl-LMB` for :guilabel:`Shader`, :kbd:`Shift-Alt-LMB` for :guilabel:`Geometry Nodes` + +Connect an output of the selected node to the final output of the node tree (the Material Output or World Output +for Shader, the final Group Output for Geometry Nodes) to preview its output in the viewport. +You can cycle through the available outputs by clicking it again while holding the modifier keys. + +.. seealso:: + + While in Shader, any output can be connected to the final output, in Geometry Nodes, only Geometry outputs + can be connected to the final output. + To preview other types of outputs in Geometry Nodes, + use its own :doc:`Viewer Node `. + +.. seealso:: + + Also check out *Connect to Output*. It is a similar function but has different behaviors. + It also works in all node editors. + + +Join Nodes +---------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Join Nodes` + :Shortcut: :kbd:`Shift-P` + +See :ref:`bpy.ops.node.join`. + + +Reload Images +------------- + +:guilabel:`Compositor` :guilabel:`Shader` :guilabel:`Texture Nodes` + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Reload Images` + :Shortcut: :kbd:`Alt-R` + +Reload all of the images used in the node tree. This lets you reload the images without using the Image Editor. + + +Copy Settings +------------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Copy to Selected --> Settings from Active` + :Shortcut: :kbd:`Shift-C` + +Copy the settings of the active node to all selected nodes of the same type. + + +Reset Nodes +----------- + +.. reference:: + + :Shortcut: :kbd:`Backspace` + +Revert the settings of the selected nodes to default while maintaining connections. + + +Copy Label +---------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Copy to Selected --> Copy Label` + :Shortcut: :kbd:`Shift-V`, :kbd:`Shift-C` + +Copy custom labels to all of the selected nodes. You can copy them from the active node (:kbd:`Shift-V`), +from the nodes that are linked to the selected ones, or from the names of the sockets that the selected nodes +are linked to. +:kbd:`Shift-C` will bring up a submenu with all available options. + + +Clear Label +----------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Clear Label` + :Shortcut: :kbd:`Alt-L` + +Clear the custom labels of selected nodes and revert them back to their default node names. + + +Modify Labels +------------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Modify Labels` + :Shortcut: :kbd:`Shift-Alt-L` + +Batch rename the custom labels of selected nodes. You can add text to the beginning and the end and replace parts +of the text. + + +Add Texture Setup +----------------- + +:guilabel:`Shader` + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Add Texture Setup` + :Shortcut: :kbd:`Ctrl-T` + +Add a setup of a texture node, Texture Coordinate, and Mapping nodes to any shader node. +If you select a texture node, it will only add the Texture Coordinate and Mapping nodes. +For a background shader it will add an Environment Texture node. + + +Add Principled Texture Setup +---------------------------- + +:guilabel:`Shader` + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Add Principled Setup` + :Shortcut: :kbd:`Shift-Ctrl-T` + +Add a principled texture setup from the selected texture files. Select a Principled BSDF node, +select *Add Principled Setup* from the quick access menu (or press :kbd:`Shift-Ctrl-T`), and select texture files. +It automates the process of adding Image Texture nodes, loading images, selecting the appropriate Color Space, +and connecting their outputs to the Principled BSDF node. + +It detects the type of textures by looking at their file names. You can edit the tags used for this matching +process in the add-on preferences. + +.. figure:: /images/addons_node_node-wrangler_swap_pbr-setup.jpg + + Setting up these textures can take dozens of clicks, even with Node Wrangler's other tools. + With Principled Texture Setup, you can reduce that to a few clicks. + + +Add Reroutes to Outputs +----------------------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Add Reroutes` + :Shortcut: :kbd:`Slash` + +Add reroute nodes to each output of the selected nodes. + + +Link Active to Selected +----------------------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Link Active to Selected` + :Shortcut: :kbd:`Backslash` + +Link the active node to the selected nodes based on various criteria. + +To All Selected + Link the active node to all selected nodes. (:kbd:`K`) You can force it to replace existing links. + (:kbd:`Shift-K`) + +Use Node Name/Label + Link only to the selected nodes that have the same label as the active node. (:kbd:`'`) You can force it to + replace existing links. (:kbd:`Shift-'`) + +Use Outputs Names + Link only when the name of the outputs matches the name or label of the selected nodes. (:kbd:`;`) You can + force it to replace existing links. (:kbd:`Shift-;`) This is handy for replacing sources at the same time. + (For example, connecting outputs from Render Layer to image (multi-layer EXR) in Compositor.) + + +Align Nodes +----------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Align Nodes` + :Shortcut: :kbd:`Shift-=` + +Align the selected nodes horizontally or vertically. The effect is similar to scaling nodes on an axis +(:kbd:`S X 0` or :kbd:`S Y 0`), but it places the nodes at an even distance. + + +Select within Frame (Parent/Children) +------------------------------------- + +- :kbd:`]` -- Select all direct child nodes of the selected frame. +- :kbd:`[` -- Select the direct parent frame node of the selected nodes. + + +Detach Outputs +-------------- + +.. reference:: + + :Menu: :menuselection:`Node Wrangler --> Detach Outputs` + :Shortcut: :kbd:`Shift-Alt-D` + +Detach the selected node's outputs while leaving linked inputs intact. + + +.. _bpy.ops.node.add_image: + +Add Multiple Images +------------------- + +:guilabel:`Compositor` :guilabel:`Shader` + +.. reference:: + + :Menu: :menuselection:`Add --> Input` for :guilabel:`Compositor`, + or :menuselection:`Add --> Texture` for :guilabel:`Shader` + +Select multiple images and add a node for each image. +(Useful for importing multiple render passes or renders for image stacking.) + + +.. _bpy.ops.node.nw_add_sequence: + +Add Image Sequence +------------------ + +:guilabel:`Compositor` :guilabel:`Shader` + +.. reference:: + + :Menu: :menuselection:`Add --> Input Add Image Sequence` for :guilabel:`Compositor`, + or :menuselection:`Add --> Texture Add Image Sequence` for :guilabel:`Shader` + +Add an Image Sequence by only selecting one image from a sequence of image files. It will automatically detect +the length of the sequence and set the node appropriately. + +Relative Path + Sets the file path to be relative to the currently opened blend-file. + See :ref:`files-blend-relative_paths`. +Start Frame + Global starting frame of the movie/sequence, assuming first picture has a #1. + +.. reference:: + + :Category: Node + :Description: Various tools to enhance and speed up node-based workflow. + :Location: :menuselection:`Node editor --> Sidebar` or see the shortcuts of individual tools. + :File: node_wrangler.py + :Author: Bartek Skorupa, Greg Zaal, Sebastian Koenig, Christian Brinkmann, Florian Meyer + :License: GPL + :Note: This add-on is bundled with Blender. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/index.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/index.rst new file mode 100644 index 0000000..a99d143 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/index.rst @@ -0,0 +1,11 @@ + +########### + Rigging +########### + +These add-ons relate to rigging and armatures. + +.. toctree:: + :maxdepth: 1 + + rigify/index.rst diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/basics.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/basics.rst new file mode 100644 index 0000000..1db73e3 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/basics.rst @@ -0,0 +1,276 @@ + +*********** +Basic Usage +*********** + +.. _bpy.ops.pose.rigify_generate: + +Basic Rig Generation +==================== + +#. Add a meta-rig structure from the :menuselection:`Add --> Armature` menu. +#. Edit the bone positions to match the character geometry. +#. In the armature properties click on the *Generate Rig* button to generate the rig. + + +Add a Predefined Meta-Rig +------------------------- + +.. reference:: + + :Mode: Object Mode + :Menu: :menuselection:`Add --> Armature` + :Shortcut: :kbd:`Shift-A` + +Rigify stores all the information required to generate complex rig controls and mechanism in +more simple armatures called "meta-rigs". + +The predefined meta-rigs can be found in the *Add* menu. +Currently available meta-rig types are: + +- Basic Human (doesn't include face and fingers) +- Basic Quadruped +- Human +- Cat +- Wolf +- Horse +- Shark + + +Edit Bone Positions +------------------- + +To correctly match your character, meta-rig bones must be moved to correct positions. +This can be achieved in two different ways: Pose Mode or Edit Mode. + +.. note:: + + Rigify assumes that 1 unit corresponds to 1 meter. So a human is about 2 units tall. + If your character is in a different scale and you are more familiar with modeling rather than rigging, + it is suggested to scale it to Rigify dimensions before positioning the meta-rig bones. + If you want to scale the character's geometry, we suggest you to first scale up the character in Object Mode, + then apply the geometry scale with the *Apply Scale* tool. + + +Rigify Human Alignment Tips +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- Limbs: Keep the legs as straight as possible in the front view (Rigify human works better in predictable cases). + Give the knee and the elbow a slight bend angle (Rigify needs to know where your knee/elbow is pointing). +- Torso: Keep the spine as straight as possible in the front view (Rigify human works better in predictable cases). + The last bone of the spine is the head. By default the next two bones (top to bottom) + are considered the neck bones. It is suggested to keep the neck bones as aligned as possible while editing. +- Face: Positioning face bones can be tricky if you are not an expert in bone editing and + they are almost useless if you plan to make facial animation through shape keys. + Consider removing face features from your character if they aren't really needed. + If you don't need the face all the face bones can be deleted. + All the face bones are in the *Face* armature bone collection by default. + You can select them by displaying only that collection, selecting all of its content and + then deleting the bones in Edit Mode to correctly remove the face. + + If you want to scale all the face bones at once, consider scaling the face master bone + in Pose Mode (see Pose Mode matching method). + The face master bone is placed in the same position of the head bone. + To select it easily, hide all other bone collections. + + For more tips, see the :doc:`Positioning Guide `. + + +Pose Mode Matching (Basic) +-------------------------- + +Enter the meta-rig Pose Mode. Rotate, scale, and translate the bones in the correct position. +When bones are in correct positions (always staying in Pose Mode) +use :menuselection:`Apply --> Apply Pose As Rest Pose`. + +.. note:: + + Connected bones cannot be translated in Pose Mode. + You can scale the parent bones to match the general length and then refine child bones scale. + For more detailed information on armature modes please refer to + the :doc:`armatures section `. + + +Edit Mode Matching (Advanced) +----------------------------- + +Some basic armature display setup is suggested before entering bone Edit Mode. + +With the meta-rig selected, go in the Properties and click on the Object tab. +Scroll down to the display panel and enable X-ray and under *Maximum Draw Type* selector select *Wire*. +This way the bones will always be drawn in wireframe on top of your geometry. + +Then, always in the Properties click on the Armatures tab and under display check the *Axis* checkbox. +This way you the bones rotation axes will be displayed during the edit process. + +For more detailed information on armature display modes please refer to +the :doc:`Display panel page `. + + +Generating the Rig +------------------ + +With the bones in the correct positions, jump back in Object Mode, go to the Armature tab, +scroll down to the bottom and click on the *Generate Rig* button to finalize the rig creation. +The generation process will take from few seconds to one minute depending on +rig complexity and hardware specifications of your machine. +If the generated rig needs tweaking, you can modify the meta-rig accordingly and +then click again on the generate button. If the rig already exists, +Rigify will simply overwrite it retaining all your modifiers and constraints and -- where possible -- +all the previously generated features. + +For information about additional generation options, see the `Advanced Rig Generation`_ section. + +.. tip:: + + If the metarig uses the legacy :doc:`face rig <./rig_types/faces>`, you can use the + *Upgrade Face Rig* button that appears above *Generate Rig* to automatically upgrade + to the new modular face system. + + The upgrade will preserve compatibility with existing skinning, but existing poses and + animations will likely not be compatible due to subtle changes in control behavior. + +.. note:: + + To make the rig overwriting work as expected, you need to have **both** the rig and + the meta-rig visible before generating again. Rigify will try to unhide them in simple + cases, but will abort generation if that fails. + +.. warning:: + + As with all Python add-ons, Blender interface cannot be updated until the Python script execution is over. + Wait until the rig appears to see the results. + +.. warning:: + Rigify is designed assuming a workflow where the meta-rig is kept available to allow re-generating + the main rig whenever it is necessary to make changes to it. Removing the meta-rig after generating + the main rig, or significantly modifying the generated rig is not advised: it will make it impossible + to introduce features added in later versions of Rigify, or easily adapt it to breaking changes in later + Blender versions. In general, automatic version update scripts will be provided for meta-rigs when necessary, + but not generated rigs. + + +Binding the Geometry to the Rig +------------------------------- + +To bind the geometry to the rig you can use your preferred tools. Just few things you have to know: + +- All the deforming bones are in the *DEF* bone collection. +- Eyes and Teeth bones of the legacy face are not deforming. You are supposed to bind the eyes and + teeth geometry through Child Of constraints. +- Usually armature deform with automatic weights do a really good job out of the box + if you correctly place your bones (and there is enough topology to work with!). + +For more detailed information on bone collections, Armature modifier and weight painting refer to the Blender manual. + + +.. _bpy.types.Armature.rigify: + +Advanced Rig Generation +======================= + +Advanced Options Features +------------------------- + +By using options in the Advanced sub-panel, it is possible to: + +- Generate more than one rig per scene. +- Update/Override a specific rig. +- Force previously generated widget objects to be overwritten. +- Choose whether to use linked duplicates for left and right side widgets. +- Execute a script data-block after generation. + +Advanced Options Sub-Panel +-------------------------- + +.. figure:: /images/addons_rigging_rigify_basics_advanced-panel.png + :align: right + :width: 300px + +Advanced rig generation options are by default hidden in a sub-panel. Click on the *Advanced* line to open it. + +Some of the options will be automatically set by Rigify if they have no value when a rig is generated, +while others are fully controlled by the user. + +Rig Name + When a brand new rig is generated, as opposed to overwriting an existing one, the value of this option + is used to name it. + + If this field is empty, the new object will be named based on the name of the metarig according + to the following rules: + + - If the name contains ``META``, it is replaced with ``RIG``. + - If the name contains ``metarig``, it is replaced with ``rig``. + - Otherwise, ``RIG-`` is prefixed to the name. + + When overwriting an existing rig object specified by the *Target Rig* option, its name is not changed, + allowing it to be freely renamed without having to keep the value of this option in sync. + +Target Rig :guilabel:`auto` + This option specifies the generated rig to overwrite when re-generating from this metarig. + + If the option is not set, Rigify will generate a new rig object and store it in this option. + + .. note:: + + When the option isn't set, Rigify will create a brand new rig object even if an object + with a matching name already exists. + +Rig UI Script :guilabel:`auto` + This option specifies the generated script data block to overwrite when re-generating, and + works in the same manner as *Target Rig*. + + The script controls the UI in the 3D Viewport that allows conveniently switching visible + bone collections, changing custom properties, converting between IK and FK and so on. + +Widgets Collection :guilabel:`auto` + This reference specifies the collection containing generated widgets, and + works in the same manner as *Target Rig*. + +Overwrite Widget Meshes + If enabled, Rigify will generate new widgets every time the rig is re-generated. By default, + it tries to reuse the already generated widget objects that exist in the widget collection, + allowing them to be manually edited to fit the character better. + +Mirror Widgets + When enabled, Rigify generates widgets for left and right side bones as + linked duplicates, using negative X scale to flip the right side version. + This enforces symmetry and reduces the number of meshes to adjust to + fit the character. + + When reusing an already generated widget, Rigify detects if it was originally generated mirrored + by checking object scale to avoid flipping existing controls. Therefore switching to mirrored + widgets for an existing character requires deleting the right side widgets, or *Force Widget Update*. + +Run Script + It is possible to configure Rigify to execute a Python script contained in a text data-block + after generation in order to apply user-defined customizations. The script is executed with + the generated rig active and selected in Object Mode. + + The simplest use of this may be adjusting properties of generated constraints when Rigify rig types + don't have any relevant meta-rig settings. That can be done by using the *Copy Full Data Path* + context menu option on the property, pasting it into the script and making an assignment, e.g.:: + + import bpy + + bpy.data.objects["rig"].pose.bones["MCH-spine.003"].constraints[0].influence = 0.6 + + Doing such changes via a script ensures they aren't lost if the rig is re-generated. + + Users familiar with `Rigify scripting `__ + can import Rigify utility modules, and access the generator instance through ``rigify.get_generator()``. + Yet note that, since generation is already finished, the only use of that is reading data created + in the generation process. + + +Library Linking +=============== + +When linking a rig into another file, you generally want to create a collection that includes +the generated rig and the character mesh. You do not need to include the meta-rig or the widget +object collection. You then link in the collection and run +:ref:`Make Library Override `. + +The ``rig_ui_template.py`` text data-block responsible for the rig UI +will be automatically linked along with the rig, you don't need to link it separately. +However, the script will not run until you run it manually from the Text editor or save and restart Blender. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/bone_positioning.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/bone_positioning.rst new file mode 100644 index 0000000..a90302c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/bone_positioning.rst @@ -0,0 +1,220 @@ + +********************** +Bone Positioning Guide +********************** + +Face Bones +========== + +Start by identifying basic face landmarks to follow as guide for bones placement. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_face-landmarks.png + :align: center + + Basic Face Landmarks. + +- Orange lines represent bones that should be placed in closed loops. +- Yellow lines represent bones whose position depends on surrounding bone loops. +- Red lines represent outer edge bones. +- Purple lines represent bridging bones used to cover deforming flesh. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_face-eyes-nose-landmarks.png + :align: center + + Eyes-Nose Landmarks. + +The eyes-nose loop area is split in different parts identified by bone names. Follow the image to place the bones. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_face-eyes-nose-bones.png + :align: center + + Eyes-Nose Bone Positions. + +.. tip:: Brow Placement + + Keeping aligned the mid bones in "brow", "brow.b", "lid.t", "lid.t" and + cheek will give better results after rig generation. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_face-jaw-ear-bones.png + :align: center + + Jaw-Ear Bone Positions. + +Also the jaw-ear area is split in different parts identified by bone names. Follow the image to place the bones. + +.. tip:: Jaw Placement + + Try to place "ear.L" bone covering the part of the ear attached to the mandible (lower jaw). + Do the same with temple bone trying to cover the part you don't want to move with the jaw, + this way you will also determine the jaw pivot position. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_face-lips-merge-point.png + :align: center + + Lips Merge Point. + +.. warning:: + + While moving the face bones it is necessary to preserve merge points, i.e. whenever heads + or tails of two or more bones overlap at the same point, they should still do so after + repositioning. Tearing a merge point apart may result in multiple controls being created + instead of one, or even the generation of errors. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_face-stretcher-bones.png + :align: center + + Face Stretcher Bones. + +After the main face bones are placed use the cheek bone to connect the eye-nose area to the jaw mouth area. +Then do the same with the brow area. This process will automatically define face muscles compression areas. + +Position the eye bones in the eye pivot point facing right **toward** the face on the Y axis. +The length of the eye bones should correspond to the radius of the eye. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_face-eyes-pivot-position.png + :align: center + + Eyes Pivot Position. + +.. tip:: Eye Pivot + + If your eye has a spherical shape you can define its pivot by entering Edit Mode. + Select two opposite vertices on the center meridian -- or the opposite poles -- and + snapping the cursor to selection by pressing :menuselection:`Snap --> Cursor To Selected`. + If your eye is a complete sphere and its location it's not applied, then you can just use its center of mass. + +Finally position the teeth bones on your teeth geometry and the tongue bone chain as described in the figure. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_face-mouth-teeth-positions.png + :align: center + + Mouth and Teeth Positions. + +.. tip:: Tongue + + The tongue will work better if the bones are aligned at the symmetry line. + +Before generating the rig ensure the face master bone is facing upward. + + +Torso Bones +=========== + +Start by identifying on your character basic torso zones to follow as guide for bones placement. + +Head, chest and pelvis are rigid zones, so they require less bones. +Having a good edge loop placement around zone boundaries on your model +will help in having correct deformation after armature binding. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_torso-landmarks.png + :align: center + + Torso Landmarks. + +Starting from the side view, place the main spine bones trying to use +one bone for the rigid areas and two for the flexible ones. +In addition to the main spine, the torso is provided with additional pelvis bones (to oppose the leg bending), +two breast controls and two shoulder bones. + +Even if the pelvis bones will not appear in the final rig as controls, they will contribute to deformation. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_torso-bones.png + :align: center + + Torso Bones Positioning. + +.. tip:: Bone Placement + + Try to keep the spine as centered as possible inside the mesh bounding volume, + just apply a slight offset toward the back. In a similar way, consider the shoulder bones as general deformers; + placing it too forward -- where the collar bone should be -- could cause undesired deformations. + + +Limbs Bones +=========== + +While placing the arm bones try to start having a straight line that goes from +the shoulder to the hand in both front and top view. After this is done just add a slight bend to the elbow. +This can be easily done by going in the top view, entering armature Edit Mode and +sliding the bone junction between forearm and upper_arm slightly toward the world's Y axis. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_limbs-arm-bones.png + :align: center + + Arm Bones Positioning. + +For the leg you can follow a similar process. Start by aligning the leg bones creating a straight line from +the hips to the ankle, then place the foot and the toe accordingly. +Remember to add a slight bend to the knee. This can be easily done by going in the side view, +entering armature Edit Mode and sliding the bone junction between thigh and shin slightly toward the world's Y axis. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_limbs-leg-bones.png + :align: center + + Leg Bones Positioning. + +Finally align the heel bone by going in the front view and placing the head and tail to +fill the foot size from side to side. Then, in the side view, +align the bone at the point where the heel just touches the ground floor. + +.. note:: + + From version 0.5 and above there is no more need of manual bone rolls alignment. + The generate function will take care of that for you by evaluating it from bend axis; + just insert a slight bend in your limb and it's done! + If you need more control on the orientation, follow the guidelines described in Advanced Usage. + + +Fingers Bones +============= + +Start by placing, finger by finger, all the knuckles in place. + +.. tip:: Fingers Placement + + An easy and effective method to do this operation is to select on the mesh + the corresponding edge loop in Edit Mode and use the *Cursor to Selection* snap. + Then you can snap the bone to the corresponding loop using the *Selection to Cursor* snap. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_fingers-edge-loops.png + :align: center + + Knuckles Edge Loops and Cursor Snapping. + +Finalize the positioning by taking care of bone rolls (the X axis is set as bend axis). + +.. tip:: Bone Roll + + Finger axis alignment can be easily be made consistent by selecting all the finger bones + and recalculating the bone rolls :menuselection:`Recalculate Roll --> Global -Z Axis`. + + Thumb may require more tweaking depending on your character's mesh topology, + usually :menuselection:`Recalculate Roll --> Global +Y Axis` is a good starting point. + + Once your bone rolls are consistent, try generating the rig and scaling the finger master controls. + This should cause the fingers to curl. If they are rotating on the wrong axis, + change the Bend Rotation Axis parameter on the first finger's parameters under Rigify Type. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_fingers-bend-axis.png + :align: center + + Fingers Bend Axis. + +When the fingers are in place proceed placing the palm bones. + +.. figure:: /images/addons_rigging_rigify_bone-positioning_fingers-palm-alignment.png + :align: center + + Palm Alignment. + +.. tip:: Palm Placement + + Try to keep palm bones' heads at a little distance between each other. + This distance is required for Rigify to define the palm controls hierarchy. + Palm axis alignment can be easily done by selecting all the palm bones and + recalculating the bone rolls :menuselection:`Recalculate Roll --> Global -Z Axis`. + +.. seealso:: + + For more detailed information on bones and rolls refer to + the :doc:`Bone Structure ` and :ref:`armature-bone-roll`. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/feature_sets.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/feature_sets.rst new file mode 100644 index 0000000..1c4f47f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/feature_sets.rst @@ -0,0 +1,26 @@ + +************ +Feature Sets +************ + +Rigify allows third party developers to implement sub-addons, called *Feature Sets*, +which can provide new :doc:`Meta-Rigs ` and +:doc:`Rig Types `. Similar to regular add-ons, +they can be installed from zip-files through Rigify settings. + +These are some examples of *Feature Sets* currently provided by past and current Rigify developers: + +`Cessen's Rigify Extensions `__ + This feature set provides the original Rigify rigs by Nathan Vegdahl, minimally ported + and repackaged to work without switching Rigify to legacy mode. Note that their names + were changed, so meta-rigs designed for legacy mode aren't directly compatible. + +`Experimental Rigs by Alexander Gavrilov `__ + Rig experiments, some of which might be included in Rigify in the future. Examples include + limbs with an extra IK system based at knee/elbow, a spline based tentacle, and more. + +You can install these packages by clicking :menuselection:`Code --> Download ZIP`, +and then install the downloaded file through Rigify settings. + +Developer documentation is available on the `Blender Developer Documentation +`__. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/index.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/index.rst new file mode 100644 index 0000000..876bc10 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/index.rst @@ -0,0 +1,53 @@ + +########## + Rigify +########## + +Basics +====== + +.. toctree:: + :maxdepth: 2 + + introduction.rst + basics.rst + bone_positioning.rst + rig_features.rst + + +Customization +============= + +.. toctree:: + :maxdepth: 1 + + metarigs.rst + rig_types/index.rst + + +Extensions +========== + +.. toctree:: + :maxdepth: 1 + + feature_sets.rst + + +Development +=========== + +Developer documentation is available on +the `Blender Developer Documentation `__. + + +.. reference:: + + :Category: Rigging + :Description: Automatic rigging from building-block components. + :Location: :menuselection:`Properties --> Armature, Bone`, :menuselection:`3D Viewport --> Tools panel`, + :menuselection:`3D Viewport --> Add menu --> Armature` + :File: rigify folder + :Author: Nathan Vegdahl, Lucio Rossi, Ivan Cappiello, Alexander Gavrilov + :License: GPL + :Note: This add-on is bundled with Blender. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/introduction.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/introduction.rst new file mode 100644 index 0000000..c340d7c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/introduction.rst @@ -0,0 +1,56 @@ + +************ +Introduction +************ + +Rigify helps automate the creation of character rigs. It is based around a building-block approach, +where you build complete rigs out of smaller rig parts (e.g. arms, legs, spines, fingers...). +The rig parts are currently few in number, but as more rig parts are added to +Rigify it should become more and more capable of rigging a large variety of characters and creatures. + +Rigify also operates on the principle that once a rig is created, that rig should no longer need Rigify. +This means you can always distribute rigs created with Rigify to people +who do not have it and the rigs will still function completely. + +It is important to note that Rigify only automates the creation of the rig controls and bones. +It does not attach the rig to a mesh, so you still have to do skinning etc. yourself. + + +Main Features +============= + +Modular rigging + Rigify build blocks can be mixed together to rig any character you want. + If you need to build a character with five arms and one leg, + Rigify can handle it for you creating all the required complex controls system + (FK, IK, and all the relative snapping tools and the UI) in few seconds. + +Nondisruptive re-rig + If the generated rig doesn't fit all the features you need or, for example, + you decide to add something more to your character (like a sixth arm or a tail), + you can re-generate your rig without losing your previously generated features and your animation data. + +Advanced and flexible feature set for character animation + The included rig samples (limbs, spines, tails, fingers, faces...) adds to all the stretchy FK/IK features + a direct deformation secondary layer that lets you flex, bend and deform the character as you like + through interactive Bendy Bones controls. + +Shareable animation through all Rigify rigs + Since the control system is generated by Rigify, if you share a meta-rig through different characters + you will be able to share data between them even if they have different proportions. + +Extendable feature set + You can save and encode your meta-rigs to a button to have them available at any time + without recreating it by hand or share your meta-rigs with other people. + Through Python scripting you can also extend Rigify with new Rigify types or new rig samples + by implementing your own :doc:`feature set <./feature_sets>` package. + +Ready to go + Once you generate your rig you won't need Rigify or any other add-on to use it. + + +Enabling Add-on +=============== + +#. Open Blender and go to :doc:`/editors/preferences/addons` section of the :doc:`/editors/preferences/index`. +#. Search "Rigify" and check the *Enable Add-on* checkbox. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/metarigs.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/metarigs.rst new file mode 100644 index 0000000..b14b602 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/metarigs.rst @@ -0,0 +1,398 @@ + +****************** +Creating Meta-rigs +****************** + +#. Add a single bone from the :menuselection:`Add --> Armature` menu. +#. Go in armature Edit Mode and build the meta rig by samples or Rigify types. +#. Define the :ref:`Rigify bone collection UI `, + :ref:`color sets `, and selection sets. +#. In the armature properties click on the *Generate* button to generate the rig. + + +How Rigify Works +================ + +Rigify Meta-Rigs are split in multiple Sub-Rigs + A meta-rig is an assembly of bone chains. A bone chain is identified by the *Connected* attribute. + Bone chains can be further connected together by parenting them without using the *Connected* attribute + (i.e. using the *Keep Offset* option while parenting). + +A custom attribute is set on the first bone of the sub-rig chain + Each first bone of a bone chain has a custom attribute on it which is a Rigify custom property + that identifies the sub-rig type. At rig generation time Rigify will determine which controls and + deform bones will be created processing the meta-rig from the first bone to the last of each chain. + + .. figure:: /images/addons_rigging_rigify_metarigs_split-samples.png + + Human meta-rig split by samples. + +New meta-rigs are created assembling sub-rigs samples + Since a meta-rig is just a collection of sub-rigs, + new meta-rigs can be built assembling sub-rigs in different ways. + This way an infinite number of meta-rigs can be built from the same rigging blocks. + + .. figure:: /images/addons_rigging_rigify_metarigs_built-samples.png + + Cat meta-rig built by samples. + +All the mechanics, deformation bones and widget are created on a single click + The meta-rig contains more information than the visualized bones. + In fact at generation time Rigify will identify each sub-rig type and depending on + the selected options will create all the sophisticated controls, switches, and + deforming bones with a single click. + + +Creating a new Meta-rig +======================= + +Add a new Armature Object +------------------------- + +.. reference:: + + :Mode: Object Mode + :Menu: :menuselection:`Add --> Armature --> Single Bone` + :Shortcut: :kbd:`Shift-A` + +Building your own meta-rig from scratch requires an armature object to work with. +Just add a single bone from the *Add* menu. + +.. tip:: + + At this stage naming the newly added armature ``metarig`` is a good idea. + You can do it at any time (or not at all) but it's suggested to do it before going on + so it will always be clear on which armature you have to work when editing the meta-rig structure. + + +Editing the Armature +-------------------- + +Now that there is an armature object to work -- with the armature selected -- enter armature Edit Mode. +Building a meta-rig from scratch in Edit Mode can be done in two ways: + +#. Adding rig samples. +#. Creating bone chains. + + +Adding Samples (Basic) +^^^^^^^^^^^^^^^^^^^^^^ + +Adding pre-defined samples in Edit Mode is a good way to start building a meta-rig. +This way you can become familiar with the available building blocks and how they are meant to be used. +To add a rig sample: + +#. Go in the armature tab. +#. Scroll down to Rigify panel. +#. Select a sample from the list. +#. Click on the *Add sample* button. +#. Edit the bone positions to match your character. + +For the list of available samples, see the :doc:`Rig Types ` page. + + +.. _bpy.types.PoseBone.rigify_type: +.. _bpy.types.RigifyParameters: + +Using Rig Types (Advanced) +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. figure:: /images/addons_rigging_rigify_metarigs_rigify-type-panel.png + :align: right + :width: 300px + +For full control, you can use the Rigify Type panel of bone properties in Pose Mode to assign +any Rigify sub-rig type to any bone, as well as change its options. + +For the list of available sub-rig types and their options, see the +:doc:`Rig Types ` page. + +At the top of the panel you can find a field specifying the rig type for the active bone. The drop-down list +can be optionally filtered by the :doc:`Feature Set ` it belongs to. + +Below that you can change options relevant to the selected rig type, if it has any. + +Bone Collection References +"""""""""""""""""""""""""" + +Some rig types that generate many control bones have options that reference +:ref:`Bone Collections `. These reference lists have a standard UI with +the following features: + +- A checkbox controlling whether the reference should be used. +- A button to copy the reference list contents from the active to all selected bones. +- A plus button to add a new reference to the list. +- A list of references, each entry with a field to specify the target collection, + and a button to remove the entry from the list. + +.. note:: + + Each sub rig has a required number of bones as input. If you are unsure on how to use rig-types properties, + add a rig sample to your armature to see how it is supposed to be used. + + +Preserved Bone Properties +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Certain properties of the metarig bones are often copied to the generated rig control, deform and mechanism bones. + +The exact set depends on the sub-rig and the specific generated bone, and the sub-rig may override some properties +even when it preserves others from the same subset, but there are certain common patterns: + +Parenting Settings + This subset consists of the parent ORG bone, Use Connect, Use Inherit Rotation, Use Local Location, and Inherit + Scale. + + It is usually copied to deform bones, FK controls, and in other cases where the sub-rig doesn't have a reason + to completely override them. +Bendy Bone Settings (Edit Mode) + Consist of the segment count, Vertex Mapping Mode, Ease In/Out, Roll In/Out, Curve In/Out and Scale In/Out. + + The segment count is often overridden via a sub-rig option, but other settings are usually copied to deform + bones as is. +Transformation Settings + Consist of the rotation mode, pose mode rotation values, and channel locks. + + These settings are usually copied to FK controls. +Custom Properties + Usually copied to one of the controls generated based on the metarig bone (mainly FK). Intra-armature drivers + that access the property are retargeted to the copied instance. +Custom Widget + Usually copied to one of the controls generated based on the metarig bone (mainly FK), and suppresses automatic + generation of a widget for the bone if specified. + + +Custom Root Bone +^^^^^^^^^^^^^^^^ + +If the meta-rig contains a bone called ``root``, it is used as the root control bone instead of creating a new one. +This allows changing the rest position of the root bone, assigning a custom widget, +or adding custom properties to the bone. + +The custom root bone must have no parent, and use the :ref:`basic.raw_copy ` sub-rig +type or none. + + +.. _bpy.ops.Armature.rigify_apply_selection_colors: +.. _bpy.ops.Armature.rigify_add_bone_groups: +.. _bpy.types.Armature.rigify_colors: +.. _bpy.types.Armature.rigify_colors_lock: +.. _bpy.types.Armature.rigify_theme_to_add: +.. _bpy.types.Armature.rigify_colors_index: +.. _bpy.types.RigifySelectionColors: +.. _bpy.types.RigifyArmatureLayer: + +Color Sets +========== + +.. figure:: /images/addons_rigging_rigify_metarigs_color-sets-panel.png + :align: right + :width: 300px + +The Color Sets panel is used to define the bone color scheme for the final rig. The colors from the list +can be associated with bone collections from the relevant panel. + +The top two rows of the Color Sets panel are used to define the general behavior of the bone colors. +Usually color themes use a gradient of colors to define the different bone states: default, selected and active. +When multiple color themes are used in the same rig, identifying which bone is selected or +active can be tricky since each color will have its corresponding state. + +To override this behavior Rigify unifies the active and selected states using the same color. +This is defined by two values: + +Unified Selected/Active Colors + When this option is active adding a bone group in the list will always keep the colors consistent. + When a color scheme is added from a theme, the color scheme is loaded as is. + Click on the *Apply* button to force the system to unify selected and active colors. + +Selected/Active Colors + This two color fields define respectively the *Selected* and *Active* colors. + By default Rigify reads these colors from the theme defined by the user in the Blender preferences. + This way the *Selected*/*Active* colors can always have a predictable and consistent behavior in the UI. + The colors can be customized by clicking on the relevant color field. + To reset them to the Blender current theme value just click on the button with the update icon. + +Color Sets can be added and deleted by clicking on :bl-icon:`add` or :bl-icon:`remove`. +All color sets can be deleted at once by clicking on the Specials menu. + +To add the colors from the predefined Rigify default color scheme (as shown in the image) to the list click +the *Add Standard* button. + +To add a specific theme with its own color scheme, select it from the list and click on the *Add From Theme* button. + + +.. _bpy.types.BoneCollection.rigify_ui_row: + +Bone Collections UI +=================== + +.. figure:: /images/addons_rigging_rigify_metarigs_bone-collections-panel.png + :align: right + :width: 300px + +:doc:`Bone Collections ` are used to group related bones together +so that they can be hidden or revealed together. + +Rigify can take advantage of collections to generate extra features and the user interface for the final rig. +A panel named :ref:`Rig Layers ` is generated with buttons for hiding the +collections, arranged in an intuitive layout. + +The Bone Collections UI panel allows configuring the layout of that generated panel, as well as specifying some +other settings for bone collections, such as the color set to use. + +The top of the panel is occupied by a list that duplicates the main bone collection list, but displays additional +properties, such as the color set, whether the collection has a button, or whether it generates a selection set. + +Validate Collection References + Some sub-rig types have :ref:`references ` to bone collections in their properties. + Rigify uses a referencing scheme that is robust to collection renames, but deleting collections or joining armatures + can still lead to broken references. + + This button runs a scan that validates and normalizes all collection references, reporting any errors, and + reducing the chance of breakage being caused by subsequent user actions. + + This scan is also performed automatically every time the rig is generated. + + .. warning:: + To avoid breakage this operation should be used both immediately before and after joining two metarig armatures. + More specifically, it must be always done between the actions of renaming any collections and joining. + +Color Set + Specifies the :ref:`color set ` to use for bones in this collection. If a bone + belongs to multiple collections, in general the collection located earlier in the list has priority. + +Add Selection Set + Specifies whether a selection set should be generated for this collection. + +UI Row + If nonzero, specifies which row of the :ref:`Rig Layers ` panel should contain the + button controlling the visibility of this collection. When zero, no button is generated, and the collection is + hidden. + +UI Title + This field can be used to override the title used on the UI button to be distinct from the true collection name. + Unlike collection names, titles are not required to be unique, so this can be used to reduce clutter by relying + on contextual cues within the panel. + +UI Layout sub-panel +------------------- + +.. figure:: /images/addons_rigging_rigify_metarigs_bone-collections-layout-panel.png + :align: right + :width: 300px + +The UI Layout sub-panel provides a WYSIWYG editor for the layout of the generated UI panel +(as defined by the UI Row and UI Title settings above). + +Each row contains three buttons at the end: + +Arrow + Moves the active collection button to this row. +Plus + Inserts a new row before the current one. +Minus + Removes the current row and shifts all buttons up. + +To the left of the editing control buttons, rows display buttons corresponding to the collections, same as the final +UI, except that rather than hiding or unhiding, clicking these buttons selects the collection. + +For the active collection the selection button is replaced with an input field for editing the UI Title, and an **X** +button to unassign the collection from the UI. + +For any collections not assigned to the UI, their select buttons are displayed in a separate section at the bottom +of the sub-panel. + +The ``Root`` collection will be added and/or assigned a UI button automatically if necessary when the rig is +generated. If desired, it is possible to manually assign UI buttons to the internal ``ORG``, ``DEF`` and ``MCH`` +collections. + +.. tip:: + Blank rows appear much thinner in the final interface, since they don't have to contain editing buttons, and can be + used as logical separators. + +Actions +======= + +.. figure:: /images/addons_rigging_rigify_metarigs_actions-list-panel.png + :align: right + :width: 300px + +The :doc:`Action ` constraint allows applying poses defined +by an action to bones based on the transformation of another bone. This requires adding the constraint to every +bone affected by the action, which is very tedious. For this reason, Rigify includes a system to do this +automatically through the Actions panel. + +The panel defines a list of actions to be applied to the generated rig bones. Each action must be listed only once. + +The list entries show the name of the action, the trigger (a bone or a corrective action driven by two others), and +a checkbox that can be used to temporarily disable applying this action to the rig. The icon at the start of the entry +is changed from an action icon to a link icon to highlight corrective actions that depend on the active normal one, +or normal actions used by the active corrective action. + +.. note:: + The Action constraints are added to the bones in such an order as to exactly reproduce the intended deformation, + assuming the actions were created (posed and keyframed) in the order listed. + +Normal Actions +-------------- + +.. figure:: /images/addons_rigging_rigify_metarigs_actions-normal-panel.png + :align: right + :width: 300px + +Normal actions are applied based on the transformation of a specific control bone from the generated rig. +They have the following properties: + +Control Bone + Specifies the bone that drives the action. +Symmetrical + If the control bone has a suffix that specifies that it belongs to the left or right side, this option can + be enabled to automatically apply symmetry. + + When enabled, left-side bones keyframed in the action will be controlled by the left-side control, and right-side + bones by the right side control. Bones that don't have a side suffix are assumed to belong to the center of the + character. They are rigged with two Action constraints with influence 0.5 that are controlled by each of the + control bones. +Frame Start & End + Specifies the frame range of the action that will be used by the created constraints. +Target Space, Transform Channel + Specifies the coordinate space and transformation channel of the target bone that should be used. +Min, Max + Specifies the range of the transformation channel values that is mapped to the specified action frame range. +Default Frame + Shows the frame within the action that maps to the neutral value (1 for scale and 0 otherwise) + of the transformation channel, as computed from the specified range values. + +Corrective Actions +------------------ + +.. figure:: /images/addons_rigging_rigify_metarigs_actions-corrective-panel.png + :align: right + :width: 300px + +Corrective actions are applied based on the progress of two other actions from the list, and are used to improve +the pose when they are used together. + +Frame Start & End + Specifies the frame range of the action that will be used by the created constraints. +Trigger A & B + Specifies the two actions that control the correction. The interface rows contain buttons to show the settings + for that action, or jump to it in the list. + +The progress of the corrective action from the start to the end frame is calculated as the product of the progress +values of the two trigger actions. Thus, the start frame is applied when either of the triggers is at the start frame, +and the end frame is used when both are at their end frame. + +Corrective actions must be below their triggers in the list, which is enforced via an implicit reorder even if +violated. + +.. tip:: + + Corrective actions behave in the most intuitive way when both triggers have the Default Frame equal to Start Frame. + To create a corrective action in such case: + + - Create the two trigger actions, add them to the panel and generate the rig. + - Pose your controls so that both trigger actions are fully activated to the end frame. + - Pose and keyframe the necessary corrections in the end frame of the new action, while keying the start + frame to the neutral values. + - Add the newly created action to the end of the list in the panel and configure its settings. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_features.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_features.rst new file mode 100644 index 0000000..bacba90 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_features.rst @@ -0,0 +1,552 @@ + +********************** +Generated Rig Features +********************** + +After human rig generation a new armature named ``rig`` will be added to your scene. +This is the character rig you have generated from the human meta-rig and will contain all the features. + + +Common Features +=============== + +.. _rigify.rig_ui_template.RigBakeSettings: +.. _rigify.rig_ui_template.RigUI: +.. _rigify.rig_ui_template.RigLayers: + +Rig UI Panels +------------- + +.. figure:: /images/addons_rigging_rigify_rig-features_rig-ui-panels.png + :align: right + :width: 200px + +The generated rig is accompanied by a script that implements a set of panels that appear in the Item +tab of the 3D view sidebar when a bone belonging to the generated rig is active. + +Rig Bake Settings +^^^^^^^^^^^^^^^^^ + +This panel is displayed if the armature has an active :doc:`Action `, and +is used by operators that apply an operation to multiple keyframes. + +Bake All Keyed Frames + When enabled, the operator computes and keyframes its result on every frame that has a key for any of the + bones, as opposed to just relevant ones. +Limit Frame Range + When enabled, the operator is limited to a certain frame range. + + Start, End + Specify the frame range to process. + Get Frame Range + Sets the baking frame range from the scene frame range. + +Rig Main Properties +^^^^^^^^^^^^^^^^^^^ + +This panel shows properties and operators that are relevant to the selected bones. + +Rig Layers +^^^^^^^^^^ + +This panel contains buttons for toggling visibility of bone collections. + +The layout and labels of the buttons are defined in the metarig +:ref:`Bone Collection UI ` panel. + + +Common Controls +--------------- + +Rigify rigs are built from standardized components called sub-rigs, which are linked together in a parent-child +hierarchy. Although the precise behavior of each sub-rig is determined by its implementation, there are certain +conventions that are followed by many of them. + +Root Bone +^^^^^^^^^ + +Every Rigify rig has a bone called `root`, which serves as a parent for all bones of the rig. +It is assigned to a bone collection called `Root`. Unless the metarig has a custom bone +of that name, it is positioned at the origin of the rig object. Its widget looks like +a circle with four arrow shaped protrusions. + +.. figure:: /images/addons_rigging_rigify_rig-features_arm-controls.png + :align: right + :width: 200px + +Limb Master +^^^^^^^^^^^ + +Many limb-like sub-rigs have a gear-shaped bone at their base. + +This bone can in some cases be used to transform the whole sub-rig as a rigid unit, and is also used as a container +for its custom properties that are displayed in the *Rig Main Properties* panel. If you are looking in the Graph +editor for the animated values of the properties, this is most likely the bone to look at. + +As an exception, if multiple controls of the sub-rig need their own copy of conceptually the same property, +it may be placed on those controls directly instead. + +Tweak Controls +^^^^^^^^^^^^^^ + +These controls look like blue spheres in the default color scheme, and are the final control layer above the +deformation bones themselves. + +Tweaks are subordinate to the general IK or FK limb position but can be moved apart, twisted and scaled freely, +even reaching virtually impossible limb shapes. + +Rubber Tweak + .. figure:: /images/addons_rigging_rigify_rig-features_rubber-tweak.png + :align: right + :width: 200px + + Some sub-rigs provide a slider in their *Rig Main Properties* when tweaks are selected, which controls + the smoothness of the Bendy Bone joint at that position. When zero, the joint deforms with a sharp bend, + while setting it to 1 makes the transition smooth for a more rubber hose cartoon like appearance. + +Custom Pivots +^^^^^^^^^^^^^ + +Some bones that can be freely moved in space (like IK controls) can be optionally accompanied by a custom pivot +control. These controls usually look like a plain axes empty with the axis lines capped with squares or crosses, +like the one in the image above. The control can be freely moved to change the location of the pivot, and then +rotated or scaled to transform the target bone around the pivot. + +IK and FK Switching +^^^^^^^^^^^^^^^^^^^ + +.. figure:: /images/addons_rigging_rigify_rig-features_ik-fk-switch.png + :align: right + :width: 200px + +A number of rig types provides both IK and FK controls (red for IK and green for FK in the image above), +with an ability to switch and snap between them. + +Switching is controlled by a slider in *Rig Main Properties*, usually blending between full IK at 0 and full FK at 1. + +Snapping one type of controls to the shape of the other is done via buttons, which form a group of three +in their complete set: + +- The main button will snap on the current frame, and auto-key the result if enabled. +- The *Action* button will bake the change on multiple keyframes, according to *Rig Bake Settings*. +- The *Clear* button will delete keyframes on the corresponding controls within the bake interval. + +Parent Switching +^^^^^^^^^^^^^^^^ + +.. figure:: /images/addons_rigging_rigify_rig-features_parent-switch.png + :align: right + :width: 200px + +Some freely movable controls, e.g. usually the IK controls, can have a mechanism to switch their parent bone +between a set of choices, including the root bone, or none at all. + +This mechanism is exposed in the *Rig Main Properties* panel through a row with three controls: + +- A button that presents a dropdown menu, which allows switching the parent on the current frame while + preserving the bone position and orientation in the world space. +- A dropdown input field that directly exposes the switch property for keyframing and direct manipulation. + Changing the value can cause the bone position to jump. +- A button to apply the position preserving parent switch over the bake range of keyframes. + +.. note:: + When manually placing a Child Of constraint on the control bone, the built-in parent should be switched to none. + +Limbs +===== + +Limbs have a master bone and tweaks. Depending on the user defined meta-rig options, +multiple deform bone segments with tweaks will be created. + +The IK control may have an optional custom pivot, as well as additional predefined pivots. + +Rigify's limbs have the following controls in the Sidebar panel: + +.. figure:: /images/addons_rigging_rigify_rig-features_limb-properties.png + :align: right + :width: 200px + +FK Limb Follow :guilabel:`Slider` + When set to 1 the FK limb will not rotate with the torso and will retain is rotation + relative to the root bone instead. + +IK-FK :guilabel:`Slider` + Controls whether the limb follows IK or FK controls, blending between full IK at 0 and full FK at 1. + +IK<->FK Snapping :guilabel:`Buttons` + Snaps one type of controls to another. + +IK Stretch :guilabel:`Slider` + Blends between the limb stretching freely at 1, or having its maximum length constrained at 0. + +Toggle Pole :guilabel:`Switch` + When the toggle is Off, the IK limb will use the rotational pole vector (the arrow at the base of the limb). + Rotating/translating/scaling the arrow will control the IK limb base. + + When the toggle is On, the classic pole vector will be displayed and used to orient the IK limb. + The arrow will continue to handle the scale and the location of the IK limb base. + + Similar to *Parent Switching*, the row includes buttons to convert the current pose between types, + or bake the whole action. + +IK Parent :guilabel:`Switch` + Switches the effective parent of the main IK control. + +Pole Parent :guilabel:`Switch` + Switches the effective parent of the classic IK Pole control. + +Arms +---- + +.. figure:: /images/addons_rigging_rigify_rig-features_hand-controls.png + :align: right + :width: 200px + +:ref:`Arms ` have the simplest control structure: the IK controls consist of the main IK +control, the optional custom pivot control, and the optional wrist control (the bent circle), which pivots around +the tail rather than the head of the hand bone. + +There are no additional controls in the *Rig Main Properties* panel. + +Legs +---- + +:ref:`Legs ` have a more complicated setup, which has: + +.. figure:: /images/addons_rigging_rigify_rig-features_foot-controls.png + :align: right + :width: 200px + +IK & FK Toe :guilabel:`Optional` + Two separate IK and FK controls for the toe (this is on by default in the bundled metarigs, + and is recommended for stable IK<->FK snapping). +IK Heel + A heel control which can be rotated to command forward or backward roll, sideways rock, or yaw of the heel. +Toe Pivot :guilabel:`Optional` + An extra pivot control rotating around the base of the toe. +Custom Pivot :guilabel:`Optional` + A custom pivot control. + +The properties panel has two additional features: + +.. figure:: /images/addons_rigging_rigify_rig-features_foot-properties.png + :align: right + :width: 200px + +IK->FK Snap With Roll :guilabel:`Buttons` + Standard IK to FK snapping resets the transformations of all IK controls other than the main one. This is + not convenient to use in an animation that involves the use of the heel control, because roll and rock would + be folded into the transformation of the main control. + + This alternative snapping operator tries to deduce the rotation of the heel control so as to keep the main + IK control parallel to the ground plane inferred from the *current* orientation of the IK control. The operator + has options to specify which rotational axes to use for the heel control rotation. + +Roll On Toe :guilabel:`Slider` :guilabel:`Optional` + If enabled in the sub-rig settings, this slider can be used to control whether the heel rotation (excluding + backward roll) is applied at the base or the tip of the toe. + +Fingers & Tentacles +=================== + +Simple Tentacle +--------------- + +.. figure:: /images/addons_rigging_rigify_rig-features_simple-controls.png + +The simplest type of rig for a finger or appendage in general is the +:ref:`simple tentacle ` sub-rig. It has only basic FK controls and tweaks, +with the only automation being the ability to copy certain axes of the local rotation of a FK control to the next one. + +Advanced Finger +--------------- + +.. figure:: /images/addons_rigging_rigify_rig-features_finger-controls.png + +For fingers specifically, Rigify has a dedicated :ref:`finger ` sub-rig type, +which provides: + +Master + A master control (orange), which can be used to rotate the finger as a whole, as well as to bend it via Y scaling. +FK Chain + FK control chain (green) that can also operate as semi-tweaks through allowing translation. +IK Control :guilabel:`Optional` + IK control for the tip (red). + +.. note:: + IK in this sub-rig is rudimentary and operates as an adjustment for FK. The intended way of use is to pose + the finger in FK, and then enable IK after using IK->FK snap if it is necessary to pin the tip of the finger + in place. + +The properties panel has the following features: + +.. figure:: /images/addons_rigging_rigify_rig-features_finger-properties.png + :align: right + :width: 200px + +Finger IK :guilabel:`Slider` :guilabel:`Optional` + Slider controlling the influence of the IK. + +FK<->IK Snapping :guilabel:`Buttons` :guilabel:`Optional` + Snaps the IK control to the end of the finger, or adjusts the FK controls to the result of the IK correction. + +Curvature :guilabel:`Slider` + Has the same effect as *Rubber Tweak* on limbs, controlling the rubber hose cartoon effect. + +Spline Tentacle +--------------- + +.. figure:: /images/addons_rigging_rigify_rig-features_spline-controls.png + + Spline Tentacle (Stretch To Fit, Manual Squash & Stretch) + +.. figure:: /images/addons_rigging_rigify_rig-features_spline-controls-tip.png + + Spline Tentacle (Direct Tip Control) + +The :ref:`spline tentacle ` is an advanced rig for a flexible appendage (tentacle) +based on the :doc:`Spline IK ` constraint. The IK control bones manage +control points of a Bezier spline curve, which in turn is followed by the IK chain. + +The tentacle can be generated in three major modes: + +Stretch To Fit + In this simplest mode all bones of the sub-rig deform chain follow the curve and squash & stretch to match + its length. +Manual Squash & Stretch + This mode is almost the same, but the chain does not automatically scale to match the curve length. + Instead, it tries to cover as much as possible of the curve given its manually scaled length. + If the curve is too short, the chain will overhang it and straighten out, but this can result in jitter. +Direct Tip Control + This mode is more similar to the behavior of IK limbs: the final bone of the chain is directly controlled by + the tip IK control, while the other bones of the chain stretch and follow the curve to bridge the gap. + +The tentacle sub-rig has the following control bones: + +Master + The tentacle has the same gear master control as other limbs (seen as a line in the images). +IK Start + The IK control at the base of the tentacle, which can be used to control the base twist and sideways scale, and + is one of the potential switchable parents for other IK controls. + + In the *Manual Squash & Stretch* mode it controls uniform scale of the tentacle in all directions. +IK Start (Extra) :guilabel:`Optional` + Extra start controls, optional and hidden by default. Switchable parents default to the *IK Start* control. + The scale of the control may optionally affect the thickness of the chain via the radius of the curve point. +IK Middle + Controls for the middle of the curve. The switchable parents default to *Master*, but may be set to + *IK Start* or *IK End* controls. + The scale of the control may optionally affect the thickness of the chain via the radius of the curve point. +IK End (Extra) :guilabel:`Optional` + Extra end controls, optional and hidden by default. Switchable parents default to the *IK End* control. + The scale of the control may optionally affect the thickness of the chain via the radius of the curve point. + + The *Direct Tip Control* mode adds one more extra end control next to the middle ones that cannot be hidden. +IK End + Controls the last control point of the curve, and is one of the potential parents for the other chain controls. + + In the *Direct Tip Control* mode also directly controls the last bone of the chain. +IK End Twist :guilabel:`Optional` + This control is visually attached to the last bone of the chain, and must use Euler rotation. + + - *Stretch To Fit*: it controls the twist of the tip of the tentacle, interpolated to nothing at the base. + - *Manual Squash & Stretch*: it also controls the scaling of the tip of the tentacle. + - *Direct Tip Control*: the control does not exist. +FK Chain :guilabel:`Optional` + If enabled, the rig has an alternative fully FK control chain. + +The properties panel has the following features: + +.. figure:: /images/addons_rigging_rigify_rig-features_spline-properties.png + :align: right + :width: 200px + +Start/End Controls :guilabel:`Optional` + If extra controls exist, this property controls how many of them are visible and active. + + When a control is disabled, it is snapped to a position extremely close to the corresponding end control point, + thus effectively neutralizing its effect. Thus, changing the setting during an animation can cause jumps. + + The plus and minus buttons can help with maintaining a continuous transition in an animation by keyframing the + change in the property value with Constant interpolation, and also snapping and keyframing the control itself + to its 'hidden' position. + +End Twist Estimate :guilabel:`Optional` + In the *Direct Tip Control* mode the twist at the end of the tentacle is deduced from the free form orientation + of the tip control, rather than using a separate twist control with constrained Euler rotation. However, for + technical reasons, that can only give values within the 180 degrees range of neutral. + + A long tentacle can accept more twist than 180 degrees, so a workaround is necessary. This property allows + specifying an approximate estimate of the twist value (effectively shifting the neutral position), and the + rig then applies the automatic correction within 180 degrees of this value. + +IK-FK, IK<->FK Snapping :guilabel:`Optional` + If the FK controls are enabled, these provide standard IK-FK switching and snapping. + + However, unlike other limbs, for this rig automatic IK to FK snapping can only be approximate and requires + manual tuning. For this reason, buttons for baking the snapping over a range of keyframes are not provided. + +Parent Switch + Switches the parent of the selected IK control. + + +Spine, Head & Tail +================== + +.. figure:: /images/addons_rigging_rigify_rig-features_spine-controls.png + :align: right + :width: 200px + +Spine +----- + +The :ref:`spine ` sub-rig provides a cube shaped torso control with +switchable parent, and bent circle shaped hip and chest controls subordinate to it. For low level deformation +tweak controls are provided. + +The torso control can optionally be accompanied with a custom pivot control. The rig can also optionally +provide a full set of FK controls that are subordinate to the normal simplified ones, but above tweaks. + +The rig properties panel for the spine controls usually includes options for the head and/or tail as well. + + +.. figure:: /images/addons_rigging_rigify_rig-features_head-controls.png + :align: right + :width: 200px + +Head +---- + +The :ref:`head ` sub-rig attaches to the end of the spine, and provides +rotational controls for the head and neck, as well as tweaks for fine control of the neck. + +If the neck is three or more bones long, an additonal tweak-like translational +neck bend control is provided (the widget looks like a circle with arrows). + +The properties panel contains the following options: + +Neck Follow :guilabel:`Slider` + .. figure:: /images/addons_rigging_rigify_rig-features_head-properties.png + :align: right + :width: 200px + + This slider controls the rotations isolation for the neck bones. + The neck will follow the orientation of the Torso when set to 0, and the Chest when set to 1. + +Head Follow :guilabel:`Slider` + .. figure:: /images/addons_rigging_rigify_rig-features_tail-controls.png + :align: right + :width: 200px + + This slider controls the rotations isolation for the head. + The head will follow the orientation of the Torso when set to 0, and the Chest when set to 1. + +Tail +---- + +The :ref:`tail ` sub-rig attaches to the start of the spine, and provides +FK controls for the tail, as well as a master control that replicates its local rotation around certain axes +to all individual bones. + +The properties panel contains the following options: + +Tail Follow :guilabel:`Slider` + This slider controls the rotations isolation for the tail. + The tail will follow the orientation of the Torso when set to 0, and the Hips when set to 1. + +Face +==== + +.. note:: + This describes the new-style modular face produced by the Upgrade Face operator button. + +Basic Concepts +-------------- + +Skin Bone Chains +^^^^^^^^^^^^^^^^ + +.. figure:: /images/addons_rigging_rigify_rig-features_face-chains.png + :align: right + :width: 300px + +The foundation of the Rigify face is a network of Bendy Bone :ref:`chains ` with +controls placed at every bone end. These controls affect all bones that meet at that specific point. + +When the controls are merely translated, the B-Bone chains retain the normal automatic bezier handle behavior. +Local rotation and/or scaling of the controls are applied on top of that. + +In case of :ref:`certain chains `, the transformation of the end and/or middle +controls is interpolated to other controls located between them. In such cases the controls often have different +colors and/or shapes. + +Additionally, certain controls have :ref:`arbitrary constraints ` that partially copy +transformation from nearby control points. + +Specialized Controllers +^^^^^^^^^^^^^^^^^^^^^^^ + +Certain areas of the face, like eyes or mouth, have additional specialized controllers that apply custom behavior +on top of the chains and their controllers within the relevant area. + +Eyes +---- + +.. figure:: /images/addons_rigging_rigify_rig-features_eye-controls.png + :align: right + :width: 300px + +The :ref:`eyes ` have the following controls in addition to the eyelid chains: + +Master + This large circular control can be used to transform the whole eye as one unit. +Common Target + This large control enveloping all individual eye targets has a switchable parent and can + be used to specify the point that the eyes should look at. +Eye Target + These small circle controls within the common target control specify the point targeted by each + individual eye. Their local scale can also be used to affect the iris or pupil of the eye, + depending on how it was weight painted. + +The rig properties panel contains the following options: + +.. figure:: /images/addons_rigging_rigify_rig-features_eye-properties.png + :align: right + :width: 200px + +Eyelids Follow :guilabel:`Slider` + Controls how much the rotation of the eyeball affects the eyelids. Depending on the sub-rig generation + options, this slider can be split to separately control the horizontal and vertical directions. + +Eyelids Attached :guilabel:`Slider` :guilabel:`Optional` + If enabled in the sub-rig generation options, this slider can be used to disable the mechanism that + forces the eyelids to conform to the sphere of the eye. + +Parent :guilabel:`Parent Switch` + Selects the parent for the common target control. + +Mouth +----- + +.. figure:: /images/addons_rigging_rigify_rig-features_mouth-controls.png + :align: right + :width: 300px + +The :ref:`mouth ` has the following controls: + +Jaw Master + Controls rotation of the jaw, directly affecting the main jaw deform bone, as well + as chains fully belonging to the jaw. Chains forming the lip loop(s) are adjusted to + open the mouth as the jaw rotates or moves. +Mouth Master + This control uniformly transforms the lips without moving the jaw. + +The rig properties panel contains the following options: + +.. figure:: /images/addons_rigging_rigify_rig-features_mouth-properties.png + :align: right + :width: 200px + +Mouth Lock :guilabel:`Slider` + This slider can be changed from 0 to 1 in order to suppress opening of the mouth + when the jaw rotates or moves. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/basic.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/basic.rst new file mode 100644 index 0000000..08fb4b7 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/basic.rst @@ -0,0 +1,125 @@ + +***** +Basic +***** + +These rig types are used to generate simple single-bone features, +and for custom rigging done directly in the meta-rig. + +The single-bone rig types must be applied separately to every bone even within a connected chain, +and can have connected children controlled by a different rig type. +This is unlike chain-based rig types that usually consume the whole connected chain. + + +.. _rigify.rigs.basic.copy_chain: + +basic.copy_chain +================ + +Copies the bone chain keeping all the parent relations within the chain untouched. +Useful as a utility rig type for custom rigs. + +Requirement: A chain of at least two connected bones. + +Control (Boolean) + When enabled control bones and widgets will be created. +Deform (Boolean) + When enabled deform bones will be created. + + +.. _rigify.rigs.basic.pivot: + +basic.pivot +=========== + +Single-bone rig type that creates a 'custom pivot' control for rotating and scaling its child sub-rigs. + +This type of control transforms its children when rotated or scaled, while moving it +merely changes the pivot point used by rotation or scaling. + +Master Control + When enabled an extra parent control bone with a box widget is created to allow moving the rig. + It is also required by all other options besides *Deform Bone*. + +Widget Type + Allows selecting one of the predefined widgets to generate for the master control instead of the default cube. + +Switchable Parent + Generates a mechanism for switching the effective parent of the rig based on the value of a custom property. + +Register Parent + Registers the rig as a potential parent scope for its child sub-rigs' parent switches. + + Tags + Specifies additional comma-separated tag keywords for the registered parent scope. + They can be used by other rigs to filter parent choices, or for selecting the default parent. + + Some of the existing tags that are useful here: + + ``injected`` (special) + The parent scope will be made available for all children of the *parent* sub-rig, + rather than just this rig's children. + ``held_object`` + A control for the object held in the character's hand. Preferred by finger IK. + + The ``injected,held_object`` combination is perfect for such a control. + +Pivot Control + Disabling this avoids generating the actual custom pivot control, effectively turning this rig type + into a version of `basic.super_copy`_ with parent switching support and a different widget. + +Deform Bone + When enabled a deform bone will be created. + + +.. _rigify.rigs.basic.raw_copy: + +basic.raw_copy +============== + +Single-bone rig type that copies the bone without the ``ORG-`` name prefix. + +Normally all bones copied from the meta-rig are prefixed with ``ORG-`` and placed on an invisible layer. +This precludes their use as controls or deforming bones, which makes it difficult to transfer complex +fully custom rigging verbatim from the meta-rig. + +This rig type does not add the automatic prefix, thus allowing an appropriate ``ORG-``, ``MCH-`` or ``DEF-`` +prefix to be manually included in the meta-rig bone name, or alternatively using no prefix to create +a control bone. + +Relink Constraints + Allows retargeting constraints belonging to the bone to point at bones created in the process + of generating the rig, thus allowing custom rigging to integrate with generated bones. + + To use this feature, add ``@`` and the intended target bone name to the constraint name, resulting + in the ``...@bone_name`` syntax. After all bones of the rig are generated, the constraint target + bone will be replaced. If the new bone name is just ``CTRL``, ``MCH`` or ``DEF``, this will just + replace the ``ORG`` prefix in the existing target bone name. For the Armature constraint you can add + a ``@`` suffix for each target, or just one ``@CTRL``, ``@MCH`` or ``@DEF`` suffix to update all. + + Parent + If the field is not empty, applies the same name substitution logic to the parent of the bone. + + When this feature is enabled, the bone will not be automatically parented to the root bone even + if it has no parent; enter ``root`` in the *Parent* field if that is necessary. + + +.. _rigify.rigs.basic.super_copy: + +basic.super_copy +================ + +Single-bone rig type that simply copies the bone. Useful as utility rig type for +adding custom features or specific deform bones to your rigs. + +Control (Boolean) + When enabled a control bone and widget will be created. +Widget (Boolean) + When enabled a widget will be created in replacement to the standard. +Widget Type (String): + Allows selecting one of the predefined widget types to generate instead of the default circle. +Deform (Boolean) + When enabled a deform bone will be created. +Relink Constraints + Works the same as in the `basic.raw_copy`_ rig. In addition, when enabled any constraints that have + names prefixed with ``CTRL:`` are moved to the control, and with ``DEF:`` to the deform bone. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/face.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/face.rst new file mode 100644 index 0000000..b5a2282 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/face.rst @@ -0,0 +1,71 @@ + +**** +Face +**** + +These rig types implement components of a modular face. + + +.. _rigify.rigs.face.basic_tongue: + +face.basic_tongue +================= + +Generates a simple tongue, extracted from the original PitchiPoy :ref:`super_face ` rig. + +B-Bone Segments (integer) + Defines the number of b-bone segments each tweak control will be split into. +Primary Control Layers + Optionally specifies bone collections for the main control. + + +.. _rigify.rigs.face.skin_eye: + +face.skin_eye +============= + +Implements a skin system :ref:`parent controller ` that manages +two skin chains for the top and bottom eyelids in addition to generating the eye rotation mechanism. + +The rig must have two child skin chains with names tagged with ``.T`` and ``.B`` symmetry +to mark the top and bottom eyelid, which are connected at their ends forming eye corners. +The chains are rigged to follow the surface of the eye and twist to its normal. + +In addition, it creates target controls for aiming the eye, including a master control shared by +all eyes under the same parent rig. The eyelids are rigged to follow the movement of the eyeball +with adjustable influence. + +Eyeball and Iris Deforms + Generates deform bones for the eyeball and the iris, the latter copying XZ scale from + the eye target control. The iris is located at the tail of the ORG bone. +Eyelid Detach Option + Generates a slider to disable the mechanism that keeps eyelid controls stuck to the surface of the eye. +Split Eyelid Follow Slider + Generates two separate sliders for controlling the influence of the eye rotation on X and Z eyelid motion. +Eyelids Follow Default + Depending on *Split Eyelid Follow Slider*, specifies the default values for the split follow sliders, + or fixed factors to be multiplied with the single common follow influence slider value. + + +.. _rigify.rigs.face.skin_jaw: + +face.skin_jaw +============= + +Implements a skin system :ref:`parent controller ` that manages +one or more loops of mouth skin chains in response to the movement of jaw and mouth controls. + +The rig must have one or more child chain loops, each formed by four skin chains tagged +with ``.T``/``.B`` and ``.L``/``.R`` symmetrical names. + +The lip loops are sorted into layers based on the distance from corners to the common +center and rigged with blended influence of the jaw and the master mouth control. +Other child rigs become children of the jaw. + +Bottom Lip Influence + Specifies the influence of the jaw on the inner bottom lip with mouth lock disabled. +Locked Influence + Specifies the influence of the jaw on both lips of locked mouth. +Secondary Influence Falloff + Specifies the factor by which influence fades away with each successive lip loop + (for bottom lip loops the blend moves away from inner bottom lip to full jaw influence). diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/faces.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/faces.rst new file mode 100644 index 0000000..ffcc02f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/faces.rst @@ -0,0 +1,19 @@ + +***** +Faces +***** + +.. _rigify.rigs.faces.super_face: + +faces.super_face +================ + +Will create a face system based on the bones child to the parent that has the property set on it. + +Requirement: All the face bones bundled in the ``faces.super_face`` sample had to be present and +child of the master bone that has the Rigify type *face* property set. + +.. note:: + + This rig type is being deprecated in favor of a new modular + :doc:`skin ` and :doc:`face ` rigging system. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/index.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/index.rst new file mode 100644 index 0000000..ac85ec9 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/index.rst @@ -0,0 +1,23 @@ +############# + Rig Types +############# + +Rig types are components used by Rigify to process specific parts of the meta-rig when generating the armature. +They represent common character features, like the spine, limbs, fingers etc. + +.. note:: + + The list of available rig types appears in the Bone properties tab when the bone is selected in Pose Mode. + Scroll down the Properties to find Rigify Type panel. + +This documents rig types that are bundled with Rigify. + +.. toctree:: + :maxdepth: 2 + + basic.rst + spines.rst + limbs.rst + faces.rst + skin.rst + face.rst diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/limbs.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/limbs.rst new file mode 100644 index 0000000..f761cb2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/limbs.rst @@ -0,0 +1,265 @@ + +***** +Limbs +***** + +These rig types handle generation of different kind of limbs and their features, like fingers. + + +.. _rigify.rigs.limbs.simple_tentacle: + +limbs.simple_tentacle +===================== + +Will create a simple bendy and stretchy b-bones tentacle chain, which can optionally replicate local rotation +from preceding bones to the subsequent ones for use in cases like fingers. + +Requirement: A chain of at least two connected bones. + +Automation Axis (X, Y, Z, None) + Enables the automation on the selected axis. Multiple axis or none can be selected holding :kbd:`Shift-LMB`. + When enabled the subsequent control bones will copy the local rotations from the previous ones. + The option is accessible in the controls of the final rig as a Copy Rotation constraint and + can be disabled even after rig is generated, or at animation time. +Assign Tweak Layers + If enabled, allows placing the Tweak controls in different bone collections from the main controls. + + +.. _rigify.rigs.limbs.super_finger: + +limbs.super_finger +================== + +Will create a bendy and stretchy finger chain with a master control bone that controls the rotation of +all joints through its scale. + +Requirement: A chain of at least two connected bones. + +Bend Rotation Axis (Automatic, X, Y, Z, -X, -Y, -Z) + Defines the automatic rotation axis to be linked to the scale of the master bone. +B-Bone Segments (integer) + Defines the number of b-bone segments each tweak control will be split into. +IK Control + Generates a very simple IK mechanism with only one control. + + IK starts its work with the shape of the finger defined by FK controls and adjusts it + to make the fingertip touch the IK control. It is designed as a tool to temporarily keep + the fingertip locked to a surface it touches, rather than a fully featured posing system. + + To improve performance, the switchable parent for the IK control contains only one option beside None. + Thus it is advised to add a 'held object' control using the :ref:`basic.raw_copy ` + rig to act as the common parent for the fingers with a fully functional parent switch. +IK Local Location + Specifies the value of the Local Location option for IK controls, which decides if the location + channels are aligned to the local control orientation or world. +Assign Tweak Layers + If enabled, allows placing the Tweak controls in different bone collections from the main controls. +Assign Extra IK Layers + If enabled, allows placing the extra IK control in different bone collections from the main controls. + +.. note:: + + Rotation Axis (Bend Rotation Axis in the case of `limbs.super_finger`_) + affects the :doc:`roll ` of the generated bones. + Automatic mode recalculates the generated bones roll while + any of the Manual modes copy the roll of the meta-rig bones. + + +.. _rigify.rigs.limbs.super_limb: + +limbs.super_limb +================ + +A backwards compatibility wrapper around `limbs.arm`_, `limbs.leg`_ and `limbs.paw`_. + + +.. _rigify.rigs.limbs.arm: + +limbs.arm +========= + +Will create a fully featured bendy and stretchy arm depending on the user-defined options. + +Requirement: A chain of three connected bones (upper_arm, forearm, hand). + +.. figure:: /images/addons_rigging_rigify_rig-types_limbs_arm-required.png + + Arm required bones. + +IK Wrist Pivot + Generates an extra child of the hand IK control that rotates around the tail of the hand bone. + +Rotation Axis (Automatic, X, Z) + Defines the bend axis for the IK chain. FK chains will have a totally free degree of rotation on all axes. +Limb Segments (integer) + Defines the number of additional tweak controls each limb bone will have on the final rig. +B-Bone Segments (integer) + Defines the number of b-bone segments each tweak control will be split into. +Custom IK Pivot + Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot. +Assign FK Layers + If enabled, allows placing the FK chain in different bone collections from the IK bones. +Assign Tweak Layers + If enabled, allows placing the Tweak controls in different bone collections from the IK bones. + + +.. _rigify.rigs.limbs.leg: + +limbs.leg +========= + +Will create a fully featured bendy and stretchy leg depending on the user-defined options. + +Requirement: A chain of four connected bones (thigh, shin, foot, toe) with one unconnected +child of the foot to be used as the heel pivot. + +.. figure:: /images/addons_rigging_rigify_rig-types_limbs_leg-required.png + + Leg required bones. + +Foot Pivot (Ankle, Toe, Ankle & Toe) + Specifies where to put the pivot location of the main IK control, or whether to generate an additional + pivot control at the base of the toe. + +Separate IK Toe + Specifies that two separate toe controls should be generated for IK and FK instead of sharing one bone. + This is necessary to get fully correct IK-FK snapping in all possible poses. + +Toe Tip Roll + Generates a slider to switch the heel control to pivot on the tip rather than the base of the toe + (for roll this obviously only applies on forward roll). + +Rotation Axis (Automatic, X, Z) + Defines the bend axis for the IK chain. FK chains will have a totally free degree of rotation on all axes. +Limb Segments (integer) + Defines the number of additional tweak controls each limb bone will have on the final rig. +B-Bone Segments (integer) + Defines the number of b-bone segments each tweak control will be split into. +Custom IK Pivot + Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot. +Assign FK Layers + If enabled, allows placing the FK chain in different bone collections from the IK bones. +Assign Tweak Layers + If enabled, allows placing the Tweak controls in different bone collections from the IK bones. + + +.. _rigify.rigs.limbs.paw: + +limbs.paw +========= + +Will create a fully featured bendy and stretchy paw depending on the user-defined options. + +Requirement: A chain of four or five connected bones (thigh, shin, paw, *optional* digit, toe). + +.. figure:: /images/addons_rigging_rigify_rig-types_limbs_paw-required.png + + Front/Rear paw required bones. + +Rotation Axis (Automatic, X, Z) + Defines the bend axis for the IK chain. FK chains will have a totally free degree of rotation on all axes. +Limb Segments (integer) + Defines the number of additional tweak controls each limb bone will have on the final rig. +B-Bone Segments (integer) + Defines the number of b-bone segments each tweak control will be split into. +Custom IK Pivot + Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot. +Assign FK Layers + If enabled, allows placing the FK chain in different bone collections from the IK bones. +Assign Tweak Layers + If enabled, allows placing the Tweak controls in different bone collections from the IK bones. + + +.. _rigify.rigs.limbs.front_paw: + +limbs.front_paw +=============== + +Derivative of `limbs.paw`_ with extended IK suitable for use in front paws. +The additional IK limits the degree of change in the angle between shin and +paw bones (2nd and 3rd) as the main IK control moves and rotates. + +For best results, the shin bone should not be parallel to either thigh or paw in rest pose, +i.e. there should be some degree of bend in all joints of the paw. + +Heel IK Influence + Influence of the extended IK. At full rotating the main IK control or digit bone would + not affect the rotation of the paw bone, while lower values provide some blending. + + +.. _rigify.rigs.limbs.rear_paw: + +limbs.rear_paw +============== + +Derivative of `limbs.paw`_ with extended IK suitable for use in rear paws. +The additional IK tries to maintain thigh and paw bones (1st and 3rd) in a nearly parallel orientation +as the main IK control moves and rotates. + +For best results, thigh and paw bones should start nearly parallel in the rest pose. + + +.. _rigify.rigs.limbs.super_palm: + +limbs.super_palm +================ + +Will create a palm system based on the distance between palm bones. + +Requirement: At least two bones child of the same parent. +The property has to be set on the inner palm bones (think it as index's metacarpus), +the rig control will appear on the last palm bone (think it as pinky's metacarpus). + +Both Sides + Generates controls on both sides of the palm, with influence on inner bones blended between them. + +Primary Rotation Axis (X, Z) + Defines the automatic rotation axis to be used on the palm bones. + + +.. _rigify.rigs.limbs.spline_tentacle: + +limbs.spline_tentacle +===================== + +This rig type implements a flexible tentacle with an IK system using the Spline IK constraint. The control bones +define control points of a Bezier curve, and the bone chain follows the curve. + +The curve control points are sorted into three groups: start, middle and end. The middle controls are always +visible and active, while the other two types can be shown and hidden dynamically using properties; when enabled +they appear next to the corresponding permanent start/end control and can be moved from there. + +Extra Start Controls + Specifies the number of optional start controls to generate. +Middle Controls + Specifies the number of middle controls to generate. +Extra End Controls + Specifies the number of optional end controls to generate. +Tip Control: + Specifies how the curve stretching and the final control bone work: + + Stretch To Fit + Stretches the whole bone chain to fit the length of the curve defined by the controls. + + An end twist control is generated to control the twist along the chain. + Direct Tip Control + Generates an IK end control, which directly controls the final bone of the chain similar to how + regular IK works for limbs, as well as controlling the end of the bezier curve. The middle bones of + the chain stretch to follow the curve and cover the gap. + + The rig automatically deduces twist of up to 180 degrees based on the orientation of the end control. + Higher amounts of twist have to be dialed in through an End Twist Estimate slider to avoid flipping. + Manual Squash & Stretch + This mode allows full manual control over the chain scaling, while the chain covers as much of the curve + as it can given its current length. + + The start control of the chain manages its uniform squash & stretch scale, while the end twist control + manages both the twist of the chain, as well as its scale at the tip (blended gradually along the length). +Radius Scaling + Allows scaling the controls to control the thickness of the chain through the curve. +Maximum Radius + Specifies the maximum scale allowed by the Radius Scaling feature. +FK Controls + Generates an FK control chain and IK-FK snapping. +Assign FK Layers + If enabled, allows placing the FK chain in different bone collections from the IK bones. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/skin.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/skin.rst new file mode 100644 index 0000000..05aacbe --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/skin.rst @@ -0,0 +1,221 @@ +.. todo: make permanent 'new', development + +**** +Skin +**** + +These rigs implement a flexible system for rigging skin using multiple interacting B-Bone chains. +This is developed as the base for a new modular Rigify face rig. +These are the main ideas of the system: + +Generic B-Bone Chain + One core idea of the system is that most of the deformation should be implemented + using a standard powerful B-Bone chain rig. These chains support advanced behavior by + interacting with other rig components. This is in contrast to having multiple domain-specific rigs + that each generate their own deform chains. + + The implementation provides two versions of the chain rig: `skin.basic_chain`_ merely + attaches B-Bones to the controls with no automation added to the controls themselves. + The `skin.stretchy_chain`_ rig in addition interpolates motion of the end (and an optional middle) + controls to the other controls of the chain. + +Automatic Control Merging + The deformation part of the system consists of chains of one or more B-Bones connecting + control points (nodes). Whenever controls for two chains would completely overlap, + they are automatically merged. + + For each merged control, one of the chains is selected as the owner, based on heuristic factors + like parent depth from root, presence of ``.T``/``.B`` ``.L``/``.R`` symmetry markers, + and even alphabetical order as the last resort. This can be overridden by an explicit priority setting + in cases when it guesses wrong. + + The owner and its parents determine additional automation that is placed on the control. + As a special case, if a control is merged with its ``.T``/``.B`` ``.L``/``.R`` symmetry counterparts + (detected purely by naming), the automation from all of the symmetry siblings + of the owner is averaged. + +.. _rigify.rigs.skin.skin_parents: + +Parent Controllers + Rather than simply using the parent meta-rig bone (ORG) as parent for controls and chain mechanisms, + the new system includes an interface for parent rigs. It explicitly provide parent bones and generate control + parent automation mechanisms for their child chain controls by inheriting from the appropriate base + and overriding methods. + + This allows implementing rigs that integrate and manage their child chains in intelligent ways in order + to add extra automation specific to certain areas. The base skin system includes one simple example + `skin.transform.basic`_ rig, which translates its child control points according to + its control bone transformation. + +Custom Rigging + Finally, the new system provides ways to integrate with custom automation directly included in the meta-rig + via two extra rig components. + + The `skin.anchor`_ rig generates a single control with inherited constraints etc., similar to + :ref:`basic.super_copy `. However, it also integrates into the skin system + as a zero length chain with highest priority. This allows overriding the normal behavior by providing + a control point under full control of the user, which other chains would automatically attach to. + + The `skin.glue`_ rig on the other hand will attach itself to the control that is generated at + its position (it is an error if there is none). It can be used to read the position of the control + from custom rigging in the meta-rig, or inject constraints into the control bone. It is possible to + also detect the control at the tail of the glue bone and use it as target in the constraints, + thus copying transformation between the controls. + + +.. _rigify.rigs.skin.basic_chain: + +skin.basic_chain +================ + +This is the basic chain rig, which bridges controls with B-Bones but does not add +any automation to the controls themselves. + +When controls are merely moved, the chains behave as if using standard +automatic handles, but rotating and optionally scaling the controls will adjust the result. + +B-Bone Segments + Specifies the number of segments to use. Setting this to 1 disables + all advanced behavior and merely bridges the points with a Stretch To bone. +Merge Parent Rotation and Scale + This can be enabled to let the chain respond to rotation and scale induced by parents of + controls owned by other chains that this chain's control merged into. +Use Handle Scale + Enables using control scale to drive scale and/or easing of the B-Bone. +Connect With Mirror + Specifies whether the ends of the chain should smoothly connect when merging controls + with its ``.T``/``.B`` ``.L``/``.R`` symmetry counterpart. The relevant option must be enabled + on both chains to work. +Connect Matching Ends + Specifies whether the end of the chain should connect to the opposite end of a different chain + when merging controls. Thus forming a continuous smooth chain in the same direction. + The relevant options must be enabled on both chains. +Sharpen Corner + Specifies whether the rig should generate a mechanism to form a sharp corner at + the relevant connected end, depending on the angle formed by adjacent control locations. + When the control angle becomes sharper than the specified value, ease starts reducing from 1 to 0. +Orientation + Specifies that the controls should be oriented the same as the selected bone, rather than being + aligned to the chain. + + Copy To Selected + Copy to selected rigs that have the same option. Thus allowing to indiscriminately selecting bones + without assigning unnecessary values. +Chain Priority + Allows overriding the heuristic used to select the primary owner when merging controls. + + +.. _rigify.rigs.skin.stretchy_chain: + +skin.stretchy_chain +=================== + +This rig extends the basic chain with automation that propagates movement of the start and end, +and an optional middle control, to other controls. This results in stretching the whole chain +when moving one of the ends, rather than just the immediately adjacent B-Bones. + +Middle Control Position + Specifies the position of the middle control within the chain; disabled when zero. +Falloff + Specifies the influence falloff curves of the start, middle and end controls. + Zero results in linear falloff, increasing widens the influence, and -10 disables + the influence propagation from that control completely. +Spherical Falloff + Toggle buttons to change the shape of the falloff curve from a power curve that at falloff 1 forms a parabola + :math:`1 - x^{2^f}` to a curve forming a circle :math:`(1 - x^{2^f})^{2^{-f}}`. +Falloff Along Chain Curve + Computes the falloff curve along the length of the chain, instead of projecting on the straight + line connecting its start and end points. +Propagate Twist + Specifies whether twist of the chain should be propagated to control points between main controls. +Propagate Scale + Specifies whether perpendicular scaling of the chain should be propagated to control points between main controls. +Propagate to Controls + Allows other chains to see propagated twist and scale via *Merge Parent Rotation and Scale* when their + controls are merged into this chain, instead of it being completely local to this chain. +Primary Control Layers + Optionally specifies bone collections for the end controls. +Secondary Control Layers + Optionally specifies bone collections for the middle control, falling back to *Primary Control Layers* if not set. + +The main controls with active falloff have the effect of *Merge Parent Rotation and Scale* +automatically enabled just for them. + + +.. _rigify.rigs.skin.anchor: + +skin.anchor +=========== + +This rig effectively acts as a zero-length chain with highest priority, +ensuring that it becomes the owner when merging controls with other chains. +And also allowing one to input custom automation influence into the skin system. + +All constraints on the meta-rig bone are moved to the created control. + +Generate Deform Bone + Creates a deformation bone parented to the control. +Suppress Control + Makes the control a hidden mechanism bone to hide it from the user. +Widget Type + Selects which widget to generate for the control. +Relink Constraints + Operates the same as in :ref:`basic.raw_copy `, + except all constraints are moved from ORG to the control bone. +Orientation + Specifies the bone used to orient the control, like for other chains. + + +.. _rigify.rigs.skin.glue: + +skin.glue +========= + +This rig is in concept similar to `skin.anchor`_, but instead of overriding controls, +it is used to read or adjust the state of controls generated by other rigs. +The head of the bone must overlap a control of another skin rig. + +The rig sets up its ORG bone to read the state of the control, +while moving all constraints that were originally on the bone to the control. + +Glue Mode + Specifies how the ORG bone is connected to the skin control. + + Child Of Control + Makes the ORG bone a child of the control bone. + Mirror Of Control + Makes the ORG bone a sibling of the control with a Copy Transforms constraint from the control. + The resulting local space transformation is the same as control's local space. + Mirror With Parents + Parents the ORG bone to the parent automation a control owned by + the glue rig would have had, while making it follow the actual control. + This includes both direct and parent-induced motion of the control into + the local space transformation of the bone. + Deformation Bridge + Other than adding glue constraints to the control, the rig acts as a one segment basic deform chain. + This is convenient when a pair of controls need to be bridged both with glue and a deform bone. + +Relink Constraints + Operates the same as in :ref:`basic.raw_copy `, + except all constraints are moved from ORG to the control bone. +Use Tail Target + Relinks ``TARGET`` or any constraints with an empty target bone and no relink specification + to reference the control located at the tail of the glue bone. +Target Local With Parents + Switches the tail target to operate similarly to *Mirror With Parents*. +Add Constraint + Allows to add a typical glue constraints with specific *Influence*, as if it were at + the start of the ORG bone constraint stack. + + +.. _rigify.rigs.skin.transform.basic: + +skin.transform.basic +==================== + +This rig provides a simplistic :ref:`parent controller `, which uses regular +translation, rotation, or scale to modify locations but not orientations or scale of its child chain controls. + +Generate Control + Specifies whether to generate a visible control, or use the transformation of the ORG bone + as a part of more complex and specific rig setup. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/spines.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/spines.rst new file mode 100644 index 0000000..9177e70 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/rigging/rigify/rig_types/spines.rst @@ -0,0 +1,92 @@ + +****** +Spines +****** + +These rigs are used to generate spine structures, including the head and tail. + + +.. _rigify.rigs.spines.super_spine: + +spines.super_spine +================== + +Will create a complete bendy and stretchy b-bones spine system based on bone numbers of +your bone chain and user defined options. + +This is a composite wrapper of `spines.basic_spine`_, `spines.super_head`_ and `spines.basic_tail`_. +Note that for the tail, the direction of the bones is reversed compared to the separate rig. + +Requirement: A chain of at least three connected bones (base system). + +.. figure:: /images/addons_rigging_rigify_rig-types_spines-required.png + + Spine required bones. + +Pivot Position (integer) + Defines the pivot position for torso and hips. +Head (Boolean) + When checked neck and head systems will be added to your spine rig. + + Neck Position (integer) + Defines the bone where the neck system starts. The last bone will always be the head system. + If neck position is the last bone of the chain, then only the head system will be created ignoring the neck. +Tail (Boolean) + When checked tail system will be added to your spine rig. + + Tail Position (integer) + Defines the bone where the tail system starts. The next bone will always be the hips system. +X, Y, Z (Boolean) + When generating a tail, specifies which local axis rotations should be replicated along the chain. +Assign Tweak Layers + If enabled, allows placing the Tweak controls in different bone collections from the IK bones. + +.. figure:: /images/addons_rigging_rigify_rig-types_spines-default.png + + Spine default bones. + +.. figure:: /images/addons_rigging_rigify_rig-types_spines-example.png + + Spine with tail bones. + + +.. _rigify.rigs.spines.basic_spine: + +spines.basic_spine +================== + +Defines a bendy and stretchy b-bones spine. + +Pivot Position (integer) + Defines the pivot position for torso and hips. +Assign Tweak Layers + If enabled, allows placing the Tweak controls in different bone collections from the IK bones. +FK Controls + Specifies whether to generate an FK control chain. +Assign FK Layers + If enabled, allows placing the FK chain in different bone collections from the IK bones. + + +.. _rigify.rigs.spines.basic_tail: + +spines.basic_tail +================= + +Defines a bendy and stretchy b-bones tail. + +X, Y, Z (Boolean) + Specifies which local axis rotations should be replicated along the chain from each control + bone to the following one. +Assign Tweak Layers + If enabled, allows placing the Tweak controls in different bone collections from the IK bones. + + +.. _rigify.rigs.spines.super_head: + +spines.super_head +================= + +Defines a head rig with follow torso controls. + +Assign Tweak Layers + If enabled, allows placing the Tweak controls in different bone collections from the IK bones. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/system/index.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/system/index.rst new file mode 100644 index 0000000..8fd3ea0 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/system/index.rst @@ -0,0 +1,15 @@ + +########## + System +########## + +.. important:: + + Work In Progress + +These add-ons relate to showing information about objects and scenes. + +.. toctree:: + :maxdepth: 1 + + ui_translations.rst diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/system/ui_translations.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/system/ui_translations.rst new file mode 100644 index 0000000..3f8a75f --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/addons/system/ui_translations.rst @@ -0,0 +1,31 @@ + +********************** +Manage UI Translations +********************** + +.. todo:: Add this information. + + +Enabling Add-on +=============== + +#. Open Blender and go to :doc:`/editors/preferences/addons` section of the :doc:`/editors/preferences/index`. +#. Search "Manage UI Translations" and check the *Enable Add-on* checkbox. + + +Description +=========== + +See `Blender translation guide +`__ +in the Developer Handbook. + +.. reference:: + + :Category: System + :Description: Allows managing UI translations directly from within Blender + (update main po-files, update scripts' translations, etc.). + :Location: :menuselection:`Topbar --> File menu`, Text editor, any UI control + :File: ui_translate folder + :Author: Bastien Montagne + :Note: This add-on is bundled with Blender. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/app_templates.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/app_templates.rst new file mode 100644 index 0000000..0a0d35d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/app_templates.rst @@ -0,0 +1,220 @@ +.. _bpy.ops.wm.app_template: +.. _bpy.ops.preferences.app_template_install: +.. _app_templates: + +********************* +Application Templates +********************* + +Usage +===== + +Application templates are a feature that allows you to define a re-usable configuration +that can be selected to replace the default configuration, +without requiring a separate Blender installation or overwriting your personal settings. + +Application templates can be selected from the splash screen or :menuselection:`File --> New` submenu. +When there are no templates found the menu will not be displayed on the splash screen. + +New application templates can be installed from the :ref:`topbar-blender_menu`. +If you would like to keep the current application template active on restarting Blender, save your preferences. + + +Motivation +---------- + +In some cases it's not enough to write a single script or add-on, +and expect someone to replace their preferences and startup file, install scripts and change their keymap. + +The goal of application templates is to support switching to a customized configuration +without disrupting your existing settings and installation. +This means people can build their own *applications* on top of Blender that can be easily distributed. + + +Details +------- + +An application template may define its own: + +Startup File + The default file to load with this template. +Preferences + Only certain preferences from a template are used: + + - Themes. + - Add-ons. + - Keymaps. + - Viewport lighting. +Splash Screen + Templates may provide their own splash screen image. +Python Scripts + While templates have access to the same functionality as any other scripts, + typical operations include: + + - Modifying and replacing parts of the user interface. + - Defining new menus, keymaps and tools. + - Defining a custom add-on path for template specific add-ons. + +Templates also have their own user configuration, so saving a startup file while using a template +won't overwrite your default startup file. + + +Directory Layout +---------------- + +Templates may be located in one of two locations within the ``scripts`` directory. + +Template locations: + | ``{BLENDER_USER_SCRIPTS}/startup/bl_app_templates_user`` + | ``{BLENDER_SYSTEM_SCRIPTS}/startup/bl_app_templates_system`` + +User configuration is stored in a subdirectory: + +Without a template: + | ``./config/startup.blend`` + | ``./config/userpref.blend`` +With a template: + | ``./config/{APP_TEMPLATE_ID}/startup.blend`` + | ``./config/{APP_TEMPLATE_ID}/userpref.blend`` + +See :ref:`blender-directory-layout` for details on script and configuration locations. + +.. hint:: Troubleshooting Paths + + When creating an application template, you may run into issues where paths are not being found. + To investigate this you can log output of all of Blender's path look-ups. + + Example command line arguments that load Blender with a custom application template + (replace ``my_app_template`` with the name of your own template): + + .. code-block:: sh + + blender --log "bke.appdir.*" --log-level -1 --app-template my_app_template + + You can then check the paths where attempts to access ``my_app_template`` are made. + + +Command Line Access +------------------- + +Using the :ref:`command-line arguments ` you can setup a launcher +that opens Blender with a specific app template: + +.. code-block:: sh + + blender --app-template my_template + + +Template Contents +================= + +Each of the following files can be used for application templates but are optional. + +``startup.blend`` + Factory startup file to use for this template. +``userpref.blend`` + Factory preferences file to use for this template. + When omitted preferences are shared with the default Blender configuration. + + *(As noted previously, this is only used for a subset of preferences).* + +``splash.png`` + Splash screen to override Blender's default artwork (not including header text). + Note, this image must be a ``1000x500`` image. + +``__init__.py`` + A Python script which must contain ``register`` and ``unregister`` functions. + +.. note:: + + Bundled blend-files ``startup.blend`` and ``userpref.blend`` are considered *Factory Settings* + and are never overwritten. + + The user may save their own startup/preferences while using this template which will be stored + in their user configuration, but only when the template includes its own ``userpref.blend`` file. + + The original template settings can be loaded using: *Load Template Factory Settings* + from the file menu in much the same way *Load Factory Settings* works. + + +Template Scripts +================ + +While app templates can use Python scripts, +they simply have access to the same APIs available for add-ons and any other scripts. + +As noted above, you may optionally have an ``__init__.py`` in your app template. +This has the following advantages: + +- Changes can be made to the startup or preferences, without having to distribute a blend-file. +- Changes can be made dynamically. + + You could for example -- configure the template to check the number of processors, + operating system and memory, then set values based on this. + +- You may enable add-ons associated with your template. + +On activation a ``register`` function is called, ``unregister`` is called when another template is selected. + +As these only run once, any changes to defaults must be made via handler. +Two handlers you are likely to use are: + +- ``bpy.app.handlers.load_factory_preferences_post`` +- ``bpy.app.handlers.load_factory_startup_post`` + +These allow you to define your own "factory settings", which the user may change, +just as Blender has it's own defaults when first launched. + +This is an example ``__init__.py`` file which defines defaults for an app template to use. + +.. code-block:: python + + import bpy + from bpy.app.handlers import persistent + + @persistent + def load_handler_for_preferences(_): + print("Changing Preference Defaults!") + from bpy import context + + prefs = context.preferences + prefs.use_preferences_save = False + + kc = context.window_manager.keyconfigs["blender"] + kc_prefs = kc.preferences + if kc_prefs is not None: + kc_prefs.select_mouse = 'RIGHT' + kc_prefs.spacebar_action = 'SEARCH' + kc_prefs.use_pie_click_drag = True + + view = prefs.view + view.header_align = 'BOTTOM' + + + @persistent + def load_handler_for_startup(_): + print("Changing Startup Defaults!") + + # Use smooth faces. + for mesh in bpy.data.meshes: + for poly in mesh.polygons: + poly.use_smooth = True + + # Use material preview shading. + for screen in bpy.data.screens: + for area in screen.areas: + for space in area.spaces: + if space.type == 'VIEW_3D': + space.shading.type = 'MATERIAL' + space.shading.use_scene_lights = True + + + def register(): + print("Registering to Change Defaults") + bpy.app.handlers.load_factory_preferences_post.append(load_handler_for_preferences) + bpy.app.handlers.load_factory_startup_post.append(load_handler_for_startup) + + def unregister(): + print("Unregistering to Change Defaults") + bpy.app.handlers.load_factory_preferences_post.remove(load_handler_for_preferences) + bpy.app.handlers.load_factory_startup_post.remove(load_handler_for_startup) diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/appendices/index.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/appendices/index.rst new file mode 100644 index 0000000..51b436c --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/appendices/index.rst @@ -0,0 +1,12 @@ + +############## + Appendices +############## + +This chapter covers far more detailed explanations about some Blender tools +(which may not be required for typical usage). + +.. toctree:: + :maxdepth: 1 + + rotations.rst diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/appendices/rotations.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/appendices/rotations.rst new file mode 100644 index 0000000..7528852 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/appendices/rotations.rst @@ -0,0 +1,168 @@ + +************** +Rotation Modes +************** + +Blender lets you define rotations in several ways. Each one of them has a series of advantages and drawbacks; +there is no best rotation mode, as each one is suitable for specific cases. + +In all of these modes, positive angle values mean counter-clockwise rotation direction, +while negative values define clockwise rotation. + +Though you can rotate elements using the global or local transform orientations, +these axes are not suitable to define rotations, as the effect of each of +them cannot be isolated from the other two. + +Take, for instance, any three values for X, Y and Z rotation. Perform each one of these using global or local axes. +Depending on the order in which you perform these, you will end up with different final orientations. +So proper rotation coordinate systems are needed. + +.. _euler mode: + +Euler Modes +=========== + +The axes system used for performing Euler rotations is the so called Euler gimbal. +A gimbal is a particular set of three axes. +The special thing about this is that the axes have a hierarchical relationship between them: +one of the axes is at the top of the hierarchy, and has one of the other two axes as its immediate child; +at the same time, this child axis is the parent of the remaining axis, the one at the very bottom of the hierarchy. + +Which axis is on top, which one in the middle and which at the bottom, +depends on the particular Euler gimbal: there are six types of them, as there +are six possible combinations: XYZ, XZY, YXZ, YZX, ZXY and ZYX Euler rotation modes. +These modes are named using the letters of the axes in order, starting from +the axis at the bottom of the hierarchy, and finishing with the one on top. + +The main problem of these systems comes when they lose their relative perpendicularity. +And this happens when the axis in the middle rotates, causing the axis at the bottom to +rotate with it. It keeps getting worse when this bottom axis approaches 90° (or equivalent angles). +In that case, it will remain aligned with the axis on top of the hierarchy. In that moment +we have just lost one axis of rotation. This can cause discontinuous interpolations when animating. +This particular loss of axis is known as the "gimbal lock". + +.. hint:: + + The actual configuration of the gimbal axes can be seen in the 3D Viewport by enabling the *Rotate* object gizmo + and setting it to *Gimbal* (from the gizmos button in the header). + At the same time, rotation mode should be set to any of the Euler modes for the active object. + + Now you can perform a rotation around the axis in the middle + (e.g. in *XYZ Euler* mode that is the Y axis), and see how easy it is to + end up having a gimbal with just two axes. In the specific case of + the *XYZ Euler* mode with gimbal lock, a rotation around the X axis will have + the same effect as rotating around the Z axis, meaning, in practice, + that no X axis rotations can be performed. + +One advantage of this mode is that animation curves are easy to understand and edit. +However, special attention must be done when the middle axis approaches values close to 90° (or equivalent angles). + +.. _axis angle mode: + +Axis Angle Mode +=============== + +This mode lets us define an axis (X, Y, Z) and a rotation angle (W) around that axis. + +If we define the rotation using interactive rotations (with the rotation gizmo), +the values of X, Y and Z will not exceed 1.0 in absolute value, and W will be +comprised between 0 and 180 degrees. + +If you wish to define rotations above 180° (e.g. to define multiple revolutions), +you will need to edit the W value directly, but as soon as you perform an interactive rotation, +that value will be adjusted again. Same thing goes for axis values. + +This system is suitable for elements revolving around a fixed axis, or to animate one of the elements at a time +(either the axis or the angle). +The problem might come when animating (interpolating) both components at the same time: axis and angle. +The resulting effect might not be as expected. + +The *Gimbal* gizmo in this rotation mode shows a set of three orthogonal axes in which the Z axis goes +along the defined rotation axis, i.e. it points towards the direction defined by the (X, Y, Z) point. + +The axis-angle system is free from gimbal lock, but animation curves in this mode are not intuitive at all +when animating axis and angle at the same time, in which case they are difficult to understand and edit. + +.. _quaternion mode: + +Quaternion Mode +=============== + +In this mode, rotations are also defined by four values (X, Y, Z and W). +X, Y and Z also define an axis, and W an angle, but it does it quite differently from axis-angle. +The important thing here is the relation between all four values. + +To describe it in an intuitive way, let's take the effect of the X coordinate: +what it does is to rotate the element around the X axis up to 180 degrees. +The same goes for Y and Z. The effect of W is to avoid those rotations and leave +the element with zero rotation. The final orientation is a combination of +these four effects. + +As the relation between components is what defines the final orientation, multiplying or dividing all four numbers +by a constant value will yield the very same rotation. + +This mode is ideal for interpolating between **any** pair of orientations. +It doesn't suffer from gimbal lock or any interpolation undesired effect. +The only drawback is that you cannot interpolate between two orientations +that are at a distance greater than 180°, as the animation will take +the shortest path between them. Thus to animate a revolving element +you must set up many intermediate keyframes, 180° from each other at most. + +The *Gimbal* gizmo in this mode is equivalent to the *Local* one, and doesn't have any special meaning. + +The animation curves in this mode are not intuitive, so they are also difficult to understand and edit. + + +More about Quaternions +---------------------- + +This section is not really useful for 3D artists, but it can be suitable for the curious or the scientist. + +Quaternions are a number system extending the complex numbers. They represent a four component vector, whose +components are called, in Blender, X, Y, Z and W. +When rotating interactively in quaternion mode, the so called norm (length) of the quaternion will remain constant. +By definition, the norm of a quaternion equals 1.0 (that's a **normalized** quaternion). When you select +the quaternion mode in Blender, the XYZW components describe a normalized quaternion. + +.. note:: + + The norm of a quaternion *q* is defined mathematically as: + + .. math:: + + \lvert q \rvert = \sqrt{X^2 + Y^2 + Z^2 + W^2} + +However, if one of the quaternion components is locked during the interactive transformation using the proper +lock button, the norm will not remain unchanged, as that blocked component will not be able to adjust itself to +keep the unit norm. + +.. hint:: + + Interactive rotations with the gizmo don't change the norm of the current quaternion. + Editing a single XYZW component individually you can change the norm. + To make the norm 1.0 again you can switch to any rotation mode and back again into quaternion. + +The rotation components of a quaternion keep a tight relation with those of axis-angle. To find a correspondence, +first of all we must deal with the normalized version of the quaternion, that is, one whose norm equals 1.0. +To normalize a quaternion, just divide each one of its components by its norm. +As we have seen before, dividing all four values by the same number gives the same orientation. + +Once we have calculated the components of the normalized quaternion, the relation with the axis-angle components +is as follows: + +- X, Y and Z mean exactly the same as in axis-angle: they just define an axis around which the rotation takes place. +- W can be used to retrieve the actual rotation around the defined angle. + The following formula applies (provided that the *quaternion is normalized*): + :math:`W = \cos(\frac{a}{2})`, where *a* is actually the rotation angle we are looking for. That is: + :math:`a = 2 \arccos{W}`. + + +Other Considerations +==================== + +In axis-angle and quaternion modes we can lock rotations in interactive modes in a per component basis, +instead of doing it by axis. To do so we can activate this locking ability using the lock buttons next to +the corresponding *Rotation* transform buttons. + +Regarding rotation animations, all keyframes must be defined in the same rotation mode, +which must be the selected rotation mode for the object throughout the entire animation. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/blender_directory_layout.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/blender_directory_layout.rst new file mode 100644 index 0000000..88021c2 --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/blender_directory_layout.rst @@ -0,0 +1,241 @@ +.. _blender-directory-layout: + +************************** +Blender's Directory Layout +************************** + +This page documents the different directories used by Blender. + +This can be helpful for troubleshooting, automation and customization. + + +User Directories +================ + +User directories store preferences, startup file, installed extensions, +presets and more. By default these use the standard configuration folders +for each operating system. + +Linux +----- + +.. parsed-literal:: $HOME/.config/blender/|BLENDER_VERSION|/ + +If the ``$XDG_CONFIG_HOME`` environment variable is set: + +.. parsed-literal:: $XDG_CONFIG_HOME/blender/|BLENDER_VERSION|/ + +macOS +----- + +.. parsed-literal:: /Users/$USER/Library/Application Support/Blender/|BLENDER_VERSION|/ + +Windows +------- + +.. parsed-literal:: %USERPROFILE%\\AppData\\Roaming\\Blender Foundation\\Blender\\\ |BLENDER_VERSION|\\ + +.. _portable-installation: + +Portable Installation +--------------------- + +When running Blender from a portable drive, it's possible to keep the configuration +files on the same drive to take with you. + +To enable this, create a folder named ``portable`` at the following locations: + +- Windows: Next to the Blender executable, in the unzipped folder +- Linux: Next to the Blender executable, in the unzipped folder +- macOS: Inside the application bundle at ``Blender.app/Contents/Resources`` + +This folder will then store preferences, startup file, installed extensions +and presets. + +Environment Variables +--------------------- + +The ``BLENDER_USER_RESOURCES`` :ref:`environment variable ` +can be set to a custom directory to replace the default user directory. + +System Directories +================== + +System directories store files that come bundled with Blender and +are required for it to function. This includes scripts, presets, essential +assets and more. + +Linux +----- + +Archive downloaded from blender.org: + +.. parsed-literal:: ./|BLENDER_VERSION|/ + +Linux distribution packages: + +.. parsed-literal:: /usr/share/blender/|BLENDER_VERSION|/ + +macOS +----- + +.. parsed-literal:: ./Blender.app/Contents/Resources/|BLENDER_VERSION|/ + +Windows +------- + +Zip file downloaded from blender.org: + +.. parsed-literal:: ./|BLENDER_VERSION|/ + +Installer downloaded from blender.org: + +.. parsed-literal:: %ProgramFiles%\\Blender Foundation\\Blender\\\ |BLENDER_VERSION|\\ + +Microsoft Store installation: + +.. parsed-literal:: %ProgramFiles%\\WindowsApps\\BlenderFoundation.Blender\\Blender\\\ |BLENDER_VERSION|\\ + + +Environment Variables +--------------------- + +``BLENDER_SYSTEM_SCRIPTS`` and ``BLENDER_SYSTEM_EXTENSIONS`` +:ref:`environment variables ` +can be used to :ref:`bundle additional scripts and extensions `, +that are not part of the regular Blender installation. + +Other ``BLENDER_SYSTEM`` environment variables can override other system paths, +though are not commonly used in practice. + +.. _blender-directory-path-layout: + +Path Layout +=========== + +``./autosave`` + Autosave blend-file location. (Windows only, temp directory used for other systems.) + + Located in user directories. + +``./config`` + User configuration and session info. + + Located in user directories. + + ``./config/startup.blend`` + Blend file to load on startup. + + ``./config/userpref.blend`` + User preferences. + + ``./config/bookmarks.txt`` + File Browser bookmarks. + + ``./config/recent-files.txt`` + Recent file menu list. + + ``./config/{APP_TEMPLATE_ID}/startup.blend`` + Startup file for an application template. + + ``./config/{APP_TEMPLATE_ID}/userpref.blend`` + User preferences file for an application template. + +``./datafiles`` + Data files loaded at runtime. + + Located in both user and system directories. User data files either override + or add to system data files. + + ``./datafiles/colormanagement`` + Default OpenColorIO configuration. + + ``./datafiles/fonts`` + User interface fonts. + + ``./datafiles/studiolights`` + Studio light images for 3D viewport. + +``./extensions`` + Extension repositories. + + Located in both user and system directories. Repositories are loaded from + both directories. + +``./scripts`` + Add-ons, presets, templates, user interface, startup scripts. + + Located in both user and system directories. Scripts are loaded from + both directories. + + ``./scripts/addons/*.py`` + Python add-ons which may be enabled in the Preferences include import/export format support, + render engine integration and many handy utilities. + + ``./scripts/addons/modules/*.py`` + Modules for add-ons to use + (added to Python's ``sys.path``). + + ``./scripts/addons_core/*.py`` + The add-ons directory which is used for bundled add-ons. + + ``./scripts/addons_core/modules/*.py`` + Modules for ``addons_core`` to use (added to Python's ``sys.path`` when it found). + + ``./scripts/modules/*.py`` + Python modules containing our core API and utility functions for other scripts to import + (added to Python's ``sys.path``). + + ``./scripts/startup/*.py`` + Scripts which are automatically imported on startup. + + ``./scripts/startup/bl_app_templates_user/{APP_TEMPLATE_ID}`` + Application templates installed in user directories. + + ``./scripts/startup/bl_app_templates_system/{APP_TEMPLATE_ID}`` + Application templates automatically loaded from system directories. + + ``./scripts/presets/{preset}/*.py`` + Presets used for storing user-defined settings for cloth, render formats, etc. + + ``./scripts/templates_py/*.py`` + Example scripts which can be accessed from :menuselection:`Text Editor --> Templates --> Python`. + + ``./scripts/templates_osl/*.osl`` + Example OSL shaders which can be accessed from + :menuselection:`Text Editor --> Templates --> Open Shading Language`. + +``./python`` + Bundled Python distribution. + + Located in system directories. + + +.. _local-cache-dir: + +Local Cache Directory +===================== + +The cache directory is used to store persistent caches locally. Currently it is only used for the indexing of +:ref:`Asset Libraries `. The operating system is not expected to clear this automatically. + +The following path will be used: + +- :Linux: ``$XDG_CACHE_HOME/blender/`` if ``$XDG_CACHE_HOME`` is set, otherwise ``$HOME/.cache/blender/`` +- :macOS: ``/Library/Caches/Blender/`` +- :Windows: ``%USERPROFILE%\AppData\Local\Blender Foundation\Blender\Cache\`` + + +.. _temp-dir: + +Temporary Directory +=================== + +The temporary directory is used to store various files at run-time +(including render layers, physics cache, copy-paste buffer and crash logs). + +The temporary directory is selected based on the following priority: + +- User Preference (see :ref:`prefs-file-paths`). +- Environment variables (``TEMP`` on Windows, ``TMP`` & ``TMP_DIR`` on other platforms). +- The ``/tmp/`` directory. diff --git a/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/command_line/arguments.rst b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/command_line/arguments.rst new file mode 100644 index 0000000..cd77f9d --- /dev/null +++ b/Plugin/BlenderBridge/blander-mcp/src/mcp/blmcp/data/manual/advanced/command_line/arguments.rst @@ -0,0 +1,599 @@ +.. DO NOT EDIT THIS FILE, GENERATED BY 'blender_help_extract.py' + + CHANGES TO THIS FILE MUST BE MADE IN BLENDER'S SOURCE CODE, SEE: + https://projects.blender.org/blender/blender/src/branch/main/source/creator/creator_args.cc + +.. _command_line-args: + +********************** +Command Line Arguments +********************** + +| Blender |BLENDER_VERSION_LABEL| +| Usage: ``blender [args ...] [file] [args ...]`` + +.. _command-line-args-render-options: + +Render Options +============== + +``-b``, ``--background`` + Run in background (often used for UI-less rendering). + + The audio device is disabled in background-mode by default + and can be re-enabled by passing in ``-setaudio Default`` afterwards. + +``-a``, ``--render-anim`` + Render frames from start to end (inclusive). + +``-S``, ``--scene`` ```` + Set the active scene ```` for rendering. + +``-f``, ``--render-frame`` ```` + Render frame ```` and save it. + + * ``+`` start frame relative, ``-`` end frame relative. + * A comma separated list of frames can also be used (no spaces). + * A range of frames can be expressed using ``..`` separator between the first and last frames (inclusive). + + +``-s``, ``--frame-start`` ```` + Set start to frame ````, supports +/- for relative frames too. + +``-e``, ``--frame-end`` ```` + Set end to frame ````, supports +/- for relative frames too. + +``-j``, ``--frame-jump`` ```` + Set number of frames to step forward after each rendered frame. + +``-o``, ``--render-output`` ```` + Set the render path and file name. + Use ``//`` at the start of the path to render relative to the blend-file. + + You can use path templating features such as ``{blend_name}`` in the path. + See Blender's documentation on path templates for more details. + + The ``#`` characters are replaced by the frame number, and used to define zero padding. + + * ``animation_##_test.png`` becomes ``animation_01_test.png`` + * ``test-######.png`` becomes ``test-000001.png`` + + When the filename does not contain ``#``, the suffix ``####`` is added to the filename. + + The frame number will be added at the end of the filename, eg: + + .. code-block:: sh + + blender -b animation.blend -o //render_ -F PNG -x 1 -a + + ``//render_`` becomes ``//render_####``, writing frames as ``//render_0001.png`` + +``-E``, ``--engine`` ```` + Specify the render engine. + Use ``-E help`` to list available engines. + +``-t``, ``--threads`` ```` + Use amount of ```` for rendering and other operations + [1-1024], 0 to use the systems processor count. + +.. _command-line-args-cycles-render-options: + +Cycles Render Options +===================== + +Cycles add-on options must be specified following a double dash. + +``--cycles-device`` ```` + Set the device used for rendering. + Valid options are: ``CPU`` ``CUDA`` ``OPTIX`` ``HIP`` ``ONEAPI`` ``METAL``. + + Append +CPU to a GPU device to render on both CPU and GPU. + + Example: + + .. code-block:: sh + + blender -b file.blend -f 20 -- --cycles-device OPTIX + +``--cycles-print-stats`` + Log statistics about render memory and time usage. + +.. _command-line-args-format-options: + +Format Options +============== + +``-F``, ``--render-format`` ```` + Set the render format. + Valid options are: + ``TGA`` ``RAWTGA`` ``JPEG`` ``IRIS`` ``PNG`` ``BMP`` ``HDR`` ``TIFF``. + + Formats that can be compiled into Blender, not available on all systems: + ``OPEN_EXR`` ``OPEN_EXR_MULTILAYER`` ``FFMPEG`` ``CINEON`` ``DPX`` ``JP2`` ``WEBP``. + +``-x``, ``--use-extension`` ```` + Set option to add the file extension to the end of the file. + + +.. _command-line-args-animation-playback-options: + +Animation Playback Options +========================== + +``-a`` ```` ```` + Instead of showing Blender's user interface, this runs Blender as an animation player, + to view movies and image sequences rendered in Blender (ignored if ``-b`` is set). + + Playback Arguments: + + ``-p`` ```` ```` + Open with lower left corner at ````, ````. + ``-m`` + Read from disk (Do not buffer). + ``-f`` ```` ```` + Specify FPS to start with. + ``-j`` ```` + Set frame step to ````. + ``-s`` ```` + Play from ````. + ``-e`` ```` + Play until ````. + ``-c`` ```` + Amount of memory in megabytes to allow for caching images during playback. + Zero disables (clamping to a fixed number of frames instead). + + +.. _command-line-args-window-options: + +Window Options +============== + +``-w``, ``--window-border`` + Force opening with borders, in a normal (non maximized) state. + +``-M``, ``--window-maximized`` + Force opening maximized. + +``-W``, ``--window-fullscreen`` + Force opening full-screen. + +``-p``, ``--window-geometry`` ```` ```` ```` ```` + Open with lower left corner at ````, ```` and width and height as ````, ````. + +``-con``, ``--start-console`` + Start with the console window open (ignored if ``-b`` is set), (Windows only). + +``--no-native-pixels`` + Do not use native pixel size, for high resolution displays (MacBook ``Retina``). + +``--no-window-frame`` + Disable all window decorations (Linux only). + +``--no-window-focus`` + Open behind other windows and without taking focus. + + +.. _command-line-args-python-options: + +Python Options +============== + +``-y``, ``--enable-autoexec`` + Enable automatic Python script execution. + +``-Y``, ``--disable-autoexec`` + Disable automatic Python script execution (Python-drivers & startup scripts), (default). + + +``-P``, ``--python`` ```` + Run the given Python script file. + +``--python-text`` ```` + Run the given Python script text block. + +``--python-expr`` ```` + Run the given expression as a Python script. + + The expression may be a complete multi-line script; + you are limited only by the platform's maximum argument length. + +``--python-console`` + Run Blender with an interactive console. + +``--python-exit-code`` ```` + Set the exit-code in [0..255] to exit if a Python exception is raised + (only for scripts executed from the command line), zero disables. + +``--python-use-system-env`` + Allow Python to use system environment variables such as ``PYTHONPATH`` and the user site-packages directory. + +``--addons`` ```` + Comma separated list (no spaces) of add-ons to enable in addition to any default add-ons. + + +.. _command-line-args-network-options: + +Network Options +=============== + +``--online-mode`` + Allow internet access, overriding the preference. + +``--offline-mode`` + Disallow internet access, overriding the preference. + + +.. _command-line-args-logging-options: + +Logging Options +=============== + +``--log`` ```` + Enable logging categories, taking a single comma separated argument. + + ``--log "*"``: everything + ``--log "event"``: every category starting with ``event``. + ``--log "render,cycles"``: both render and cycles messages. + ``--log "*mesh*"``: every category containing ``mesh`` sub-string. + ``--log "*,^operator"``: everything except operators, with ``^prefix`` to exclude. + +``--log-level`` ```` + Set the logging verbosity level. + + fatal: Fatal errors only + error: Errors only + warning: Warnings + info: Information about devices, files, configuration, operations + debug: Verbose messages for developers + trace: Very verbose code execution tracing + +``--log-show-memory`` + Show memory usage for each log message. + +``--log-show-source`` + Show source file and function name in output. + +``--log-show-backtrace`` + Show a back trace for each log message (debug builds only). + +``--log-file`` ```` + Set a file to output the log to. + +``--log-list-categories`` + List all available logging categories for ``--log``, and exit. + + + +.. _command-line-args-debug-options: + +Debug Options +============= + +``-d``, ``--debug`` + Turn debugging on. + + * Enables memory error detection + * Disables mouse grab (to interact with a debugger in some cases) + * Keeps Python's ``sys.stdin`` rather than setting it to None + +``--debug-value`` ```` + Set debug value of ```` on startup. + + +``--debug-events`` + Enable debug messages for the event system. + +``--debug-handlers`` + Enable debug messages for event handling. + +``--debug-libmv`` + Enable debug messages from libmv library. + +``--debug-memory`` + Enable fully guarded memory allocation and debugging. + +``--debug-jobs`` + Enable time profiling for background jobs. + +``--debug-python`` + Enable debug messages for Python. + +``--debug-depsgraph`` + Enable all debug messages from dependency graph. + +``--debug-depsgraph-eval`` + Enable debug messages from dependency graph related on evaluation. + +``--debug-depsgraph-build`` + Enable debug messages from dependency graph related on graph construction. + +``--debug-depsgraph-tag`` + Enable debug messages from dependency graph related on tagging. + +``--debug-depsgraph-no-threads`` + Switch dependency graph to a single threaded evaluation. + +``--debug-depsgraph-time`` + Enable debug messages from dependency graph related on timing. + +``--debug-depsgraph-pretty`` + Enable colors for dependency graph debug messages. + +``--debug-depsgraph-uid`` + Verify validness of session-wide identifiers assigned to ID data-blocks. + +``--debug-ghost`` + Enable debug messages for Ghost (Linux only). + +``--debug-wintab`` + Enable debug messages for Wintab. + +``--debug-gpu`` + Enable GPU debug context and information for OpenGL 4.3+. + +``--debug-gpu-force-workarounds`` + Enable workarounds for typical GPU issues and disable all GPU extensions. + +``--debug-gpu-compile-shaders`` + Compile all statically defined shaders to test platform compatibility. + +``--debug-gpu-shader-debug-info`` + Enable shader debug info generation (Vulkan only). + +``--debug-gpu-scope-capture`` + Capture the GPU commands issued inside the give scope name. + +``--debug-gpu-shader-source`` + Save the compiled GPU shader source code for the given shader name. + The given name can contain leading or trailing wildcard "*" to match multiple shaders. Files are saved in the current working directory inside a directory named "Shaders". + +``--debug-gpu-shader-no-preprocessor`` + Skip preprocessor pass and rely on driver or shader compiler preprocessor instead. + Also disable dead code elimination. + +``--debug-gpu-shader-no-dce`` + Skip dead code elimination pass. + +``--debug-gpu-no-texture-pool`` + Disable memory aliasing optimizations in the GPU texture pool. + +``--debug-gpu-renderdoc`` + Enable RenderDoc integration for GPU frame grabbing and debugging. + +``--debug-gpu-vulkan-local-read`` + Force Vulkan dynamic rendering local read when supported by device. + +``--debug-wm`` + Enable debug messages for the window manager, shows all operators in search, shows keymap errors. + +``--debug-xr`` + Enable debug messages for virtual reality contexts. + Enables the OpenXR API validation layer, (OpenXR) debug messages and general information prints. + +``--debug-xr-time`` + Enable debug messages for virtual reality frame rendering times. + +``--debug-all`` + Enable all debug messages. + +``--debug-io`` + Enable debug messages for I/O. + + +``--debug-fpe`` + Enable floating-point exceptions. + +``--debug-exit-on-error`` + Immediately exit when internal errors are detected. + +``--debug-freestyle`` + Enable debug messages for Freestyle. + +``--disable-crash-handler`` + Disable the crash handler. + +``--disable-abort-handler`` + Disable the abort handler. + +``--verbose`` ```` + Set the logging verbosity level for debug messages that support it. + +``-q``, ``--quiet`` + Suppress status printing (warnings & errors are still printed). + + +.. _command-line-args-gpu-options: + +GPU Options +=========== + +``--gpu-backend`` + Force to use a specific GPU backend. Valid options: ``vulkan``, ``metal``, ``opengl``. + +``--gpu-vsync`` + Set the VSync. + Valid options are: ``on``, ``off`` & ``auto`` for adaptive sync. + + * The default settings depend on the GPU driver. + * Disabling VSync can be useful for testing performance. + * ``auto`` is only supported by the OpenGL backend. + +``--gpu-compilation-subprocesses`` + Override the Max Compilation Subprocesses setting (OpenGL only). + +``--profile-gpu`` + Enable CPU & GPU performance profiling for GPU debug groups + (Outputs a profile.json file in the Trace Event Format to the current directory) + + +.. _command-line-args-misc-options: + +Misc Options +============ + +``--open-last`` + Open the most recently opened blend file, instead of the default startup file. + +``--app-template`` ``